From ad10487d31a6421d2d8c0976319b67d54650778b Mon Sep 17 00:00:00 2001 From: Nathan Pepper Date: Sat, 28 Oct 2023 06:53:24 +0000 Subject: [PATCH 1/5] sfdx version of apex-mdapi repo plus new app, tab, lwc, and controller for metadata browser --- sfdx-project/.eslintignore | 16 + sfdx-project/.forceignore | 12 + sfdx-project/.gitignore | 45 + sfdx-project/.husky/pre-commit | 4 + sfdx-project/.prettierignore | 10 + sfdx-project/.prettierrc | 13 + sfdx-project/.vscode/extensions.json | 9 + sfdx-project/.vscode/launch.json | 16 + sfdx-project/.vscode/settings.json | 7 + sfdx-project/README.md | 18 + sfdx-project/config/project-scratch-def.json | 13 + .../applications/Metadata_API.app-meta.xml | 21 + .../main/default/aura/.eslintrc.json | 8 + .../classes/MetadataBrowserLwcController.cls | 50 + .../MetadataBrowserLwcController.cls-meta.xml | 5 + .../classes/MetadataDataController.cls | 117 + .../MetadataDataController.cls-meta.xml | 5 + .../classes/MetadataDeployController.cls | 119 + .../MetadataDeployController.cls-meta.xml | 5 + .../classes/MetadataRetrieveController.cls | 200 + .../MetadataRetrieveController.cls-meta.xml | 5 + .../main/default/classes/MetadataService.cls | 13535 ++ .../classes/MetadataService.cls-meta.xml | 5 + .../classes/MetadataServiceExamples.cls | 1716 + .../MetadataServiceExamples.cls-meta.xml | 5 + .../classes/MetadataServicePatcher.cls | 647 + .../MetadataServicePatcher.cls-meta.xml | 5 + .../default/classes/MetadataServiceTest.cls | 1359 + .../classes/MetadataServiceTest.cls-meta.xml | 5 + .../classes/RemoteSiteHelperController.cls | 63 + .../RemoteSiteHelperController.cls-meta.xml | 5 + .../default/classes/RemoteSiteHelperTest.cls | 35 + .../classes/RemoteSiteHelperTest.cls-meta.xml | 5 + .../components/remotesitehelper.component | 80 + .../remotesitehelper.component-meta.xml | 5 + .../main/default/components/unzip.component | 66 + .../components/unzip.component-meta.xml | 5 + .../main/default/components/zip.component | 46 + .../default/components/zip.component-meta.xml | 5 + .../default/components/zipEntry.component | 34 + .../components/zipEntry.component-meta.xml | 5 + ...dataServicePatcher.documentFolder-meta.xml | 6 + .../force-app/main/default/lwc/.eslintrc.json | 14 + .../lwc/metadataBrowser/metadataBrowser.html | 12 + .../lwc/metadataBrowser/metadataBrowser.js | 102 + .../metadataBrowser.js-meta.xml | 9 + .../main/default/pages/metadatabrowser.page | 90 + .../pages/metadatabrowser.page-meta.xml | 5 + .../main/default/pages/metadatadata.page | 28 + .../default/pages/metadatadata.page-meta.xml | 5 + .../main/default/pages/metadatadeploy.page | 49 + .../pages/metadatadeploy.page-meta.xml | 5 + .../main/default/pages/metadataretrieve.page | 81 + .../pages/metadataretrieve.page-meta.xml | 5 + .../main/default/pages/remotesitepage.page | 10 + .../pages/remotesitepage.page-meta.xml | 5 + .../main/default/pages/sessionid.page | 3 + .../default/pages/sessionid.page-meta.xml | 5 + .../Apex_Metadata_API.permissionset-meta.xml | 65 + .../staticresources/extjs.resource-meta.xml | 5 + .../extjs/__MACOSX/._ext-all-debug.js | Bin 0 -> 244 bytes .../extjs/__MACOSX/._resources | Bin 0 -> 244 bytes .../extjs/__MACOSX/resources/._.DS_Store | Bin 0 -> 82 bytes .../extjs/__MACOSX/resources/._css | Bin 0 -> 244 bytes .../extjs/__MACOSX/resources/._themes | Bin 0 -> 244 bytes .../extjs/__MACOSX/resources/css/._.DS_Store | Bin 0 -> 82 bytes .../__MACOSX/resources/css/._ext-all.css | Bin 0 -> 244 bytes .../__MACOSX/resources/themes/._.DS_Store | Bin 0 -> 82 bytes .../extjs/__MACOSX/resources/themes/._images | Bin 0 -> 244 bytes .../__MACOSX/resources/themes/images/._access | Bin 0 -> 244 bytes .../resources/themes/images/._default | Bin 0 -> 244 bytes .../__MACOSX/resources/themes/images/._gray | Bin 0 -> 244 bytes .../resources/themes/images/._neptune | Bin 0 -> 244 bytes .../themes/images/access/._boundlist | Bin 0 -> 244 bytes .../resources/themes/images/access/._box | Bin 0 -> 244 bytes .../resources/themes/images/access/._btn | Bin 0 -> 244 bytes .../themes/images/access/._btn-group | Bin 0 -> 244 bytes .../resources/themes/images/access/._button | Bin 0 -> 244 bytes .../themes/images/access/._datepicker | Bin 0 -> 244 bytes .../resources/themes/images/access/._dd | Bin 0 -> 244 bytes .../resources/themes/images/access/._editor | Bin 0 -> 244 bytes .../resources/themes/images/access/._form | Bin 0 -> 244 bytes .../themes/images/access/._form-invalid-tip | Bin 0 -> 244 bytes .../resources/themes/images/access/._grid | Bin 0 -> 244 bytes .../resources/themes/images/access/._layout | Bin 0 -> 244 bytes .../resources/themes/images/access/._menu | Bin 0 -> 244 bytes .../resources/themes/images/access/._panel | Bin 0 -> 244 bytes .../themes/images/access/._panel-header | Bin 0 -> 244 bytes .../resources/themes/images/access/._progress | Bin 0 -> 244 bytes .../resources/themes/images/access/._qtip | Bin 0 -> 244 bytes .../resources/themes/images/access/._shared | Bin 0 -> 244 bytes .../resources/themes/images/access/._sizer | Bin 0 -> 244 bytes .../resources/themes/images/access/._slider | Bin 0 -> 244 bytes .../themes/images/access/._spinner.gif | Bin 0 -> 244 bytes .../resources/themes/images/access/._tab | Bin 0 -> 244 bytes .../resources/themes/images/access/._tab-bar | Bin 0 -> 244 bytes .../resources/themes/images/access/._tabs | Bin 0 -> 244 bytes .../resources/themes/images/access/._tip | Bin 0 -> 244 bytes .../resources/themes/images/access/._toolbar | Bin 0 -> 244 bytes .../resources/themes/images/access/._tools | Bin 0 -> 244 bytes .../resources/themes/images/access/._tree | Bin 0 -> 244 bytes .../resources/themes/images/access/._util | Bin 0 -> 244 bytes .../resources/themes/images/access/._window | Bin 0 -> 244 bytes .../themes/images/access/._window-header | Bin 0 -> 244 bytes .../access/boundlist/._trigger-arrow.png | Bin 0 -> 244 bytes .../images/access/box/._corners-blue.gif | Bin 0 -> 244 bytes .../themes/images/access/box/._corners.gif | Bin 0 -> 244 bytes .../themes/images/access/box/._l-blue.gif | Bin 0 -> 244 bytes .../themes/images/access/box/._l.gif | Bin 0 -> 244 bytes .../themes/images/access/box/._r-blue.gif | Bin 0 -> 244 bytes .../themes/images/access/box/._r.gif | Bin 0 -> 244 bytes .../themes/images/access/box/._tb-blue.gif | Bin 0 -> 244 bytes .../themes/images/access/box/._tb.gif | Bin 0 -> 244 bytes .../._btn-group-default-framed-corners.gif | Bin 0 -> 244 bytes ...n-group-default-framed-notitle-corners.gif | Bin 0 -> 244 bytes ...btn-group-default-framed-notitle-sides.gif | Bin 0 -> 244 bytes .../._btn-group-default-framed-sides.gif | Bin 0 -> 244 bytes .../btn-group/._btn-group-framed-corners.gif | Bin 0 -> 244 bytes .../._btn-group-framed-notitle-corners.gif | Bin 0 -> 244 bytes .../._btn-group-framed-notitle-sides.gif | Bin 0 -> 244 bytes .../btn-group/._btn-group-framed-sides.gif | Bin 0 -> 244 bytes .../access/btn/._btn-default-large-bg.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-disabled-bg.gif | Bin 0 -> 244 bytes .../._btn-default-large-disabled-corners.gif | Bin 0 -> 244 bytes .../._btn-default-large-disabled-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-focus-bg.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-focus-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-focus-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-over-bg.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-over-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-over-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-pressed-bg.gif | Bin 0 -> 244 bytes .../._btn-default-large-pressed-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-pressed-sides.gif | Bin 0 -> 244 bytes .../access/btn/._btn-default-large-sides.gif | Bin 0 -> 244 bytes .../access/btn/._btn-default-medium-bg.gif | Bin 0 -> 244 bytes .../btn/._btn-default-medium-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-medium-disabled-bg.gif | Bin 0 -> 244 bytes .../._btn-default-medium-disabled-corners.gif | Bin 0 -> 244 bytes .../._btn-default-medium-disabled-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-medium-focus-bg.gif | Bin 0 -> 244 bytes .../._btn-default-medium-focus-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-medium-focus-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-medium-over-bg.gif | Bin 0 -> 244 bytes .../btn/._btn-default-medium-over-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-medium-over-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-medium-pressed-bg.gif | Bin 0 -> 244 bytes .../._btn-default-medium-pressed-corners.gif | Bin 0 -> 244 bytes .../._btn-default-medium-pressed-sides.gif | Bin 0 -> 244 bytes .../access/btn/._btn-default-medium-sides.gif | Bin 0 -> 244 bytes .../access/btn/._btn-default-small-bg.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-disabled-bg.gif | Bin 0 -> 244 bytes .../._btn-default-small-disabled-corners.gif | Bin 0 -> 244 bytes .../._btn-default-small-disabled-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-focus-bg.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-focus-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-focus-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-over-bg.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-over-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-over-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-pressed-bg.gif | Bin 0 -> 244 bytes .../._btn-default-small-pressed-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-pressed-sides.gif | Bin 0 -> 244 bytes .../access/btn/._btn-default-small-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-large-corners.gif | Bin 0 -> 244 bytes ...default-toolbar-large-disabled-corners.gif | Bin 0 -> 244 bytes ...n-default-toolbar-large-disabled-sides.gif | Bin 0 -> 244 bytes ...tn-default-toolbar-large-focus-corners.gif | Bin 0 -> 244 bytes ..._btn-default-toolbar-large-focus-sides.gif | Bin 0 -> 244 bytes ...btn-default-toolbar-large-over-corners.gif | Bin 0 -> 244 bytes ...._btn-default-toolbar-large-over-sides.gif | Bin 0 -> 244 bytes ...-default-toolbar-large-pressed-corners.gif | Bin 0 -> 244 bytes ...tn-default-toolbar-large-pressed-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-toolbar-large-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-medium-corners.gif | Bin 0 -> 244 bytes ...efault-toolbar-medium-disabled-corners.gif | Bin 0 -> 244 bytes ...-default-toolbar-medium-disabled-sides.gif | Bin 0 -> 244 bytes ...n-default-toolbar-medium-focus-corners.gif | Bin 0 -> 244 bytes ...btn-default-toolbar-medium-focus-sides.gif | Bin 0 -> 244 bytes ...tn-default-toolbar-medium-over-corners.gif | Bin 0 -> 244 bytes ..._btn-default-toolbar-medium-over-sides.gif | Bin 0 -> 244 bytes ...default-toolbar-medium-pressed-corners.gif | Bin 0 -> 244 bytes ...n-default-toolbar-medium-pressed-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-medium-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-small-corners.gif | Bin 0 -> 244 bytes ...default-toolbar-small-disabled-corners.gif | Bin 0 -> 244 bytes ...n-default-toolbar-small-disabled-sides.gif | Bin 0 -> 244 bytes ...tn-default-toolbar-small-focus-corners.gif | Bin 0 -> 244 bytes ..._btn-default-toolbar-small-focus-sides.gif | Bin 0 -> 244 bytes ...btn-default-toolbar-small-over-corners.gif | Bin 0 -> 244 bytes ...._btn-default-toolbar-small-over-sides.gif | Bin 0 -> 244 bytes ...-default-toolbar-small-pressed-corners.gif | Bin 0 -> 244 bytes ...tn-default-toolbar-small-pressed-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-toolbar-small-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-toolbar-large-corners.gif | Bin 0 -> 244 bytes .../._btn-toolbar-large-disabled-corners.gif | Bin 0 -> 244 bytes .../._btn-toolbar-large-disabled-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-toolbar-large-focus-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-toolbar-large-focus-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-toolbar-large-over-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-toolbar-large-over-sides.gif | Bin 0 -> 244 bytes .../._btn-toolbar-large-pressed-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-toolbar-large-pressed-sides.gif | Bin 0 -> 244 bytes .../access/btn/._btn-toolbar-large-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-toolbar-medium-corners.gif | Bin 0 -> 244 bytes .../._btn-toolbar-medium-disabled-corners.gif | Bin 0 -> 244 bytes .../._btn-toolbar-medium-disabled-sides.gif | Bin 0 -> 244 bytes .../._btn-toolbar-medium-focus-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-toolbar-medium-focus-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-toolbar-medium-over-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-toolbar-medium-over-sides.gif | Bin 0 -> 244 bytes .../._btn-toolbar-medium-pressed-corners.gif | Bin 0 -> 244 bytes .../._btn-toolbar-medium-pressed-sides.gif | Bin 0 -> 244 bytes .../access/btn/._btn-toolbar-medium-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-toolbar-small-corners.gif | Bin 0 -> 244 bytes .../._btn-toolbar-small-disabled-corners.gif | Bin 0 -> 244 bytes .../._btn-toolbar-small-disabled-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-toolbar-small-focus-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-toolbar-small-focus-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-toolbar-small-over-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-toolbar-small-over-sides.gif | Bin 0 -> 244 bytes .../._btn-toolbar-small-pressed-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-toolbar-small-pressed-sides.gif | Bin 0 -> 244 bytes .../access/btn/._btn-toolbar-small-sides.gif | Bin 0 -> 244 bytes .../themes/images/access/button/._arrow.gif | Bin 0 -> 244 bytes .../themes/images/access/button/._btn.gif | Bin 0 -> 244 bytes .../images/access/button/._group-cs.gif | Bin 0 -> 244 bytes .../images/access/button/._group-lr.gif | Bin 0 -> 244 bytes .../images/access/button/._group-tb.gif | Bin 0 -> 244 bytes .../access/button/._s-arrow-b-noline.gif | Bin 0 -> 244 bytes .../images/access/button/._s-arrow-b.gif | Bin 0 -> 244 bytes .../images/access/button/._s-arrow-bo.gif | Bin 0 -> 244 bytes .../images/access/button/._s-arrow-light.gif | Bin 0 -> 244 bytes .../images/access/button/._s-arrow-noline.gif | Bin 0 -> 244 bytes .../images/access/button/._s-arrow-o.gif | Bin 0 -> 244 bytes .../themes/images/access/button/._s-arrow.gif | Bin 0 -> 244 bytes .../datepicker/._datepicker-footer-bg.gif | Bin 0 -> 244 bytes .../datepicker/._datepicker-header-bg.gif | Bin 0 -> 244 bytes .../themes/images/access/dd/._drop-add.gif | Bin 0 -> 244 bytes .../images/access/dd/._drop-between.gif | Bin 0 -> 244 bytes .../themes/images/access/dd/._drop-no.gif | Bin 0 -> 244 bytes .../themes/images/access/dd/._drop-over.gif | Bin 0 -> 244 bytes .../themes/images/access/dd/._drop-under.gif | Bin 0 -> 244 bytes .../themes/images/access/dd/._drop-yes.gif | Bin 0 -> 244 bytes .../images/access/editor/._tb-sprite.gif | Bin 0 -> 244 bytes .../._form-invalid-tip-default-corners.gif | Bin 0 -> 244 bytes .../._form-invalid-tip-default-sides.gif | Bin 0 -> 244 bytes .../themes/images/access/form/._checkbox.gif | Bin 0 -> 244 bytes .../themes/images/access/form/._checkbox_.gif | Bin 0 -> 244 bytes .../images/access/form/._clear-trigger.gif | Bin 0 -> 244 bytes .../images/access/form/._date-trigger.gif | Bin 0 -> 244 bytes .../access/form/._error-tip-corners.gif | Bin 0 -> 244 bytes .../images/access/form/._exclamation.gif | Bin 0 -> 244 bytes .../themes/images/access/form/._radio.gif | Bin 0 -> 244 bytes .../themes/images/access/form/._radio_.gif | Bin 0 -> 244 bytes .../images/access/form/._search-trigger.gif | Bin 0 -> 244 bytes .../images/access/form/._spinner-small.gif | Bin 0 -> 244 bytes .../themes/images/access/form/._spinner.gif | Bin 0 -> 244 bytes .../themes/images/access/form/._spinner_.gif | Bin 0 -> 244 bytes .../themes/images/access/form/._text-bg.gif | Bin 0 -> 244 bytes .../images/access/form/._trigger-tpl.gif | Bin 0 -> 244 bytes .../themes/images/access/form/._trigger.gif | Bin 0 -> 244 bytes .../images/access/grid/._arrow-left-white.gif | Bin 0 -> 244 bytes .../access/grid/._arrow-right-white.gif | Bin 0 -> 244 bytes .../images/access/grid/._cell-special-bg.gif | Bin 0 -> 244 bytes .../grid/._cell-special-selected-bg.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._checked.gif | Bin 0 -> 244 bytes .../images/access/grid/._col-move-bottom.gif | Bin 0 -> 244 bytes .../images/access/grid/._col-move-top.gif | Bin 0 -> 244 bytes .../images/access/grid/._column-header-bg.gif | Bin 0 -> 244 bytes .../access/grid/._column-header-over-bg.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._columns.gif | Bin 0 -> 244 bytes .../access/grid/._dd-insert-arrow-left.gif | Bin 0 -> 244 bytes .../access/grid/._dd-insert-arrow-left.png | Bin 0 -> 244 bytes .../access/grid/._dd-insert-arrow-right.gif | Bin 0 -> 244 bytes .../access/grid/._dd-insert-arrow-right.png | Bin 0 -> 244 bytes .../themes/images/access/grid/._dirty.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._done.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._drop-no.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._drop-yes.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._footer-bg.gif | Bin 0 -> 244 bytes .../images/access/grid/._grid-blue-hd.gif | Bin 0 -> 244 bytes .../images/access/grid/._grid-blue-split.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._grid-hrow.gif | Bin 0 -> 244 bytes .../images/access/grid/._grid-loading.gif | Bin 0 -> 244 bytes .../images/access/grid/._grid-split.gif | Bin 0 -> 244 bytes .../images/access/grid/._grid-vista-hd.gif | Bin 0 -> 244 bytes .../images/access/grid/._grid3-hd-btn.gif | Bin 0 -> 244 bytes .../images/access/grid/._grid3-hrow-over.gif | Bin 0 -> 244 bytes .../images/access/grid/._grid3-hrow.gif | Bin 0 -> 244 bytes .../access/grid/._grid3-special-col-bg.gif | Bin 0 -> 244 bytes .../grid/._grid3-special-col-sel-bg.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._group-by.gif | Bin 0 -> 244 bytes .../images/access/grid/._group-collapse.gif | Bin 0 -> 244 bytes .../access/grid/._group-expand-sprite.gif | Bin 0 -> 244 bytes .../images/access/grid/._group-expand.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._hd-pop.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._hmenu-asc.gif | Bin 0 -> 244 bytes .../images/access/grid/._hmenu-desc.gif | Bin 0 -> 244 bytes .../images/access/grid/._hmenu-lock.gif | Bin 0 -> 244 bytes .../images/access/grid/._hmenu-lock.png | Bin 0 -> 244 bytes .../images/access/grid/._hmenu-unlock.gif | Bin 0 -> 244 bytes .../images/access/grid/._hmenu-unlock.png | Bin 0 -> 244 bytes .../images/access/grid/._invalid_line.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._loading.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._mso-hd.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._nowait.gif | Bin 0 -> 244 bytes .../access/grid/._page-first-disabled.gif | Bin 0 -> 244 bytes .../images/access/grid/._page-first.gif | Bin 0 -> 244 bytes .../access/grid/._page-last-disabled.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._page-last.gif | Bin 0 -> 244 bytes .../access/grid/._page-next-disabled.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._page-next.gif | Bin 0 -> 244 bytes .../access/grid/._page-prev-disabled.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._page-prev.gif | Bin 0 -> 244 bytes .../images/access/grid/._pick-button.gif | Bin 0 -> 244 bytes .../images/access/grid/._property-cell-bg.gif | Bin 0 -> 244 bytes .../images/access/grid/._refresh-disabled.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._refresh.gif | Bin 0 -> 244 bytes .../images/access/grid/._row-check-sprite.gif | Bin 0 -> 244 bytes .../access/grid/._row-expand-sprite.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._row-over.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._row-sel.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._sort-hd.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._sort_asc.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._sort_desc.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._unchecked.gif | Bin 0 -> 244 bytes .../themes/images/access/grid/._wait.gif | Bin 0 -> 244 bytes .../images/access/layout/._mini-bottom.gif | Bin 0 -> 244 bytes .../images/access/layout/._mini-left.gif | Bin 0 -> 244 bytes .../images/access/layout/._mini-right.gif | Bin 0 -> 244 bytes .../images/access/layout/._mini-top.gif | Bin 0 -> 244 bytes .../themes/images/access/menu/._checked.gif | Bin 0 -> 244 bytes .../images/access/menu/._group-checked.gif | Bin 0 -> 244 bytes .../themes/images/access/menu/._item-over.gif | Bin 0 -> 244 bytes .../access/menu/._menu-item-active-bg.gif | Bin 0 -> 244 bytes .../menu/._menu-item-active-corners.gif | Bin 0 -> 244 bytes .../access/menu/._menu-item-active-sides.gif | Bin 0 -> 244 bytes .../images/access/menu/._menu-parent.gif | Bin 0 -> 244 bytes .../themes/images/access/menu/._menu.gif | Bin 0 -> 244 bytes .../themes/images/access/menu/._unchecked.gif | Bin 0 -> 244 bytes .../access/panel-header/._panel-header-bg.gif | Bin 0 -> 244 bytes .../._panel-header-default-bottom-bg.gif | Bin 0 -> 244 bytes ..._panel-header-default-framed-bottom-bg.gif | Bin 0 -> 244 bytes ...l-header-default-framed-bottom-corners.gif | Bin 0 -> 244 bytes ...ader-default-framed-bottom-noborder-bg.gif | Bin 0 -> 244 bytes ...default-framed-bottom-noborder-corners.gif | Bin 0 -> 244 bytes ...r-default-framed-bottom-noborder-sides.gif | Bin 0 -> 244 bytes ...nel-header-default-framed-bottom-sides.gif | Bin 0 -> 244 bytes ...der-default-framed-collapsed-bottom-bg.gif | Bin 0 -> 244 bytes ...efault-framed-collapsed-bottom-corners.gif | Bin 0 -> 244 bytes ...-default-framed-collapsed-bottom-sides.gif | Bin 0 -> 244 bytes ...eader-default-framed-collapsed-left-bg.gif | Bin 0 -> 244 bytes ...-default-framed-collapsed-left-corners.gif | Bin 0 -> 244 bytes ...er-default-framed-collapsed-left-sides.gif | Bin 0 -> 244 bytes ...ader-default-framed-collapsed-right-bg.gif | Bin 0 -> 244 bytes ...default-framed-collapsed-right-corners.gif | Bin 0 -> 244 bytes ...r-default-framed-collapsed-right-sides.gif | Bin 0 -> 244 bytes ...header-default-framed-collapsed-top-bg.gif | Bin 0 -> 244 bytes ...r-default-framed-collapsed-top-corners.gif | Bin 0 -> 244 bytes ...der-default-framed-collapsed-top-sides.gif | Bin 0 -> 244 bytes .../._panel-header-default-framed-left-bg.gif | Bin 0 -> 244 bytes ...nel-header-default-framed-left-corners.gif | Bin 0 -> 244 bytes ...header-default-framed-left-noborder-bg.gif | Bin 0 -> 244 bytes ...r-default-framed-left-noborder-corners.gif | Bin 0 -> 244 bytes ...der-default-framed-left-noborder-sides.gif | Bin 0 -> 244 bytes ...panel-header-default-framed-left-sides.gif | Bin 0 -> 244 bytes ...._panel-header-default-framed-right-bg.gif | Bin 0 -> 244 bytes ...el-header-default-framed-right-corners.gif | Bin 0 -> 244 bytes ...eader-default-framed-right-noborder-bg.gif | Bin 0 -> 244 bytes ...-default-framed-right-noborder-corners.gif | Bin 0 -> 244 bytes ...er-default-framed-right-noborder-sides.gif | Bin 0 -> 244 bytes ...anel-header-default-framed-right-sides.gif | Bin 0 -> 244 bytes .../._panel-header-default-framed-top-bg.gif | Bin 0 -> 244 bytes ...anel-header-default-framed-top-corners.gif | Bin 0 -> 244 bytes ...-header-default-framed-top-noborder-bg.gif | Bin 0 -> 244 bytes ...er-default-framed-top-noborder-corners.gif | Bin 0 -> 244 bytes ...ader-default-framed-top-noborder-sides.gif | Bin 0 -> 244 bytes ..._panel-header-default-framed-top-sides.gif | Bin 0 -> 244 bytes .../._panel-header-default-left-bg.gif | Bin 0 -> 244 bytes .../._panel-header-default-right-bg.gif | Bin 0 -> 244 bytes .../._panel-header-default-top-bg.gif | Bin 0 -> 244 bytes .../panel-header/._panel-header-framed-bg.gif | Bin 0 -> 244 bytes .../._panel-header-framed-corners.gif | Bin 0 -> 244 bytes .../._panel-header-framed-sides.gif | Bin 0 -> 244 bytes .../._panel-header-vertical-bg.gif | Bin 0 -> 244 bytes .../images/access/panel/._corners-sprite.gif | Bin 0 -> 244 bytes .../images/access/panel/._left-right.gif | Bin 0 -> 244 bytes .../themes/images/access/panel/._light-hd.gif | Bin 0 -> 244 bytes .../panel/._panel-default-framed-corners.gif | Bin 0 -> 244 bytes ..._panel-default-framed-noborder-corners.gif | Bin 0 -> 244 bytes .../._panel-default-framed-noborder-sides.gif | Bin 0 -> 244 bytes .../panel/._panel-default-framed-sides.gif | Bin 0 -> 244 bytes .../access/panel/._panel-framed-corners.gif | Bin 0 -> 244 bytes .../access/panel/._panel-framed-sides.gif | Bin 0 -> 244 bytes .../images/access/panel/._tool-sprite-tpl.gif | Bin 0 -> 244 bytes .../images/access/panel/._tool-sprites.gif | Bin 0 -> 244 bytes .../access/panel/._tools-sprites-trans.gif | Bin 0 -> 244 bytes .../images/access/panel/._top-bottom.gif | Bin 0 -> 244 bytes .../access/panel/._white-corners-sprite.gif | Bin 0 -> 244 bytes .../access/panel/._white-left-right.gif | Bin 0 -> 244 bytes .../access/panel/._white-top-bottom.gif | Bin 0 -> 244 bytes .../access/progress/._progress-default-bg.gif | Bin 0 -> 244 bytes .../themes/images/access/qtip/._close.gif | Bin 0 -> 244 bytes .../access/qtip/._tip-anchor-sprite.gif | Bin 0 -> 244 bytes .../images/access/qtip/._tip-sprite.gif | Bin 0 -> 244 bytes .../images/access/shared/._blue-loading.gif | Bin 0 -> 244 bytes .../images/access/shared/._glass-bg.gif | Bin 0 -> 244 bytes .../images/access/shared/._hd-sprite.gif | Bin 0 -> 244 bytes .../images/access/shared/._icon-error.gif | Bin 0 -> 244 bytes .../images/access/shared/._icon-info.gif | Bin 0 -> 244 bytes .../images/access/shared/._icon-question.gif | Bin 0 -> 244 bytes .../images/access/shared/._icon-warning.gif | Bin 0 -> 244 bytes .../images/access/shared/._large-loading.gif | Bin 0 -> 244 bytes .../images/access/shared/._left-btn.gif | Bin 0 -> 244 bytes .../images/access/shared/._right-btn.gif | Bin 0 -> 244 bytes .../images/access/sizer/._e-handle-dark.gif | Bin 0 -> 244 bytes .../themes/images/access/sizer/._e-handle.gif | Bin 0 -> 244 bytes .../images/access/sizer/._ne-handle-dark.gif | Bin 0 -> 244 bytes .../images/access/sizer/._ne-handle.gif | Bin 0 -> 244 bytes .../images/access/sizer/._nw-handle-dark.gif | Bin 0 -> 244 bytes .../images/access/sizer/._nw-handle.gif | Bin 0 -> 244 bytes .../images/access/sizer/._s-handle-dark.gif | Bin 0 -> 244 bytes .../themes/images/access/sizer/._s-handle.gif | Bin 0 -> 244 bytes .../images/access/sizer/._se-handle-dark.gif | Bin 0 -> 244 bytes .../images/access/sizer/._se-handle.gif | Bin 0 -> 244 bytes .../themes/images/access/sizer/._square.gif | Bin 0 -> 244 bytes .../images/access/sizer/._sw-handle-dark.gif | Bin 0 -> 244 bytes .../images/access/sizer/._sw-handle.gif | Bin 0 -> 244 bytes .../images/access/slider/._slider-bg.gif | Bin 0 -> 244 bytes .../images/access/slider/._slider-bg.png | Bin 0 -> 244 bytes .../images/access/slider/._slider-thumb.gif | Bin 0 -> 244 bytes .../images/access/slider/._slider-thumb.png | Bin 0 -> 244 bytes .../images/access/slider/._slider-v-bg.gif | Bin 0 -> 244 bytes .../images/access/slider/._slider-v-bg.png | Bin 0 -> 244 bytes .../images/access/slider/._slider-v-thumb.gif | Bin 0 -> 244 bytes .../images/access/slider/._slider-v-thumb.png | Bin 0 -> 244 bytes .../images/access/tab-bar/._scroll-left.gif | Bin 0 -> 244 bytes .../images/access/tab-bar/._scroll-right.gif | Bin 0 -> 244 bytes .../access/tab-bar/._tab-bar-default-bg.gif | Bin 0 -> 244 bytes .../tab/._tab-bottom-active-corners.gif | Bin 0 -> 244 bytes .../access/tab/._tab-bottom-active-sides.gif | Bin 0 -> 244 bytes .../access/tab/._tab-bottom-corners.gif | Bin 0 -> 244 bytes .../tab/._tab-bottom-disabled-corners.gif | Bin 0 -> 244 bytes .../tab/._tab-bottom-disabled-sides.gif | Bin 0 -> 244 bytes .../access/tab/._tab-bottom-over-corners.gif | Bin 0 -> 244 bytes .../access/tab/._tab-bottom-over-sides.gif | Bin 0 -> 244 bytes .../images/access/tab/._tab-bottom-sides.gif | Bin 0 -> 244 bytes .../._tab-default-bottom-active-corners.gif | Bin 0 -> 244 bytes .../tab/._tab-default-bottom-active-sides.gif | Bin 0 -> 244 bytes .../tab/._tab-default-bottom-corners.gif | Bin 0 -> 244 bytes .../._tab-default-bottom-disabled-corners.gif | Bin 0 -> 244 bytes .../._tab-default-bottom-disabled-sides.gif | Bin 0 -> 244 bytes .../tab/._tab-default-bottom-over-corners.gif | Bin 0 -> 244 bytes .../tab/._tab-default-bottom-over-sides.gif | Bin 0 -> 244 bytes .../access/tab/._tab-default-bottom-sides.gif | Bin 0 -> 244 bytes .../tab/._tab-default-top-active-corners.gif | Bin 0 -> 244 bytes .../tab/._tab-default-top-active-sides.gif | Bin 0 -> 244 bytes .../access/tab/._tab-default-top-corners.gif | Bin 0 -> 244 bytes .../._tab-default-top-disabled-corners.gif | Bin 0 -> 244 bytes .../tab/._tab-default-top-disabled-sides.gif | Bin 0 -> 244 bytes .../tab/._tab-default-top-over-corners.gif | Bin 0 -> 244 bytes .../tab/._tab-default-top-over-sides.gif | Bin 0 -> 244 bytes .../access/tab/._tab-default-top-sides.gif | Bin 0 -> 244 bytes .../access/tab/._tab-top-active-corners.gif | Bin 0 -> 244 bytes .../access/tab/._tab-top-active-sides.gif | Bin 0 -> 244 bytes .../images/access/tab/._tab-top-corners.gif | Bin 0 -> 244 bytes .../access/tab/._tab-top-disabled-corners.gif | Bin 0 -> 244 bytes .../access/tab/._tab-top-disabled-sides.gif | Bin 0 -> 244 bytes .../access/tab/._tab-top-over-corners.gif | Bin 0 -> 244 bytes .../access/tab/._tab-top-over-sides.gif | Bin 0 -> 244 bytes .../images/access/tab/._tab-top-sides.gif | Bin 0 -> 244 bytes .../tabs/._tab-btm-inactive-left-bg.gif | Bin 0 -> 244 bytes .../tabs/._tab-btm-inactive-right-bg.gif | Bin 0 -> 244 bytes .../images/access/tabs/._tab-btm-left-bg.gif | Bin 0 -> 244 bytes .../images/access/tabs/._tab-btm-right-bg.gif | Bin 0 -> 244 bytes .../themes/images/access/tabs/._tab-close.gif | Bin 0 -> 244 bytes .../images/access/tabs/._tab-strip-bg.gif | Bin 0 -> 244 bytes .../images/access/tabs/._tab-strip-btm-bg.gif | Bin 0 -> 244 bytes .../images/access/tabs/._tabs-sprite.gif | Bin 0 -> 244 bytes .../images/access/tip/._tip-corners.gif | Bin 0 -> 244 bytes .../images/access/tip/._tip-corners.png | Bin 0 -> 244 bytes .../themes/images/access/tip/._tip-sides.gif | Bin 0 -> 244 bytes .../themes/images/access/tip/._tip-sides.png | Bin 0 -> 244 bytes .../themes/images/access/toolbar/._bg.gif | Bin 0 -> 244 bytes .../access/toolbar/._btn-arrow-light.gif | Bin 0 -> 244 bytes .../images/access/toolbar/._btn-arrow.gif | Bin 0 -> 244 bytes .../images/access/toolbar/._btn-over-bg.gif | Bin 0 -> 244 bytes .../images/access/toolbar/._gray-bg.gif | Bin 0 -> 244 bytes .../themes/images/access/toolbar/._more.gif | Bin 0 -> 244 bytes .../images/access/toolbar/._s-arrow-bo.gif | Bin 0 -> 244 bytes .../images/access/toolbar/._scroll-left.gif | Bin 0 -> 244 bytes .../images/access/toolbar/._scroll-right.gif | Bin 0 -> 244 bytes .../images/access/toolbar/._tb-btn-sprite.gif | Bin 0 -> 244 bytes .../access/toolbar/._tb-xl-btn-sprite.gif | Bin 0 -> 244 bytes .../images/access/toolbar/._tb-xl-sep.gif | Bin 0 -> 244 bytes .../access/toolbar/._toolbar-default-bg.gif | Bin 0 -> 244 bytes .../images/access/tools/._tool-sprite-tpl.gif | Bin 0 -> 244 bytes .../images/access/tools/._tool-sprites.gif | Bin 0 -> 244 bytes .../access/tools/._tools-sprites-trans.gif | Bin 0 -> 244 bytes .../themes/images/access/tree/._arrows.gif | Bin 0 -> 244 bytes .../images/access/tree/._drop-above.gif | Bin 0 -> 244 bytes .../themes/images/access/tree/._drop-add.gif | Bin 0 -> 244 bytes .../images/access/tree/._drop-append.gif | Bin 0 -> 244 bytes .../images/access/tree/._drop-below.gif | Bin 0 -> 244 bytes .../images/access/tree/._drop-between.gif | Bin 0 -> 244 bytes .../themes/images/access/tree/._drop-no.gif | Bin 0 -> 244 bytes .../themes/images/access/tree/._drop-over.gif | Bin 0 -> 244 bytes .../images/access/tree/._drop-under.gif | Bin 0 -> 244 bytes .../themes/images/access/tree/._drop-yes.gif | Bin 0 -> 244 bytes .../access/tree/._elbow-end-minus-nl.gif | Bin 0 -> 244 bytes .../images/access/tree/._elbow-end-minus.gif | Bin 0 -> 244 bytes .../access/tree/._elbow-end-plus-nl.gif | Bin 0 -> 244 bytes .../images/access/tree/._elbow-end-plus.gif | Bin 0 -> 244 bytes .../themes/images/access/tree/._elbow-end.gif | Bin 0 -> 244 bytes .../images/access/tree/._elbow-line.gif | Bin 0 -> 244 bytes .../images/access/tree/._elbow-minus-nl.gif | Bin 0 -> 244 bytes .../images/access/tree/._elbow-minus.gif | Bin 0 -> 244 bytes .../images/access/tree/._elbow-plus-nl.gif | Bin 0 -> 244 bytes .../images/access/tree/._elbow-plus.gif | Bin 0 -> 244 bytes .../themes/images/access/tree/._elbow.gif | Bin 0 -> 244 bytes .../images/access/tree/._folder-open.gif | Bin 0 -> 244 bytes .../themes/images/access/tree/._folder.gif | Bin 0 -> 244 bytes .../themes/images/access/tree/._leaf.gif | Bin 0 -> 244 bytes .../themes/images/access/tree/._loading.gif | Bin 0 -> 244 bytes .../themes/images/access/tree/._s.gif | Bin 0 -> 244 bytes .../themes/images/access/util/._splitter | Bin 0 -> 244 bytes .../access/util/splitter/._mini-bottom.gif | Bin 0 -> 244 bytes .../access/util/splitter/._mini-left.gif | Bin 0 -> 244 bytes .../access/util/splitter/._mini-right.gif | Bin 0 -> 244 bytes .../access/util/splitter/._mini-top.gif | Bin 0 -> 244 bytes ...._window-header-default-bottom-corners.gif | Bin 0 -> 244 bytes .../._window-header-default-bottom-sides.gif | Bin 0 -> 244 bytes ...eader-default-collapsed-bottom-corners.gif | Bin 0 -> 244 bytes ...-header-default-collapsed-bottom-sides.gif | Bin 0 -> 244 bytes ...-header-default-collapsed-left-corners.gif | Bin 0 -> 244 bytes ...ow-header-default-collapsed-left-sides.gif | Bin 0 -> 244 bytes ...header-default-collapsed-right-corners.gif | Bin 0 -> 244 bytes ...w-header-default-collapsed-right-sides.gif | Bin 0 -> 244 bytes ...w-header-default-collapsed-top-corners.gif | Bin 0 -> 244 bytes ...dow-header-default-collapsed-top-sides.gif | Bin 0 -> 244 bytes .../._window-header-default-left-corners.gif | Bin 0 -> 244 bytes .../._window-header-default-left-sides.gif | Bin 0 -> 244 bytes .../._window-header-default-right-corners.gif | Bin 0 -> 244 bytes .../._window-header-default-right-sides.gif | Bin 0 -> 244 bytes .../._window-header-default-top-corners.gif | Bin 0 -> 244 bytes .../._window-header-default-top-sides.gif | Bin 0 -> 244 bytes .../images/access/window/._icon-error.gif | Bin 0 -> 244 bytes .../images/access/window/._icon-info.gif | Bin 0 -> 244 bytes .../images/access/window/._icon-question.gif | Bin 0 -> 244 bytes .../images/access/window/._icon-warning.gif | Bin 0 -> 244 bytes .../images/access/window/._window-corners.gif | Bin 0 -> 244 bytes .../window/._window-default-corners.gif | Bin 0 -> 244 bytes .../access/window/._window-default-sides.gif | Bin 0 -> 244 bytes .../images/access/window/._window-sides.gif | Bin 0 -> 244 bytes .../themes/images/default/._boundlist | Bin 0 -> 244 bytes .../resources/themes/images/default/._box | Bin 0 -> 244 bytes .../resources/themes/images/default/._btn | Bin 0 -> 244 bytes .../themes/images/default/._btn-group | Bin 0 -> 244 bytes .../resources/themes/images/default/._button | Bin 0 -> 244 bytes .../themes/images/default/._datepicker | Bin 0 -> 244 bytes .../resources/themes/images/default/._dd | Bin 0 -> 244 bytes .../resources/themes/images/default/._editor | Bin 0 -> 244 bytes .../resources/themes/images/default/._form | Bin 0 -> 244 bytes .../themes/images/default/._form-invalid-tip | Bin 0 -> 244 bytes .../resources/themes/images/default/._grid | Bin 0 -> 244 bytes .../resources/themes/images/default/._layout | Bin 0 -> 244 bytes .../resources/themes/images/default/._menu | Bin 0 -> 244 bytes .../resources/themes/images/default/._panel | Bin 0 -> 244 bytes .../themes/images/default/._panel-header | Bin 0 -> 244 bytes .../themes/images/default/._progress | Bin 0 -> 244 bytes .../resources/themes/images/default/._shared | Bin 0 -> 244 bytes .../resources/themes/images/default/._sizer | Bin 0 -> 244 bytes .../resources/themes/images/default/._slider | Bin 0 -> 244 bytes .../resources/themes/images/default/._tab | Bin 0 -> 244 bytes .../resources/themes/images/default/._tab-bar | Bin 0 -> 244 bytes .../resources/themes/images/default/._tip | Bin 0 -> 244 bytes .../resources/themes/images/default/._toolbar | Bin 0 -> 244 bytes .../resources/themes/images/default/._tools | Bin 0 -> 244 bytes .../resources/themes/images/default/._tree | Bin 0 -> 244 bytes .../resources/themes/images/default/._util | Bin 0 -> 244 bytes .../resources/themes/images/default/._window | Bin 0 -> 244 bytes .../themes/images/default/._window-header | Bin 0 -> 244 bytes .../default/boundlist/._trigger-arrow.png | Bin 0 -> 244 bytes .../images/default/box/._corners-blue.gif | Bin 0 -> 244 bytes .../themes/images/default/box/._corners.gif | Bin 0 -> 244 bytes .../themes/images/default/box/._l-blue.gif | Bin 0 -> 244 bytes .../themes/images/default/box/._l.gif | Bin 0 -> 244 bytes .../themes/images/default/box/._r-blue.gif | Bin 0 -> 244 bytes .../themes/images/default/box/._r.gif | Bin 0 -> 244 bytes .../themes/images/default/box/._tb-blue.gif | Bin 0 -> 244 bytes .../themes/images/default/box/._tb.gif | Bin 0 -> 244 bytes .../._btn-group-default-framed-corners.gif | Bin 0 -> 244 bytes ...n-group-default-framed-notitle-corners.gif | Bin 0 -> 244 bytes ...btn-group-default-framed-notitle-sides.gif | Bin 0 -> 244 bytes .../._btn-group-default-framed-sides.gif | Bin 0 -> 244 bytes .../default/btn/._btn-default-large-bg.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-disabled-bg.gif | Bin 0 -> 244 bytes .../._btn-default-large-disabled-corners.gif | Bin 0 -> 244 bytes .../._btn-default-large-disabled-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-focus-bg.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-focus-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-focus-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-over-bg.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-over-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-over-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-pressed-bg.gif | Bin 0 -> 244 bytes .../._btn-default-large-pressed-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-pressed-sides.gif | Bin 0 -> 244 bytes .../default/btn/._btn-default-large-sides.gif | Bin 0 -> 244 bytes .../default/btn/._btn-default-medium-bg.gif | Bin 0 -> 244 bytes .../btn/._btn-default-medium-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-medium-disabled-bg.gif | Bin 0 -> 244 bytes .../._btn-default-medium-disabled-corners.gif | Bin 0 -> 244 bytes .../._btn-default-medium-disabled-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-medium-focus-bg.gif | Bin 0 -> 244 bytes .../._btn-default-medium-focus-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-medium-focus-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-medium-over-bg.gif | Bin 0 -> 244 bytes .../btn/._btn-default-medium-over-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-medium-over-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-medium-pressed-bg.gif | Bin 0 -> 244 bytes .../._btn-default-medium-pressed-corners.gif | Bin 0 -> 244 bytes .../._btn-default-medium-pressed-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-medium-sides.gif | Bin 0 -> 244 bytes .../default/btn/._btn-default-small-bg.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-disabled-bg.gif | Bin 0 -> 244 bytes .../._btn-default-small-disabled-corners.gif | Bin 0 -> 244 bytes .../._btn-default-small-disabled-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-focus-bg.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-focus-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-focus-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-over-bg.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-over-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-over-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-pressed-bg.gif | Bin 0 -> 244 bytes .../._btn-default-small-pressed-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-pressed-sides.gif | Bin 0 -> 244 bytes .../default/btn/._btn-default-small-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-large-corners.gif | Bin 0 -> 244 bytes ...default-toolbar-large-disabled-corners.gif | Bin 0 -> 244 bytes ...n-default-toolbar-large-disabled-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-large-focus-bg.gif | Bin 0 -> 244 bytes ...tn-default-toolbar-large-focus-corners.gif | Bin 0 -> 244 bytes ..._btn-default-toolbar-large-focus-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-large-over-bg.gif | Bin 0 -> 244 bytes ...btn-default-toolbar-large-over-corners.gif | Bin 0 -> 244 bytes ...._btn-default-toolbar-large-over-sides.gif | Bin 0 -> 244 bytes ...._btn-default-toolbar-large-pressed-bg.gif | Bin 0 -> 244 bytes ...-default-toolbar-large-pressed-corners.gif | Bin 0 -> 244 bytes ...tn-default-toolbar-large-pressed-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-toolbar-large-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-medium-corners.gif | Bin 0 -> 244 bytes ...efault-toolbar-medium-disabled-corners.gif | Bin 0 -> 244 bytes ...-default-toolbar-medium-disabled-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-medium-focus-bg.gif | Bin 0 -> 244 bytes ...n-default-toolbar-medium-focus-corners.gif | Bin 0 -> 244 bytes ...btn-default-toolbar-medium-focus-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-medium-over-bg.gif | Bin 0 -> 244 bytes ...tn-default-toolbar-medium-over-corners.gif | Bin 0 -> 244 bytes ..._btn-default-toolbar-medium-over-sides.gif | Bin 0 -> 244 bytes ..._btn-default-toolbar-medium-pressed-bg.gif | Bin 0 -> 244 bytes ...default-toolbar-medium-pressed-corners.gif | Bin 0 -> 244 bytes ...n-default-toolbar-medium-pressed-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-medium-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-small-corners.gif | Bin 0 -> 244 bytes ...default-toolbar-small-disabled-corners.gif | Bin 0 -> 244 bytes ...n-default-toolbar-small-disabled-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-small-focus-bg.gif | Bin 0 -> 244 bytes ...tn-default-toolbar-small-focus-corners.gif | Bin 0 -> 244 bytes ..._btn-default-toolbar-small-focus-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-small-over-bg.gif | Bin 0 -> 244 bytes ...btn-default-toolbar-small-over-corners.gif | Bin 0 -> 244 bytes ...._btn-default-toolbar-small-over-sides.gif | Bin 0 -> 244 bytes ...._btn-default-toolbar-small-pressed-bg.gif | Bin 0 -> 244 bytes ...-default-toolbar-small-pressed-corners.gif | Bin 0 -> 244 bytes ...tn-default-toolbar-small-pressed-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-toolbar-small-sides.gif | Bin 0 -> 244 bytes .../themes/images/default/button/._arrow.gif | Bin 0 -> 244 bytes .../themes/images/default/button/._btn.gif | Bin 0 -> 244 bytes .../images/default/button/._group-cs.gif | Bin 0 -> 244 bytes .../images/default/button/._group-lr.gif | Bin 0 -> 244 bytes .../images/default/button/._group-tb.gif | Bin 0 -> 244 bytes .../default/button/._s-arrow-b-noline.gif | Bin 0 -> 244 bytes .../images/default/button/._s-arrow-b.gif | Bin 0 -> 244 bytes .../images/default/button/._s-arrow-bo.gif | Bin 0 -> 244 bytes .../images/default/button/._s-arrow-light.gif | Bin 0 -> 244 bytes .../default/button/._s-arrow-noline.gif | Bin 0 -> 244 bytes .../images/default/button/._s-arrow-o.gif | Bin 0 -> 244 bytes .../images/default/button/._s-arrow.gif | Bin 0 -> 244 bytes .../datepicker/._datepicker-footer-bg.gif | Bin 0 -> 244 bytes .../datepicker/._datepicker-footer-bg.png | Bin 0 -> 244 bytes .../datepicker/._datepicker-header-bg.gif | Bin 0 -> 244 bytes .../datepicker/._datepicker-header-bg.png | Bin 0 -> 244 bytes .../themes/images/default/dd/._drop-add.gif | Bin 0 -> 244 bytes .../themes/images/default/dd/._drop-no.gif | Bin 0 -> 244 bytes .../themes/images/default/dd/._drop-yes.gif | Bin 0 -> 244 bytes .../images/default/editor/._tb-sprite.gif | Bin 0 -> 244 bytes .../._form-invalid-tip-corners.gif | Bin 0 -> 244 bytes .../._form-invalid-tip-default-corners.gif | Bin 0 -> 244 bytes .../._form-invalid-tip-default-sides.gif | Bin 0 -> 244 bytes .../._form-invalid-tip-sides.gif | Bin 0 -> 244 bytes .../themes/images/default/form/._checkbox.gif | Bin 0 -> 244 bytes .../images/default/form/._clear-trigger.gif | Bin 0 -> 244 bytes .../images/default/form/._date-trigger.gif | Bin 0 -> 244 bytes .../default/form/._error-tip-corners.gif | Bin 0 -> 244 bytes .../images/default/form/._exclamation.gif | Bin 0 -> 244 bytes .../themes/images/default/form/._radio.gif | Bin 0 -> 244 bytes .../images/default/form/._search-trigger.gif | Bin 0 -> 244 bytes .../images/default/form/._spinner-small.gif | Bin 0 -> 244 bytes .../themes/images/default/form/._spinner.gif | Bin 0 -> 244 bytes .../themes/images/default/form/._text-bg.gif | Bin 0 -> 244 bytes .../images/default/form/._trigger-square.gif | Bin 0 -> 244 bytes .../images/default/form/._trigger-tpl.gif | Bin 0 -> 244 bytes .../themes/images/default/form/._trigger.gif | Bin 0 -> 244 bytes .../default/grid/._arrow-left-white.gif | Bin 0 -> 244 bytes .../default/grid/._arrow-right-white.gif | Bin 0 -> 244 bytes .../images/default/grid/._cell-special-bg.gif | Bin 0 -> 244 bytes .../images/default/grid/._cell-special-bg.png | Bin 0 -> 244 bytes .../grid/._cell-special-selected-bg.gif | Bin 0 -> 244 bytes .../grid/._cell-special-selected-bg.png | Bin 0 -> 244 bytes .../themes/images/default/grid/._checked.gif | Bin 0 -> 244 bytes .../images/default/grid/._col-move-bottom.gif | Bin 0 -> 244 bytes .../images/default/grid/._col-move-top.gif | Bin 0 -> 244 bytes .../default/grid/._column-header-bg.gif | Bin 0 -> 244 bytes .../default/grid/._column-header-bg.png | Bin 0 -> 244 bytes .../default/grid/._column-header-over-bg.gif | Bin 0 -> 244 bytes .../default/grid/._column-header-over-bg.png | Bin 0 -> 244 bytes .../themes/images/default/grid/._columns.gif | Bin 0 -> 244 bytes .../default/grid/._dd-insert-arrow-left.gif | Bin 0 -> 244 bytes .../default/grid/._dd-insert-arrow-left.png | Bin 0 -> 244 bytes .../default/grid/._dd-insert-arrow-right.gif | Bin 0 -> 244 bytes .../default/grid/._dd-insert-arrow-right.png | Bin 0 -> 244 bytes .../themes/images/default/grid/._dirty.gif | Bin 0 -> 244 bytes .../themes/images/default/grid/._done.gif | Bin 0 -> 244 bytes .../themes/images/default/grid/._drop-no.gif | Bin 0 -> 244 bytes .../themes/images/default/grid/._drop-yes.gif | Bin 0 -> 244 bytes .../images/default/grid/._footer-bg.gif | Bin 0 -> 244 bytes .../images/default/grid/._grid-blue-hd.gif | Bin 0 -> 244 bytes .../images/default/grid/._grid-blue-split.gif | Bin 0 -> 244 bytes .../images/default/grid/._grid-hrow.gif | Bin 0 -> 244 bytes .../images/default/grid/._grid-loading.gif | Bin 0 -> 244 bytes .../images/default/grid/._grid-split.gif | Bin 0 -> 244 bytes .../images/default/grid/._grid-vista-hd.gif | Bin 0 -> 244 bytes .../images/default/grid/._grid3-hd-btn.gif | Bin 0 -> 244 bytes .../images/default/grid/._grid3-hrow-over.gif | Bin 0 -> 244 bytes .../images/default/grid/._grid3-hrow.gif | Bin 0 -> 244 bytes .../images/default/grid/._grid3-rowheader.gif | Bin 0 -> 244 bytes .../themes/images/default/grid/._group-by.gif | Bin 0 -> 244 bytes .../images/default/grid/._group-collapse.gif | Bin 0 -> 244 bytes .../default/grid/._group-expand-sprite.gif | Bin 0 -> 244 bytes .../images/default/grid/._group-expand.gif | Bin 0 -> 244 bytes .../themes/images/default/grid/._hd-pop.gif | Bin 0 -> 244 bytes .../images/default/grid/._hmenu-asc.gif | Bin 0 -> 244 bytes .../images/default/grid/._hmenu-desc.gif | Bin 0 -> 244 bytes .../images/default/grid/._hmenu-lock.gif | Bin 0 -> 244 bytes .../images/default/grid/._hmenu-lock.png | Bin 0 -> 244 bytes .../images/default/grid/._hmenu-unlock.gif | Bin 0 -> 244 bytes .../images/default/grid/._hmenu-unlock.png | Bin 0 -> 244 bytes .../images/default/grid/._invalid_line.gif | Bin 0 -> 244 bytes .../themes/images/default/grid/._loading.gif | Bin 0 -> 244 bytes .../themes/images/default/grid/._mso-hd.gif | Bin 0 -> 244 bytes .../themes/images/default/grid/._nowait.gif | Bin 0 -> 244 bytes .../default/grid/._page-first-disabled.gif | Bin 0 -> 244 bytes .../images/default/grid/._page-first.gif | Bin 0 -> 244 bytes .../default/grid/._page-last-disabled.gif | Bin 0 -> 244 bytes .../images/default/grid/._page-last.gif | Bin 0 -> 244 bytes .../default/grid/._page-next-disabled.gif | Bin 0 -> 244 bytes .../images/default/grid/._page-next.gif | Bin 0 -> 244 bytes .../default/grid/._page-prev-disabled.gif | Bin 0 -> 244 bytes .../images/default/grid/._page-prev.gif | Bin 0 -> 244 bytes .../images/default/grid/._pick-button.gif | Bin 0 -> 244 bytes .../default/grid/._property-cell-bg.gif | Bin 0 -> 244 bytes .../grid/._property-cell-selected-bg.gif | Bin 0 -> 244 bytes .../default/grid/._refresh-disabled.gif | Bin 0 -> 244 bytes .../themes/images/default/grid/._refresh.gif | Bin 0 -> 244 bytes .../default/grid/._row-check-sprite.gif | Bin 0 -> 244 bytes .../default/grid/._row-expand-sprite.gif | Bin 0 -> 244 bytes .../themes/images/default/grid/._row-over.gif | Bin 0 -> 244 bytes .../themes/images/default/grid/._row-sel.gif | Bin 0 -> 244 bytes .../themes/images/default/grid/._sort-hd.gif | Bin 0 -> 244 bytes .../themes/images/default/grid/._sort_asc.gif | Bin 0 -> 244 bytes .../images/default/grid/._sort_desc.gif | Bin 0 -> 244 bytes .../images/default/grid/._unchecked.gif | Bin 0 -> 244 bytes .../themes/images/default/grid/._wait.gif | Bin 0 -> 244 bytes .../images/default/layout/._mini-bottom.gif | Bin 0 -> 244 bytes .../images/default/layout/._mini-left.gif | Bin 0 -> 244 bytes .../images/default/layout/._mini-right.gif | Bin 0 -> 244 bytes .../images/default/layout/._mini-top.gif | Bin 0 -> 244 bytes .../themes/images/default/menu/._checked.gif | Bin 0 -> 244 bytes .../images/default/menu/._group-checked.gif | Bin 0 -> 244 bytes .../images/default/menu/._item-over.gif | Bin 0 -> 244 bytes .../default/menu/._menu-item-active-bg.gif | Bin 0 -> 244 bytes .../menu/._menu-item-active-corners.gif | Bin 0 -> 244 bytes .../default/menu/._menu-item-active-sides.gif | Bin 0 -> 244 bytes .../images/default/menu/._menu-parent.gif | Bin 0 -> 244 bytes .../themes/images/default/menu/._menu.gif | Bin 0 -> 244 bytes .../images/default/menu/._unchecked.gif | Bin 0 -> 244 bytes .../._panel-header-default-bottom-bg.gif | Bin 0 -> 244 bytes ..._panel-header-default-framed-bottom-bg.gif | Bin 0 -> 244 bytes ...l-header-default-framed-bottom-corners.gif | Bin 0 -> 244 bytes ...nel-header-default-framed-bottom-sides.gif | Bin 0 -> 244 bytes ...der-default-framed-collapsed-bottom-bg.gif | Bin 0 -> 244 bytes ...efault-framed-collapsed-bottom-corners.gif | Bin 0 -> 244 bytes ...-default-framed-collapsed-bottom-sides.gif | Bin 0 -> 244 bytes ...eader-default-framed-collapsed-left-bg.gif | Bin 0 -> 244 bytes ...-default-framed-collapsed-left-corners.gif | Bin 0 -> 244 bytes ...er-default-framed-collapsed-left-sides.gif | Bin 0 -> 244 bytes ...ader-default-framed-collapsed-right-bg.gif | Bin 0 -> 244 bytes ...default-framed-collapsed-right-corners.gif | Bin 0 -> 244 bytes ...r-default-framed-collapsed-right-sides.gif | Bin 0 -> 244 bytes ...header-default-framed-collapsed-top-bg.gif | Bin 0 -> 244 bytes ...r-default-framed-collapsed-top-corners.gif | Bin 0 -> 244 bytes ...der-default-framed-collapsed-top-sides.gif | Bin 0 -> 244 bytes .../._panel-header-default-framed-left-bg.gif | Bin 0 -> 244 bytes ...nel-header-default-framed-left-corners.gif | Bin 0 -> 244 bytes ...panel-header-default-framed-left-sides.gif | Bin 0 -> 244 bytes ...._panel-header-default-framed-right-bg.gif | Bin 0 -> 244 bytes ...el-header-default-framed-right-corners.gif | Bin 0 -> 244 bytes ...anel-header-default-framed-right-sides.gif | Bin 0 -> 244 bytes .../._panel-header-default-framed-top-bg.gif | Bin 0 -> 244 bytes ...anel-header-default-framed-top-corners.gif | Bin 0 -> 244 bytes ..._panel-header-default-framed-top-sides.gif | Bin 0 -> 244 bytes .../._panel-header-default-left-bg.gif | Bin 0 -> 244 bytes .../._panel-header-default-right-bg.gif | Bin 0 -> 244 bytes .../._panel-header-default-top-bg.gif | Bin 0 -> 244 bytes .../panel/._panel-default-framed-corners.gif | Bin 0 -> 244 bytes .../panel/._panel-default-framed-sides.gif | Bin 0 -> 244 bytes .../progress/._progress-default-bg.gif | Bin 0 -> 244 bytes .../images/default/shared/._blue-loading.gif | Bin 0 -> 244 bytes .../images/default/shared/._calendar.gif | Bin 0 -> 244 bytes .../images/default/shared/._glass-bg.gif | Bin 0 -> 244 bytes .../images/default/shared/._hd-sprite.gif | Bin 0 -> 244 bytes .../images/default/shared/._icon-error.gif | Bin 0 -> 244 bytes .../images/default/shared/._icon-info.gif | Bin 0 -> 244 bytes .../images/default/shared/._icon-question.gif | Bin 0 -> 244 bytes .../images/default/shared/._icon-warning.gif | Bin 0 -> 244 bytes .../images/default/shared/._large-loading.gif | Bin 0 -> 244 bytes .../images/default/shared/._left-btn.gif | Bin 0 -> 244 bytes .../images/default/shared/._loading-balls.gif | Bin 0 -> 244 bytes .../images/default/shared/._right-btn.gif | Bin 0 -> 244 bytes .../images/default/shared/._shadow-c.png | Bin 0 -> 244 bytes .../images/default/shared/._shadow-lr.png | Bin 0 -> 244 bytes .../themes/images/default/shared/._shadow.png | Bin 0 -> 244 bytes .../images/default/shared/._warning.gif | Bin 0 -> 244 bytes .../images/default/sizer/._e-handle-dark.gif | Bin 0 -> 244 bytes .../images/default/sizer/._e-handle.gif | Bin 0 -> 244 bytes .../images/default/sizer/._ne-handle-dark.gif | Bin 0 -> 244 bytes .../images/default/sizer/._ne-handle.gif | Bin 0 -> 244 bytes .../images/default/sizer/._nw-handle-dark.gif | Bin 0 -> 244 bytes .../images/default/sizer/._nw-handle.gif | Bin 0 -> 244 bytes .../images/default/sizer/._s-handle-dark.gif | Bin 0 -> 244 bytes .../images/default/sizer/._s-handle.gif | Bin 0 -> 244 bytes .../images/default/sizer/._se-handle-dark.gif | Bin 0 -> 244 bytes .../images/default/sizer/._se-handle.gif | Bin 0 -> 244 bytes .../themes/images/default/sizer/._square.gif | Bin 0 -> 244 bytes .../images/default/sizer/._sw-handle-dark.gif | Bin 0 -> 244 bytes .../images/default/sizer/._sw-handle.gif | Bin 0 -> 244 bytes .../images/default/slider/._slider-bg.gif | Bin 0 -> 244 bytes .../images/default/slider/._slider-bg.png | Bin 0 -> 244 bytes .../images/default/slider/._slider-thumb.gif | Bin 0 -> 244 bytes .../images/default/slider/._slider-thumb.png | Bin 0 -> 244 bytes .../images/default/slider/._slider-v-bg.gif | Bin 0 -> 244 bytes .../images/default/slider/._slider-v-bg.png | Bin 0 -> 244 bytes .../default/slider/._slider-v-thumb.gif | Bin 0 -> 244 bytes .../default/slider/._slider-v-thumb.png | Bin 0 -> 244 bytes .../images/default/tab-bar/._scroll-left.gif | Bin 0 -> 244 bytes .../images/default/tab-bar/._scroll-right.gif | Bin 0 -> 244 bytes .../default/tab-bar/._tab-bar-default-bg.gif | Bin 0 -> 244 bytes .../tab/._tab-default-bottom-active-bg.gif | Bin 0 -> 244 bytes .../._tab-default-bottom-active-corners.gif | Bin 0 -> 244 bytes .../tab/._tab-default-bottom-active-sides.gif | Bin 0 -> 244 bytes .../default/tab/._tab-default-bottom-bg.gif | Bin 0 -> 244 bytes .../tab/._tab-default-bottom-corners.gif | Bin 0 -> 244 bytes .../tab/._tab-default-bottom-disabled-bg.gif | Bin 0 -> 244 bytes .../._tab-default-bottom-disabled-corners.gif | Bin 0 -> 244 bytes .../._tab-default-bottom-disabled-sides.gif | Bin 0 -> 244 bytes .../tab/._tab-default-bottom-over-bg.gif | Bin 0 -> 244 bytes .../tab/._tab-default-bottom-over-corners.gif | Bin 0 -> 244 bytes .../tab/._tab-default-bottom-over-sides.gif | Bin 0 -> 244 bytes .../tab/._tab-default-bottom-sides.gif | Bin 0 -> 244 bytes .../default/tab/._tab-default-close.gif | Bin 0 -> 244 bytes .../tab/._tab-default-top-active-bg.gif | Bin 0 -> 244 bytes .../tab/._tab-default-top-active-corners.gif | Bin 0 -> 244 bytes .../tab/._tab-default-top-active-sides.gif | Bin 0 -> 244 bytes .../default/tab/._tab-default-top-bg.gif | Bin 0 -> 244 bytes .../default/tab/._tab-default-top-corners.gif | Bin 0 -> 244 bytes .../tab/._tab-default-top-disabled-bg.gif | Bin 0 -> 244 bytes .../._tab-default-top-disabled-corners.gif | Bin 0 -> 244 bytes .../tab/._tab-default-top-disabled-sides.gif | Bin 0 -> 244 bytes .../default/tab/._tab-default-top-over-bg.gif | Bin 0 -> 244 bytes .../tab/._tab-default-top-over-corners.gif | Bin 0 -> 244 bytes .../tab/._tab-default-top-over-sides.gif | Bin 0 -> 244 bytes .../default/tab/._tab-default-top-sides.gif | Bin 0 -> 244 bytes .../images/default/tip/._tip-corners.gif | Bin 0 -> 244 bytes .../themes/images/default/tip/._tip-sides.gif | Bin 0 -> 244 bytes .../themes/images/default/toolbar/._more.gif | Bin 0 -> 244 bytes .../images/default/toolbar/._scroll-left.gif | Bin 0 -> 244 bytes .../images/default/toolbar/._scroll-right.gif | Bin 0 -> 244 bytes .../default/toolbar/._toolbar-default-bg.gif | Bin 0 -> 244 bytes .../default/tools/._tool-sprite-tpl.gif | Bin 0 -> 244 bytes .../images/default/tools/._tool-sprites.gif | Bin 0 -> 244 bytes .../default/tools/._tools-sprites-trans.gif | Bin 0 -> 244 bytes .../themes/images/default/tree/._arrows.gif | Bin 0 -> 244 bytes .../images/default/tree/._drop-above.gif | Bin 0 -> 244 bytes .../themes/images/default/tree/._drop-add.gif | Bin 0 -> 244 bytes .../images/default/tree/._drop-append.gif | Bin 0 -> 244 bytes .../images/default/tree/._drop-below.gif | Bin 0 -> 244 bytes .../images/default/tree/._drop-between.gif | Bin 0 -> 244 bytes .../themes/images/default/tree/._drop-no.gif | Bin 0 -> 244 bytes .../images/default/tree/._drop-over.gif | Bin 0 -> 244 bytes .../images/default/tree/._drop-under.gif | Bin 0 -> 244 bytes .../themes/images/default/tree/._drop-yes.gif | Bin 0 -> 244 bytes .../default/tree/._elbow-end-minus-nl.gif | Bin 0 -> 244 bytes .../images/default/tree/._elbow-end-minus.gif | Bin 0 -> 244 bytes .../default/tree/._elbow-end-plus-nl.gif | Bin 0 -> 244 bytes .../images/default/tree/._elbow-end-plus.gif | Bin 0 -> 244 bytes .../images/default/tree/._elbow-end.gif | Bin 0 -> 244 bytes .../images/default/tree/._elbow-line.gif | Bin 0 -> 244 bytes .../images/default/tree/._elbow-minus-nl.gif | Bin 0 -> 244 bytes .../images/default/tree/._elbow-minus.gif | Bin 0 -> 244 bytes .../images/default/tree/._elbow-plus-nl.gif | Bin 0 -> 244 bytes .../images/default/tree/._elbow-plus.gif | Bin 0 -> 244 bytes .../themes/images/default/tree/._elbow.gif | Bin 0 -> 244 bytes .../images/default/tree/._folder-open.gif | Bin 0 -> 244 bytes .../themes/images/default/tree/._folder.gif | Bin 0 -> 244 bytes .../themes/images/default/tree/._leaf.gif | Bin 0 -> 244 bytes .../themes/images/default/tree/._loading.gif | Bin 0 -> 244 bytes .../themes/images/default/tree/._s.gif | Bin 0 -> 244 bytes .../themes/images/default/util/._splitter | Bin 0 -> 244 bytes .../default/util/splitter/._mini-bottom.gif | Bin 0 -> 244 bytes .../default/util/splitter/._mini-left.gif | Bin 0 -> 244 bytes .../default/util/splitter/._mini-right.gif | Bin 0 -> 244 bytes .../default/util/splitter/._mini-top.gif | Bin 0 -> 244 bytes ...._window-header-default-bottom-corners.gif | Bin 0 -> 244 bytes .../._window-header-default-bottom-sides.gif | Bin 0 -> 244 bytes ...eader-default-collapsed-bottom-corners.gif | Bin 0 -> 244 bytes ...-header-default-collapsed-bottom-sides.gif | Bin 0 -> 244 bytes ...-header-default-collapsed-left-corners.gif | Bin 0 -> 244 bytes ...ow-header-default-collapsed-left-sides.gif | Bin 0 -> 244 bytes ...header-default-collapsed-right-corners.gif | Bin 0 -> 244 bytes ...w-header-default-collapsed-right-sides.gif | Bin 0 -> 244 bytes ...w-header-default-collapsed-top-corners.gif | Bin 0 -> 244 bytes ...dow-header-default-collapsed-top-sides.gif | Bin 0 -> 244 bytes .../._window-header-default-left-corners.gif | Bin 0 -> 244 bytes .../._window-header-default-left-sides.gif | Bin 0 -> 244 bytes .../._window-header-default-right-corners.gif | Bin 0 -> 244 bytes .../._window-header-default-right-sides.gif | Bin 0 -> 244 bytes .../._window-header-default-top-corners.gif | Bin 0 -> 244 bytes .../._window-header-default-top-sides.gif | Bin 0 -> 244 bytes .../window/._window-default-corners.gif | Bin 0 -> 244 bytes .../default/window/._window-default-sides.gif | Bin 0 -> 244 bytes .../resources/themes/images/gray/._boundlist | Bin 0 -> 244 bytes .../resources/themes/images/gray/._box | Bin 0 -> 244 bytes .../resources/themes/images/gray/._btn | Bin 0 -> 244 bytes .../resources/themes/images/gray/._btn-group | Bin 0 -> 244 bytes .../resources/themes/images/gray/._button | Bin 0 -> 244 bytes .../resources/themes/images/gray/._datepicker | Bin 0 -> 244 bytes .../resources/themes/images/gray/._dd | Bin 0 -> 244 bytes .../resources/themes/images/gray/._editor | Bin 0 -> 244 bytes .../resources/themes/images/gray/._form | Bin 0 -> 244 bytes .../themes/images/gray/._form-invalid-tip | Bin 0 -> 244 bytes .../resources/themes/images/gray/._grid | Bin 0 -> 244 bytes .../resources/themes/images/gray/._layout | Bin 0 -> 244 bytes .../resources/themes/images/gray/._menu | Bin 0 -> 244 bytes .../resources/themes/images/gray/._panel | Bin 0 -> 244 bytes .../themes/images/gray/._panel-header | Bin 0 -> 244 bytes .../resources/themes/images/gray/._progress | Bin 0 -> 244 bytes .../resources/themes/images/gray/._shared | Bin 0 -> 244 bytes .../resources/themes/images/gray/._sizer | Bin 0 -> 244 bytes .../resources/themes/images/gray/._slider | Bin 0 -> 244 bytes .../resources/themes/images/gray/._tab | Bin 0 -> 244 bytes .../resources/themes/images/gray/._tab-bar | Bin 0 -> 244 bytes .../resources/themes/images/gray/._tip | Bin 0 -> 244 bytes .../resources/themes/images/gray/._toolbar | Bin 0 -> 244 bytes .../resources/themes/images/gray/._tools | Bin 0 -> 244 bytes .../resources/themes/images/gray/._tree | Bin 0 -> 244 bytes .../resources/themes/images/gray/._util | Bin 0 -> 244 bytes .../resources/themes/images/gray/._window | Bin 0 -> 244 bytes .../themes/images/gray/._window-header | Bin 0 -> 244 bytes .../images/gray/boundlist/._trigger-arrow.png | Bin 0 -> 244 bytes .../themes/images/gray/box/._corners-blue.gif | Bin 0 -> 244 bytes .../themes/images/gray/box/._corners.gif | Bin 0 -> 244 bytes .../themes/images/gray/box/._l-blue.gif | Bin 0 -> 244 bytes .../resources/themes/images/gray/box/._l.gif | Bin 0 -> 244 bytes .../themes/images/gray/box/._r-blue.gif | Bin 0 -> 244 bytes .../resources/themes/images/gray/box/._r.gif | Bin 0 -> 244 bytes .../themes/images/gray/box/._tb-blue.gif | Bin 0 -> 244 bytes .../resources/themes/images/gray/box/._tb.gif | Bin 0 -> 244 bytes .../._btn-group-default-framed-corners.gif | Bin 0 -> 244 bytes ...n-group-default-framed-notitle-corners.gif | Bin 0 -> 244 bytes ...btn-group-default-framed-notitle-sides.gif | Bin 0 -> 244 bytes .../._btn-group-default-framed-sides.gif | Bin 0 -> 244 bytes .../gray/btn/._btn-default-large-bg.gif | Bin 0 -> 244 bytes .../gray/btn/._btn-default-large-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-disabled-bg.gif | Bin 0 -> 244 bytes .../._btn-default-large-disabled-corners.gif | Bin 0 -> 244 bytes .../._btn-default-large-disabled-sides.gif | Bin 0 -> 244 bytes .../gray/btn/._btn-default-large-focus-bg.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-focus-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-focus-sides.gif | Bin 0 -> 244 bytes .../gray/btn/._btn-default-large-over-bg.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-over-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-over-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-pressed-bg.gif | Bin 0 -> 244 bytes .../._btn-default-large-pressed-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-large-pressed-sides.gif | Bin 0 -> 244 bytes .../gray/btn/._btn-default-large-sides.gif | Bin 0 -> 244 bytes .../gray/btn/._btn-default-medium-bg.gif | Bin 0 -> 244 bytes .../gray/btn/._btn-default-medium-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-medium-disabled-bg.gif | Bin 0 -> 244 bytes .../._btn-default-medium-disabled-corners.gif | Bin 0 -> 244 bytes .../._btn-default-medium-disabled-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-medium-focus-bg.gif | Bin 0 -> 244 bytes .../._btn-default-medium-focus-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-medium-focus-sides.gif | Bin 0 -> 244 bytes .../gray/btn/._btn-default-medium-over-bg.gif | Bin 0 -> 244 bytes .../btn/._btn-default-medium-over-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-medium-over-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-medium-pressed-bg.gif | Bin 0 -> 244 bytes .../._btn-default-medium-pressed-corners.gif | Bin 0 -> 244 bytes .../._btn-default-medium-pressed-sides.gif | Bin 0 -> 244 bytes .../gray/btn/._btn-default-medium-sides.gif | Bin 0 -> 244 bytes .../gray/btn/._btn-default-small-bg.gif | Bin 0 -> 244 bytes .../gray/btn/._btn-default-small-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-disabled-bg.gif | Bin 0 -> 244 bytes .../._btn-default-small-disabled-corners.gif | Bin 0 -> 244 bytes .../._btn-default-small-disabled-sides.gif | Bin 0 -> 244 bytes .../gray/btn/._btn-default-small-focus-bg.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-focus-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-focus-sides.gif | Bin 0 -> 244 bytes .../gray/btn/._btn-default-small-over-bg.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-over-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-over-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-pressed-bg.gif | Bin 0 -> 244 bytes .../._btn-default-small-pressed-corners.gif | Bin 0 -> 244 bytes .../btn/._btn-default-small-pressed-sides.gif | Bin 0 -> 244 bytes .../gray/btn/._btn-default-small-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-large-corners.gif | Bin 0 -> 244 bytes ...default-toolbar-large-disabled-corners.gif | Bin 0 -> 244 bytes ...n-default-toolbar-large-disabled-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-large-focus-bg.gif | Bin 0 -> 244 bytes ...tn-default-toolbar-large-focus-corners.gif | Bin 0 -> 244 bytes ..._btn-default-toolbar-large-focus-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-large-over-bg.gif | Bin 0 -> 244 bytes ...btn-default-toolbar-large-over-corners.gif | Bin 0 -> 244 bytes ...._btn-default-toolbar-large-over-sides.gif | Bin 0 -> 244 bytes ...._btn-default-toolbar-large-pressed-bg.gif | Bin 0 -> 244 bytes ...-default-toolbar-large-pressed-corners.gif | Bin 0 -> 244 bytes ...tn-default-toolbar-large-pressed-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-toolbar-large-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-medium-corners.gif | Bin 0 -> 244 bytes ...efault-toolbar-medium-disabled-corners.gif | Bin 0 -> 244 bytes ...-default-toolbar-medium-disabled-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-medium-focus-bg.gif | Bin 0 -> 244 bytes ...n-default-toolbar-medium-focus-corners.gif | Bin 0 -> 244 bytes ...btn-default-toolbar-medium-focus-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-medium-over-bg.gif | Bin 0 -> 244 bytes ...tn-default-toolbar-medium-over-corners.gif | Bin 0 -> 244 bytes ..._btn-default-toolbar-medium-over-sides.gif | Bin 0 -> 244 bytes ..._btn-default-toolbar-medium-pressed-bg.gif | Bin 0 -> 244 bytes ...default-toolbar-medium-pressed-corners.gif | Bin 0 -> 244 bytes ...n-default-toolbar-medium-pressed-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-medium-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-small-corners.gif | Bin 0 -> 244 bytes ...default-toolbar-small-disabled-corners.gif | Bin 0 -> 244 bytes ...n-default-toolbar-small-disabled-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-small-focus-bg.gif | Bin 0 -> 244 bytes ...tn-default-toolbar-small-focus-corners.gif | Bin 0 -> 244 bytes ..._btn-default-toolbar-small-focus-sides.gif | Bin 0 -> 244 bytes .../._btn-default-toolbar-small-over-bg.gif | Bin 0 -> 244 bytes ...btn-default-toolbar-small-over-corners.gif | Bin 0 -> 244 bytes ...._btn-default-toolbar-small-over-sides.gif | Bin 0 -> 244 bytes ...._btn-default-toolbar-small-pressed-bg.gif | Bin 0 -> 244 bytes ...-default-toolbar-small-pressed-corners.gif | Bin 0 -> 244 bytes ...tn-default-toolbar-small-pressed-sides.gif | Bin 0 -> 244 bytes .../btn/._btn-default-toolbar-small-sides.gif | Bin 0 -> 244 bytes .../themes/images/gray/button/._arrow.gif | Bin 0 -> 244 bytes .../themes/images/gray/button/._btn-arrow.gif | Bin 0 -> 244 bytes .../images/gray/button/._btn-sprite.gif | Bin 0 -> 244 bytes .../themes/images/gray/button/._btn.gif | Bin 0 -> 244 bytes .../themes/images/gray/button/._group-cs.gif | Bin 0 -> 244 bytes .../themes/images/gray/button/._group-lr.gif | Bin 0 -> 244 bytes .../themes/images/gray/button/._group-tb.gif | Bin 0 -> 244 bytes .../images/gray/button/._s-arrow-b-noline.gif | Bin 0 -> 244 bytes .../themes/images/gray/button/._s-arrow-b.gif | Bin 0 -> 244 bytes .../images/gray/button/._s-arrow-bo.gif | Bin 0 -> 244 bytes .../images/gray/button/._s-arrow-light.gif | Bin 0 -> 244 bytes .../images/gray/button/._s-arrow-noline.gif | Bin 0 -> 244 bytes .../themes/images/gray/button/._s-arrow-o.gif | Bin 0 -> 244 bytes .../themes/images/gray/button/._s-arrow.gif | Bin 0 -> 244 bytes .../datepicker/._datepicker-footer-bg.gif | Bin 0 -> 244 bytes .../datepicker/._datepicker-footer-bg.png | Bin 0 -> 244 bytes .../datepicker/._datepicker-header-bg.gif | Bin 0 -> 244 bytes .../datepicker/._datepicker-header-bg.png | Bin 0 -> 244 bytes .../themes/images/gray/dd/._drop-add.gif | Bin 0 -> 244 bytes .../themes/images/gray/dd/._drop-no.gif | Bin 0 -> 244 bytes .../themes/images/gray/dd/._drop-yes.gif | Bin 0 -> 244 bytes .../themes/images/gray/editor/._tb-sprite.gif | Bin 0 -> 244 bytes .../._form-invalid-tip-corners.gif | Bin 0 -> 244 bytes .../._form-invalid-tip-default-corners.gif | Bin 0 -> 244 bytes .../._form-invalid-tip-default-sides.gif | Bin 0 -> 244 bytes .../._form-invalid-tip-sides.gif | Bin 0 -> 244 bytes .../themes/images/gray/form/._checkbox.gif | Bin 0 -> 244 bytes .../images/gray/form/._clear-trigger.gif | Bin 0 -> 244 bytes .../images/gray/form/._date-trigger.gif | Bin 0 -> 244 bytes .../images/gray/form/._error-tip-corners.gif | Bin 0 -> 244 bytes .../themes/images/gray/form/._exclamation.gif | Bin 0 -> 244 bytes .../themes/images/gray/form/._radio.gif | Bin 0 -> 244 bytes .../images/gray/form/._search-trigger.gif | Bin 0 -> 244 bytes .../images/gray/form/._spinner-small.gif | Bin 0 -> 244 bytes .../themes/images/gray/form/._spinner.gif | Bin 0 -> 244 bytes .../themes/images/gray/form/._text-bg.gif | Bin 0 -> 244 bytes .../images/gray/form/._trigger-square.gif | Bin 0 -> 244 bytes .../themes/images/gray/form/._trigger-tpl.gif | Bin 0 -> 244 bytes .../themes/images/gray/form/._trigger.gif | Bin 0 -> 244 bytes .../images/gray/grid/._arrow-left-white.gif | Bin 0 -> 244 bytes .../images/gray/grid/._arrow-right-white.gif | Bin 0 -> 244 bytes .../images/gray/grid/._cell-special-bg.gif | Bin 0 -> 244 bytes .../images/gray/grid/._cell-special-bg.png | Bin 0 -> 244 bytes .../gray/grid/._cell-special-selected-bg.gif | Bin 0 -> 244 bytes .../gray/grid/._cell-special-selected-bg.png | Bin 0 -> 244 bytes .../themes/images/gray/grid/._checked.gif | Bin 0 -> 244 bytes .../images/gray/grid/._col-move-bottom.gif | Bin 0 -> 244 bytes .../images/gray/grid/._col-move-top.gif | Bin 0 -> 244 bytes .../images/gray/grid/._column-header-bg.gif | Bin 0 -> 244 bytes .../images/gray/grid/._column-header-bg.png | Bin 0 -> 244 bytes .../gray/grid/._column-header-over-bg.gif | Bin 0 -> 244 bytes .../gray/grid/._column-header-over-bg.png | Bin 0 -> 244 bytes .../themes/images/gray/grid/._columns.gif | Bin 0 -> 244 bytes .../gray/grid/._dd-insert-arrow-left.gif | Bin 0 -> 244 bytes .../gray/grid/._dd-insert-arrow-left.png | Bin 0 -> 244 bytes .../gray/grid/._dd-insert-arrow-right.gif | Bin 0 -> 244 bytes .../gray/grid/._dd-insert-arrow-right.png | Bin 0 -> 244 bytes .../themes/images/gray/grid/._dirty.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._done.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._drop-no.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._drop-yes.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._footer-bg.gif | Bin 0 -> 244 bytes .../images/gray/grid/._grid-blue-hd.gif | Bin 0 -> 244 bytes .../images/gray/grid/._grid-blue-split.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._grid-hrow.gif | Bin 0 -> 244 bytes .../images/gray/grid/._grid-loading.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._grid-split.gif | Bin 0 -> 244 bytes .../images/gray/grid/._grid-vista-hd.gif | Bin 0 -> 244 bytes .../images/gray/grid/._grid3-hd-btn.gif | Bin 0 -> 244 bytes .../images/gray/grid/._grid3-hrow-over.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._grid3-hrow.gif | Bin 0 -> 244 bytes .../images/gray/grid/._grid3-rowheader.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._group-by.gif | Bin 0 -> 244 bytes .../images/gray/grid/._group-collapse.gif | Bin 0 -> 244 bytes .../gray/grid/._group-expand-sprite.gif | Bin 0 -> 244 bytes .../images/gray/grid/._group-expand.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._hd-pop.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._hmenu-asc.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._hmenu-desc.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._hmenu-lock.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._hmenu-lock.png | Bin 0 -> 244 bytes .../images/gray/grid/._hmenu-unlock.gif | Bin 0 -> 244 bytes .../images/gray/grid/._hmenu-unlock.png | Bin 0 -> 244 bytes .../images/gray/grid/._invalid_line.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._loading.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._mso-hd.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._nowait.gif | Bin 0 -> 244 bytes .../gray/grid/._page-first-disabled.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._page-first.gif | Bin 0 -> 244 bytes .../images/gray/grid/._page-last-disabled.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._page-last.gif | Bin 0 -> 244 bytes .../images/gray/grid/._page-next-disabled.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._page-next.gif | Bin 0 -> 244 bytes .../images/gray/grid/._page-prev-disabled.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._page-prev.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._pick-button.gif | Bin 0 -> 244 bytes .../images/gray/grid/._property-cell-bg.gif | Bin 0 -> 244 bytes .../gray/grid/._property-cell-selected-bg.gif | Bin 0 -> 244 bytes .../images/gray/grid/._refresh-disabled.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._refresh.gif | Bin 0 -> 244 bytes .../images/gray/grid/._row-check-sprite.gif | Bin 0 -> 244 bytes .../images/gray/grid/._row-expand-sprite.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._row-over.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._row-sel.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._sort-hd.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._sort_asc.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._sort_desc.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._unchecked.gif | Bin 0 -> 244 bytes .../themes/images/gray/grid/._wait.gif | Bin 0 -> 244 bytes .../images/gray/layout/._mini-bottom.gif | Bin 0 -> 244 bytes .../themes/images/gray/layout/._mini-left.gif | Bin 0 -> 244 bytes .../images/gray/layout/._mini-right.gif | Bin 0 -> 244 bytes .../themes/images/gray/layout/._mini-top.gif | Bin 0 -> 244 bytes .../themes/images/gray/menu/._checked.gif | Bin 0 -> 244 bytes .../images/gray/menu/._group-checked.gif | Bin 0 -> 244 bytes .../images/gray/menu/._item-over-disabled.gif | Bin 0 -> 244 bytes .../themes/images/gray/menu/._item-over.gif | Bin 0 -> 244 bytes .../gray/menu/._menu-item-active-bg.gif | Bin 0 -> 244 bytes .../gray/menu/._menu-item-active-corners.gif | Bin 0 -> 244 bytes .../gray/menu/._menu-item-active-sides.gif | Bin 0 -> 244 bytes .../themes/images/gray/menu/._menu-parent.gif | Bin 0 -> 244 bytes .../themes/images/gray/menu/._menu.gif | Bin 0 -> 244 bytes .../themes/images/gray/menu/._unchecked.gif | Bin 0 -> 244 bytes .../._panel-header-default-bottom-bg.gif | Bin 0 -> 244 bytes ..._panel-header-default-framed-bottom-bg.gif | Bin 0 -> 244 bytes ...l-header-default-framed-bottom-corners.gif | Bin 0 -> 244 bytes ...nel-header-default-framed-bottom-sides.gif | Bin 0 -> 244 bytes ...der-default-framed-collapsed-bottom-bg.gif | Bin 0 -> 244 bytes ...efault-framed-collapsed-bottom-corners.gif | Bin 0 -> 244 bytes ...-default-framed-collapsed-bottom-sides.gif | Bin 0 -> 244 bytes ...eader-default-framed-collapsed-left-bg.gif | Bin 0 -> 244 bytes ...-default-framed-collapsed-left-corners.gif | Bin 0 -> 244 bytes ...er-default-framed-collapsed-left-sides.gif | Bin 0 -> 244 bytes ...ader-default-framed-collapsed-right-bg.gif | Bin 0 -> 244 bytes ...default-framed-collapsed-right-corners.gif | Bin 0 -> 244 bytes ...r-default-framed-collapsed-right-sides.gif | Bin 0 -> 244 bytes ...header-default-framed-collapsed-top-bg.gif | Bin 0 -> 244 bytes ...r-default-framed-collapsed-top-corners.gif | Bin 0 -> 244 bytes ...der-default-framed-collapsed-top-sides.gif | Bin 0 -> 244 bytes .../._panel-header-default-framed-left-bg.gif | Bin 0 -> 244 bytes ...nel-header-default-framed-left-corners.gif | Bin 0 -> 244 bytes ...panel-header-default-framed-left-sides.gif | Bin 0 -> 244 bytes ...._panel-header-default-framed-right-bg.gif | Bin 0 -> 244 bytes ...el-header-default-framed-right-corners.gif | Bin 0 -> 244 bytes ...anel-header-default-framed-right-sides.gif | Bin 0 -> 244 bytes .../._panel-header-default-framed-top-bg.gif | Bin 0 -> 244 bytes ...anel-header-default-framed-top-corners.gif | Bin 0 -> 244 bytes ..._panel-header-default-framed-top-sides.gif | Bin 0 -> 244 bytes .../._panel-header-default-left-bg.gif | Bin 0 -> 244 bytes .../._panel-header-default-right-bg.gif | Bin 0 -> 244 bytes .../._panel-header-default-top-bg.gif | Bin 0 -> 244 bytes .../panel/._panel-default-framed-corners.gif | Bin 0 -> 244 bytes .../panel/._panel-default-framed-sides.gif | Bin 0 -> 244 bytes .../gray/progress/._progress-default-bg.gif | Bin 0 -> 244 bytes .../images/gray/shared/._blue-loading.gif | Bin 0 -> 244 bytes .../themes/images/gray/shared/._calendar.gif | Bin 0 -> 244 bytes .../themes/images/gray/shared/._glass-bg.gif | Bin 0 -> 244 bytes .../themes/images/gray/shared/._hd-sprite.gif | Bin 0 -> 244 bytes .../images/gray/shared/._icon-error.gif | Bin 0 -> 244 bytes .../themes/images/gray/shared/._icon-info.gif | Bin 0 -> 244 bytes .../images/gray/shared/._icon-question.gif | Bin 0 -> 244 bytes .../images/gray/shared/._icon-warning.gif | Bin 0 -> 244 bytes .../images/gray/shared/._large-loading.gif | Bin 0 -> 244 bytes .../themes/images/gray/shared/._left-btn.gif | Bin 0 -> 244 bytes .../images/gray/shared/._loading-balls.gif | Bin 0 -> 244 bytes .../themes/images/gray/shared/._right-btn.gif | Bin 0 -> 244 bytes .../themes/images/gray/shared/._shadow-c.png | Bin 0 -> 244 bytes .../themes/images/gray/shared/._shadow-lr.png | Bin 0 -> 244 bytes .../themes/images/gray/shared/._shadow.png | Bin 0 -> 244 bytes .../themes/images/gray/shared/._warning.gif | Bin 0 -> 244 bytes .../images/gray/sizer/._e-handle-dark.gif | Bin 0 -> 244 bytes .../themes/images/gray/sizer/._e-handle.gif | Bin 0 -> 244 bytes .../images/gray/sizer/._ne-handle-dark.gif | Bin 0 -> 244 bytes .../themes/images/gray/sizer/._ne-handle.gif | Bin 0 -> 244 bytes .../images/gray/sizer/._nw-handle-dark.gif | Bin 0 -> 244 bytes .../themes/images/gray/sizer/._nw-handle.gif | Bin 0 -> 244 bytes .../images/gray/sizer/._s-handle-dark.gif | Bin 0 -> 244 bytes .../themes/images/gray/sizer/._s-handle.gif | Bin 0 -> 244 bytes .../images/gray/sizer/._se-handle-dark.gif | Bin 0 -> 244 bytes .../themes/images/gray/sizer/._se-handle.gif | Bin 0 -> 244 bytes .../themes/images/gray/sizer/._square.gif | Bin 0 -> 244 bytes .../images/gray/sizer/._sw-handle-dark.gif | Bin 0 -> 244 bytes .../themes/images/gray/sizer/._sw-handle.gif | Bin 0 -> 244 bytes .../themes/images/gray/slider/._slider-bg.gif | Bin 0 -> 244 bytes .../themes/images/gray/slider/._slider-bg.png | Bin 0 -> 244 bytes .../images/gray/slider/._slider-thumb.gif | Bin 0 -> 244 bytes .../images/gray/slider/._slider-thumb.png | Bin 0 -> 244 bytes .../images/gray/slider/._slider-v-bg.gif | Bin 0 -> 244 bytes .../images/gray/slider/._slider-v-bg.png | Bin 0 -> 244 bytes .../images/gray/slider/._slider-v-thumb.gif | Bin 0 -> 244 bytes .../images/gray/slider/._slider-v-thumb.png | Bin 0 -> 244 bytes .../images/gray/tab-bar/._scroll-left.gif | Bin 0 -> 244 bytes .../images/gray/tab-bar/._scroll-right.gif | Bin 0 -> 244 bytes .../gray/tab-bar/._tab-bar-default-bg.gif | Bin 0 -> 244 bytes .../tab/._tab-default-bottom-active-bg.gif | Bin 0 -> 244 bytes .../._tab-default-bottom-active-corners.gif | Bin 0 -> 244 bytes .../tab/._tab-default-bottom-active-sides.gif | Bin 0 -> 244 bytes .../gray/tab/._tab-default-bottom-bg.gif | Bin 0 -> 244 bytes .../gray/tab/._tab-default-bottom-corners.gif | Bin 0 -> 244 bytes .../tab/._tab-default-bottom-disabled-bg.gif | Bin 0 -> 244 bytes .../._tab-default-bottom-disabled-corners.gif | Bin 0 -> 244 bytes .../._tab-default-bottom-disabled-sides.gif | Bin 0 -> 244 bytes .../gray/tab/._tab-default-bottom-over-bg.gif | Bin 0 -> 244 bytes .../tab/._tab-default-bottom-over-corners.gif | Bin 0 -> 244 bytes .../tab/._tab-default-bottom-over-sides.gif | Bin 0 -> 244 bytes .../gray/tab/._tab-default-bottom-sides.gif | Bin 0 -> 244 bytes .../images/gray/tab/._tab-default-close.gif | Bin 0 -> 244 bytes .../gray/tab/._tab-default-top-active-bg.gif | Bin 0 -> 244 bytes .../tab/._tab-default-top-active-corners.gif | Bin 0 -> 244 bytes .../tab/._tab-default-top-active-sides.gif | Bin 0 -> 244 bytes .../images/gray/tab/._tab-default-top-bg.gif | Bin 0 -> 244 bytes .../gray/tab/._tab-default-top-corners.gif | Bin 0 -> 244 bytes .../tab/._tab-default-top-disabled-bg.gif | Bin 0 -> 244 bytes .../._tab-default-top-disabled-corners.gif | Bin 0 -> 244 bytes .../tab/._tab-default-top-disabled-sides.gif | Bin 0 -> 244 bytes .../gray/tab/._tab-default-top-over-bg.gif | Bin 0 -> 244 bytes .../tab/._tab-default-top-over-corners.gif | Bin 0 -> 244 bytes .../gray/tab/._tab-default-top-over-sides.gif | Bin 0 -> 244 bytes .../gray/tab/._tab-default-top-sides.gif | Bin 0 -> 244 bytes .../themes/images/gray/tip/._tip-corners.gif | Bin 0 -> 244 bytes .../themes/images/gray/tip/._tip-sides.gif | Bin 0 -> 244 bytes .../themes/images/gray/toolbar/._more.gif | Bin 0 -> 244 bytes .../images/gray/toolbar/._scroll-left.gif | Bin 0 -> 244 bytes .../images/gray/toolbar/._scroll-right.gif | Bin 0 -> 244 bytes .../gray/toolbar/._toolbar-default-bg.gif | Bin 0 -> 244 bytes .../images/gray/tools/._tool-sprite-tpl.gif | Bin 0 -> 244 bytes .../images/gray/tools/._tool-sprites.gif | Bin 0 -> 244 bytes .../gray/tools/._tools-sprites-trans.gif | Bin 0 -> 244 bytes .../themes/images/gray/tree/._arrows.gif | Bin 0 -> 244 bytes .../themes/images/gray/tree/._drop-above.gif | Bin 0 -> 244 bytes .../themes/images/gray/tree/._drop-add.gif | Bin 0 -> 244 bytes .../themes/images/gray/tree/._drop-append.gif | Bin 0 -> 244 bytes .../themes/images/gray/tree/._drop-below.gif | Bin 0 -> 244 bytes .../images/gray/tree/._drop-between.gif | Bin 0 -> 244 bytes .../themes/images/gray/tree/._drop-no.gif | Bin 0 -> 244 bytes .../themes/images/gray/tree/._drop-over.gif | Bin 0 -> 244 bytes .../themes/images/gray/tree/._drop-under.gif | Bin 0 -> 244 bytes .../themes/images/gray/tree/._drop-yes.gif | Bin 0 -> 244 bytes .../images/gray/tree/._elbow-end-minus-nl.gif | Bin 0 -> 244 bytes .../images/gray/tree/._elbow-end-minus.gif | Bin 0 -> 244 bytes .../images/gray/tree/._elbow-end-plus-nl.gif | Bin 0 -> 244 bytes .../images/gray/tree/._elbow-end-plus.gif | Bin 0 -> 244 bytes .../themes/images/gray/tree/._elbow-end.gif | Bin 0 -> 244 bytes .../themes/images/gray/tree/._elbow-line.gif | Bin 0 -> 244 bytes .../images/gray/tree/._elbow-minus-nl.gif | Bin 0 -> 244 bytes .../themes/images/gray/tree/._elbow-minus.gif | Bin 0 -> 244 bytes .../images/gray/tree/._elbow-plus-nl.gif | Bin 0 -> 244 bytes .../themes/images/gray/tree/._elbow-plus.gif | Bin 0 -> 244 bytes .../themes/images/gray/tree/._elbow.gif | Bin 0 -> 244 bytes .../themes/images/gray/tree/._folder-open.gif | Bin 0 -> 244 bytes .../themes/images/gray/tree/._folder.gif | Bin 0 -> 244 bytes .../themes/images/gray/tree/._leaf.gif | Bin 0 -> 244 bytes .../themes/images/gray/tree/._loading.gif | Bin 0 -> 244 bytes .../resources/themes/images/gray/tree/._s.gif | Bin 0 -> 244 bytes .../themes/images/gray/util/._splitter | Bin 0 -> 244 bytes .../gray/util/splitter/._mini-bottom.gif | Bin 0 -> 244 bytes .../images/gray/util/splitter/._mini-left.gif | Bin 0 -> 244 bytes .../gray/util/splitter/._mini-right.gif | Bin 0 -> 244 bytes .../images/gray/util/splitter/._mini-top.gif | Bin 0 -> 244 bytes ...._window-header-default-bottom-corners.gif | Bin 0 -> 244 bytes .../._window-header-default-bottom-sides.gif | Bin 0 -> 244 bytes ...eader-default-collapsed-bottom-corners.gif | Bin 0 -> 244 bytes ...-header-default-collapsed-bottom-sides.gif | Bin 0 -> 244 bytes ...-header-default-collapsed-left-corners.gif | Bin 0 -> 244 bytes ...ow-header-default-collapsed-left-sides.gif | Bin 0 -> 244 bytes ...header-default-collapsed-right-corners.gif | Bin 0 -> 244 bytes ...w-header-default-collapsed-right-sides.gif | Bin 0 -> 244 bytes ...w-header-default-collapsed-top-corners.gif | Bin 0 -> 244 bytes ...dow-header-default-collapsed-top-sides.gif | Bin 0 -> 244 bytes .../._window-header-default-left-corners.gif | Bin 0 -> 244 bytes .../._window-header-default-left-sides.gif | Bin 0 -> 244 bytes .../._window-header-default-right-corners.gif | Bin 0 -> 244 bytes .../._window-header-default-right-sides.gif | Bin 0 -> 244 bytes .../._window-header-default-top-corners.gif | Bin 0 -> 244 bytes .../._window-header-default-top-sides.gif | Bin 0 -> 244 bytes .../images/gray/window/._icon-error.gif | Bin 0 -> 244 bytes .../themes/images/gray/window/._icon-info.gif | Bin 0 -> 244 bytes .../images/gray/window/._icon-question.gif | Bin 0 -> 244 bytes .../images/gray/window/._icon-warning.gif | Bin 0 -> 244 bytes .../gray/window/._window-default-corners.gif | Bin 0 -> 244 bytes .../gray/window/._window-default-sides.gif | Bin 0 -> 244 bytes .../themes/images/neptune/._WYSIWYG.png | Bin 0 -> 244 bytes .../resources/themes/images/neptune/._button | Bin 0 -> 244 bytes .../themes/images/neptune/._checkbox.gif | Bin 0 -> 244 bytes .../resources/themes/images/neptune/._grid | Bin 0 -> 244 bytes .../themes/images/neptune/._icons.png | Bin 0 -> 244 bytes .../themes/images/neptune/._invalid.gif | Bin 0 -> 244 bytes .../themes/images/neptune/._radio.gif | Bin 0 -> 244 bytes .../themes/images/neptune/._tools-small.png | Bin 0 -> 244 bytes .../themes/images/neptune/._tools.png | Bin 0 -> 244 bytes .../resources/themes/images/neptune/._tree | Bin 0 -> 244 bytes .../themes/images/neptune/._triggerfield.png | Bin 0 -> 244 bytes .../themes/images/neptune/._valid.gif | Bin 0 -> 244 bytes .../themes/images/neptune/button/._arrow.gif | Bin 0 -> 244 bytes .../themes/images/neptune/button/._arrow.png | Bin 0 -> 244 bytes .../themes/images/neptune/button/._btn.gif | Bin 0 -> 244 bytes .../images/neptune/button/._group-cs.gif | Bin 0 -> 244 bytes .../images/neptune/button/._group-lr.gif | Bin 0 -> 244 bytes .../images/neptune/button/._group-tb.gif | Bin 0 -> 244 bytes .../neptune/button/._s-arrow-b-noline.gif | Bin 0 -> 244 bytes .../images/neptune/button/._s-arrow-b.gif | Bin 0 -> 244 bytes .../images/neptune/button/._s-arrow-bo.gif | Bin 0 -> 244 bytes .../images/neptune/button/._s-arrow-light.gif | Bin 0 -> 244 bytes .../neptune/button/._s-arrow-noline.png | Bin 0 -> 244 bytes .../images/neptune/button/._s-arrow-o.png | Bin 0 -> 244 bytes .../images/neptune/button/._s-arrow-p.png | Bin 0 -> 244 bytes .../images/neptune/button/._s-arrow.png | Bin 0 -> 244 bytes .../images/neptune/grid/._header-border.png | Bin 0 -> 244 bytes .../themes/images/neptune/grid/._sort.png | Bin 0 -> 244 bytes .../themes/images/neptune/tree/._elbows.png | Bin 0 -> 244 bytes .../images/neptune/tree/._icons-blue.png | Bin 0 -> 244 bytes .../images/neptune/tree/._icons-gray.png | Bin 0 -> 244 bytes .../images/neptune/tree/._icons-navy.png | Bin 0 -> 244 bytes .../images/neptune/tree/._icons-orange.png | Bin 0 -> 244 bytes .../images/neptune/tree/._icons-white.png | Bin 0 -> 244 bytes .../themes/images/neptune/tree/._icons.png | Bin 0 -> 244 bytes .../staticresources/extjs/ext-all-debug.js | 113982 +++++++++++++++ .../extjs/resources/css/ext-all.css | 18 + .../images/access/boundlist/trigger-arrow.png | Bin 0 -> 2869 bytes .../themes/images/access/box/corners-blue.gif | Bin 0 -> 1010 bytes .../themes/images/access/box/corners.gif | Bin 0 -> 1005 bytes .../themes/images/access/box/l-blue.gif | Bin 0 -> 810 bytes .../resources/themes/images/access/box/l.gif | Bin 0 -> 810 bytes .../themes/images/access/box/r-blue.gif | Bin 0 -> 810 bytes .../resources/themes/images/access/box/r.gif | Bin 0 -> 810 bytes .../themes/images/access/box/tb-blue.gif | Bin 0 -> 843 bytes .../resources/themes/images/access/box/tb.gif | Bin 0 -> 839 bytes .../btn-group-default-framed-corners.gif | Bin 0 -> 1594 bytes ...n-group-default-framed-notitle-corners.gif | Bin 0 -> 1594 bytes ...btn-group-default-framed-notitle-sides.gif | Bin 0 -> 1625 bytes .../btn-group-default-framed-sides.gif | Bin 0 -> 1633 bytes .../btn-group/btn-group-framed-corners.gif | Bin 0 -> 1627 bytes .../btn-group-framed-notitle-corners.gif | Bin 0 -> 1624 bytes .../btn-group-framed-notitle-sides.gif | Bin 0 -> 1651 bytes .../btn-group/btn-group-framed-sides.gif | Bin 0 -> 1687 bytes .../access/btn/btn-default-large-bg.gif | Bin 0 -> 1854 bytes .../access/btn/btn-default-large-corners.gif | Bin 0 -> 1615 bytes .../btn/btn-default-large-disabled-bg.gif | Bin 0 -> 1825 bytes .../btn-default-large-disabled-corners.gif | Bin 0 -> 1616 bytes .../btn/btn-default-large-disabled-sides.gif | Bin 0 -> 1923 bytes .../access/btn/btn-default-large-focus-bg.gif | Bin 0 -> 1868 bytes .../btn/btn-default-large-focus-corners.gif | Bin 0 -> 1623 bytes .../btn/btn-default-large-focus-sides.gif | Bin 0 -> 1952 bytes .../access/btn/btn-default-large-over-bg.gif | Bin 0 -> 1868 bytes .../btn/btn-default-large-over-corners.gif | Bin 0 -> 1623 bytes .../btn/btn-default-large-over-sides.gif | Bin 0 -> 1952 bytes .../btn/btn-default-large-pressed-bg.gif | Bin 0 -> 1855 bytes .../btn/btn-default-large-pressed-corners.gif | Bin 0 -> 1620 bytes .../btn/btn-default-large-pressed-sides.gif | Bin 0 -> 1947 bytes .../access/btn/btn-default-large-sides.gif | Bin 0 -> 1938 bytes .../access/btn/btn-default-medium-bg.gif | Bin 0 -> 1831 bytes .../access/btn/btn-default-medium-corners.gif | Bin 0 -> 1615 bytes .../btn/btn-default-medium-disabled-bg.gif | Bin 0 -> 1809 bytes .../btn-default-medium-disabled-corners.gif | Bin 0 -> 1618 bytes .../btn/btn-default-medium-disabled-sides.gif | Bin 0 -> 1907 bytes .../btn/btn-default-medium-focus-bg.gif | Bin 0 -> 1847 bytes .../btn/btn-default-medium-focus-corners.gif | Bin 0 -> 1624 bytes .../btn/btn-default-medium-focus-sides.gif | Bin 0 -> 1929 bytes .../access/btn/btn-default-medium-over-bg.gif | Bin 0 -> 1847 bytes .../btn/btn-default-medium-over-corners.gif | Bin 0 -> 1624 bytes .../btn/btn-default-medium-over-sides.gif | Bin 0 -> 1929 bytes .../btn/btn-default-medium-pressed-bg.gif | Bin 0 -> 1835 bytes .../btn-default-medium-pressed-corners.gif | Bin 0 -> 1620 bytes .../btn/btn-default-medium-pressed-sides.gif | Bin 0 -> 1927 bytes .../access/btn/btn-default-medium-sides.gif | Bin 0 -> 1913 bytes .../access/btn/btn-default-small-bg.gif | Bin 0 -> 1814 bytes .../access/btn/btn-default-small-corners.gif | Bin 0 -> 1615 bytes .../btn/btn-default-small-disabled-bg.gif | Bin 0 -> 1793 bytes .../btn-default-small-disabled-corners.gif | Bin 0 -> 1618 bytes .../btn/btn-default-small-disabled-sides.gif | Bin 0 -> 1887 bytes .../access/btn/btn-default-small-focus-bg.gif | Bin 0 -> 1817 bytes .../btn/btn-default-small-focus-corners.gif | Bin 0 -> 1624 bytes .../btn/btn-default-small-focus-sides.gif | Bin 0 -> 1897 bytes .../access/btn/btn-default-small-over-bg.gif | Bin 0 -> 1817 bytes .../btn/btn-default-small-over-corners.gif | Bin 0 -> 1624 bytes .../btn/btn-default-small-over-sides.gif | Bin 0 -> 1897 bytes .../btn/btn-default-small-pressed-bg.gif | Bin 0 -> 1813 bytes .../btn/btn-default-small-pressed-corners.gif | Bin 0 -> 1620 bytes .../btn/btn-default-small-pressed-sides.gif | Bin 0 -> 1897 bytes .../access/btn/btn-default-small-sides.gif | Bin 0 -> 1895 bytes .../btn/btn-default-toolbar-large-corners.gif | Bin 0 -> 1585 bytes ...default-toolbar-large-disabled-corners.gif | Bin 0 -> 1585 bytes ...n-default-toolbar-large-disabled-sides.gif | Bin 0 -> 1596 bytes ...tn-default-toolbar-large-focus-corners.gif | Bin 0 -> 1620 bytes .../btn-default-toolbar-large-focus-sides.gif | Bin 0 -> 1623 bytes ...btn-default-toolbar-large-over-corners.gif | Bin 0 -> 1620 bytes .../btn-default-toolbar-large-over-sides.gif | Bin 0 -> 1623 bytes ...-default-toolbar-large-pressed-corners.gif | Bin 0 -> 1616 bytes ...tn-default-toolbar-large-pressed-sides.gif | Bin 0 -> 1623 bytes .../btn/btn-default-toolbar-large-sides.gif | Bin 0 -> 1596 bytes .../btn-default-toolbar-medium-corners.gif | Bin 0 -> 1585 bytes ...efault-toolbar-medium-disabled-corners.gif | Bin 0 -> 1585 bytes ...-default-toolbar-medium-disabled-sides.gif | Bin 0 -> 1594 bytes ...n-default-toolbar-medium-focus-corners.gif | Bin 0 -> 1621 bytes ...btn-default-toolbar-medium-focus-sides.gif | Bin 0 -> 1616 bytes ...tn-default-toolbar-medium-over-corners.gif | Bin 0 -> 1621 bytes .../btn-default-toolbar-medium-over-sides.gif | Bin 0 -> 1616 bytes ...default-toolbar-medium-pressed-corners.gif | Bin 0 -> 1616 bytes ...n-default-toolbar-medium-pressed-sides.gif | Bin 0 -> 1616 bytes .../btn/btn-default-toolbar-medium-sides.gif | Bin 0 -> 1594 bytes .../btn/btn-default-toolbar-small-corners.gif | Bin 0 -> 1585 bytes ...default-toolbar-small-disabled-corners.gif | Bin 0 -> 1585 bytes ...n-default-toolbar-small-disabled-sides.gif | Bin 0 -> 1591 bytes ...tn-default-toolbar-small-focus-corners.gif | Bin 0 -> 1621 bytes .../btn-default-toolbar-small-focus-sides.gif | Bin 0 -> 1607 bytes ...btn-default-toolbar-small-over-corners.gif | Bin 0 -> 1621 bytes .../btn-default-toolbar-small-over-sides.gif | Bin 0 -> 1607 bytes ...-default-toolbar-small-pressed-corners.gif | Bin 0 -> 1616 bytes ...tn-default-toolbar-small-pressed-sides.gif | Bin 0 -> 1607 bytes .../btn/btn-default-toolbar-small-sides.gif | Bin 0 -> 1591 bytes .../access/btn/btn-toolbar-large-corners.gif | Bin 0 -> 1585 bytes .../btn-toolbar-large-disabled-corners.gif | Bin 0 -> 1585 bytes .../btn/btn-toolbar-large-disabled-sides.gif | Bin 0 -> 1596 bytes .../btn/btn-toolbar-large-focus-corners.gif | Bin 0 -> 1620 bytes .../btn/btn-toolbar-large-focus-sides.gif | Bin 0 -> 1623 bytes .../btn/btn-toolbar-large-over-corners.gif | Bin 0 -> 1620 bytes .../btn/btn-toolbar-large-over-sides.gif | Bin 0 -> 1623 bytes .../btn/btn-toolbar-large-pressed-corners.gif | Bin 0 -> 1616 bytes .../btn/btn-toolbar-large-pressed-sides.gif | Bin 0 -> 1623 bytes .../access/btn/btn-toolbar-large-sides.gif | Bin 0 -> 1596 bytes .../access/btn/btn-toolbar-medium-corners.gif | Bin 0 -> 1585 bytes .../btn-toolbar-medium-disabled-corners.gif | Bin 0 -> 1585 bytes .../btn/btn-toolbar-medium-disabled-sides.gif | Bin 0 -> 1594 bytes .../btn/btn-toolbar-medium-focus-corners.gif | Bin 0 -> 1621 bytes .../btn/btn-toolbar-medium-focus-sides.gif | Bin 0 -> 1616 bytes .../btn/btn-toolbar-medium-over-corners.gif | Bin 0 -> 1621 bytes .../btn/btn-toolbar-medium-over-sides.gif | Bin 0 -> 1616 bytes .../btn-toolbar-medium-pressed-corners.gif | Bin 0 -> 1616 bytes .../btn/btn-toolbar-medium-pressed-sides.gif | Bin 0 -> 1616 bytes .../access/btn/btn-toolbar-medium-sides.gif | Bin 0 -> 1594 bytes .../access/btn/btn-toolbar-small-corners.gif | Bin 0 -> 1585 bytes .../btn-toolbar-small-disabled-corners.gif | Bin 0 -> 1585 bytes .../btn/btn-toolbar-small-disabled-sides.gif | Bin 0 -> 1591 bytes .../btn/btn-toolbar-small-focus-corners.gif | Bin 0 -> 1621 bytes .../btn/btn-toolbar-small-focus-sides.gif | Bin 0 -> 1607 bytes .../btn/btn-toolbar-small-over-corners.gif | Bin 0 -> 1621 bytes .../btn/btn-toolbar-small-over-sides.gif | Bin 0 -> 1607 bytes .../btn/btn-toolbar-small-pressed-corners.gif | Bin 0 -> 1616 bytes .../btn/btn-toolbar-small-pressed-sides.gif | Bin 0 -> 1607 bytes .../access/btn/btn-toolbar-small-sides.gif | Bin 0 -> 1591 bytes .../themes/images/access/button/arrow.gif | Bin 0 -> 833 bytes .../themes/images/access/button/btn.gif | Bin 0 -> 2871 bytes .../themes/images/access/button/group-cs.gif | Bin 0 -> 2459 bytes .../themes/images/access/button/group-lr.gif | Bin 0 -> 861 bytes .../themes/images/access/button/group-tb.gif | Bin 0 -> 70 bytes .../images/access/button/s-arrow-b-noline.gif | Bin 0 -> 904 bytes .../themes/images/access/button/s-arrow-b.gif | Bin 0 -> 943 bytes .../images/access/button/s-arrow-bo.gif | Bin 0 -> 961 bytes .../images/access/button/s-arrow-light.gif | Bin 0 -> 116 bytes .../images/access/button/s-arrow-noline.gif | Bin 0 -> 875 bytes .../themes/images/access/button/s-arrow-o.gif | Bin 0 -> 155 bytes .../themes/images/access/button/s-arrow.gif | Bin 0 -> 956 bytes .../datepicker/datepicker-footer-bg.gif | Bin 0 -> 1835 bytes .../datepicker/datepicker-header-bg.gif | Bin 0 -> 1858 bytes .../themes/images/access/dd/drop-add.gif | Bin 0 -> 1001 bytes .../themes/images/access/dd/drop-between.gif | Bin 0 -> 907 bytes .../themes/images/access/dd/drop-no.gif | Bin 0 -> 949 bytes .../themes/images/access/dd/drop-over.gif | Bin 0 -> 911 bytes .../themes/images/access/dd/drop-under.gif | Bin 0 -> 911 bytes .../themes/images/access/dd/drop-yes.gif | Bin 0 -> 1016 bytes .../themes/images/access/editor/tb-sprite.gif | Bin 0 -> 1994 bytes .../form-invalid-tip-default-corners.gif | Bin 0 -> 1690 bytes .../form-invalid-tip-default-sides.gif | Bin 0 -> 1647 bytes .../themes/images/access/form/checkbox.gif | Bin 0 -> 3210 bytes .../themes/images/access/form/checkbox_.gif | Bin 0 -> 2061 bytes .../images/access/form/clear-trigger.gif | Bin 0 -> 2027 bytes .../images/access/form/date-trigger.gif | Bin 0 -> 1620 bytes .../images/access/form/error-tip-corners.gif | Bin 0 -> 4183 bytes .../themes/images/access/form/exclamation.gif | Bin 0 -> 614 bytes .../themes/images/access/form/radio.gif | Bin 0 -> 3444 bytes .../themes/images/access/form/radio_.gif | Bin 0 -> 1746 bytes .../images/access/form/search-trigger.gif | Bin 0 -> 1534 bytes .../images/access/form/spinner-small.gif | Bin 0 -> 1145 bytes .../themes/images/access/form/spinner.gif | Bin 0 -> 1145 bytes .../themes/images/access/form/spinner_.gif | Bin 0 -> 1943 bytes .../themes/images/access/form/text-bg.gif | Bin 0 -> 66 bytes .../themes/images/access/form/trigger-tpl.gif | Bin 0 -> 908 bytes .../themes/images/access/form/trigger.gif | Bin 0 -> 1451 bytes .../images/access/grid/arrow-left-white.gif | Bin 0 -> 825 bytes .../images/access/grid/arrow-right-white.gif | Bin 0 -> 825 bytes .../images/access/grid/cell-special-bg.gif | Bin 0 -> 1636 bytes .../access/grid/cell-special-selected-bg.gif | Bin 0 -> 1637 bytes .../themes/images/access/grid/checked.gif | Bin 0 -> 959 bytes .../images/access/grid/col-move-bottom.gif | Bin 0 -> 868 bytes .../images/access/grid/col-move-top.gif | Bin 0 -> 869 bytes .../images/access/grid/column-header-bg.gif | Bin 0 -> 1863 bytes .../access/grid/column-header-over-bg.gif | Bin 0 -> 1860 bytes .../themes/images/access/grid/columns.gif | Bin 0 -> 962 bytes .../access/grid/dd-insert-arrow-left.gif | Bin 0 -> 299 bytes .../access/grid/dd-insert-arrow-left.png | Bin 0 -> 345 bytes .../access/grid/dd-insert-arrow-right.gif | Bin 0 -> 301 bytes .../access/grid/dd-insert-arrow-right.png | Bin 0 -> 349 bytes .../themes/images/access/grid/dirty.gif | Bin 0 -> 68 bytes .../themes/images/access/grid/done.gif | Bin 0 -> 133 bytes .../themes/images/access/grid/drop-no.gif | Bin 0 -> 947 bytes .../themes/images/access/grid/drop-yes.gif | Bin 0 -> 860 bytes .../themes/images/access/grid/footer-bg.gif | Bin 0 -> 834 bytes .../images/access/grid/grid-blue-hd.gif | Bin 0 -> 829 bytes .../images/access/grid/grid-blue-split.gif | Bin 0 -> 47 bytes .../themes/images/access/grid/grid-hrow.gif | Bin 0 -> 855 bytes .../images/access/grid/grid-loading.gif | Bin 0 -> 701 bytes .../themes/images/access/grid/grid-split.gif | Bin 0 -> 817 bytes .../images/access/grid/grid-vista-hd.gif | Bin 0 -> 829 bytes .../images/access/grid/grid3-hd-btn.gif | Bin 0 -> 419 bytes .../images/access/grid/grid3-hrow-over.gif | Bin 0 -> 268 bytes .../themes/images/access/grid/grid3-hrow.gif | Bin 0 -> 164 bytes .../access/grid/grid3-special-col-bg.gif | Bin 0 -> 162 bytes .../access/grid/grid3-special-col-sel-bg.gif | Bin 0 -> 162 bytes .../themes/images/access/grid/group-by.gif | Bin 0 -> 917 bytes .../images/access/grid/group-collapse.gif | Bin 0 -> 77 bytes .../access/grid/group-expand-sprite.gif | Bin 0 -> 131 bytes .../images/access/grid/group-expand.gif | Bin 0 -> 82 bytes .../themes/images/access/grid/hd-pop.gif | Bin 0 -> 839 bytes .../themes/images/access/grid/hmenu-asc.gif | Bin 0 -> 931 bytes .../themes/images/access/grid/hmenu-desc.gif | Bin 0 -> 930 bytes .../themes/images/access/grid/hmenu-lock.gif | Bin 0 -> 955 bytes .../themes/images/access/grid/hmenu-lock.png | Bin 0 -> 648 bytes .../images/access/grid/hmenu-unlock.gif | Bin 0 -> 971 bytes .../images/access/grid/hmenu-unlock.png | Bin 0 -> 697 bytes .../images/access/grid/invalid_line.gif | Bin 0 -> 46 bytes .../themes/images/access/grid/loading.gif | Bin 0 -> 771 bytes .../themes/images/access/grid/mso-hd.gif | Bin 0 -> 875 bytes .../themes/images/access/grid/nowait.gif | Bin 0 -> 884 bytes .../access/grid/page-first-disabled.gif | Bin 0 -> 340 bytes .../themes/images/access/grid/page-first.gif | Bin 0 -> 96 bytes .../images/access/grid/page-last-disabled.gif | Bin 0 -> 340 bytes .../themes/images/access/grid/page-last.gif | Bin 0 -> 96 bytes .../images/access/grid/page-next-disabled.gif | Bin 0 -> 195 bytes .../themes/images/access/grid/page-next.gif | Bin 0 -> 82 bytes .../images/access/grid/page-prev-disabled.gif | Bin 0 -> 197 bytes .../themes/images/access/grid/page-prev.gif | Bin 0 -> 82 bytes .../themes/images/access/grid/pick-button.gif | Bin 0 -> 1036 bytes .../images/access/grid/property-cell-bg.gif | Bin 0 -> 160 bytes .../images/access/grid/refresh-disabled.gif | Bin 0 -> 577 bytes .../themes/images/access/grid/refresh.gif | Bin 0 -> 91 bytes .../images/access/grid/row-check-sprite.gif | Bin 0 -> 1083 bytes .../images/access/grid/row-expand-sprite.gif | Bin 0 -> 955 bytes .../themes/images/access/grid/row-over.gif | Bin 0 -> 823 bytes .../themes/images/access/grid/row-sel.gif | Bin 0 -> 823 bytes .../themes/images/access/grid/sort-hd.gif | Bin 0 -> 2075 bytes .../themes/images/access/grid/sort_asc.gif | Bin 0 -> 74 bytes .../themes/images/access/grid/sort_desc.gif | Bin 0 -> 73 bytes .../themes/images/access/grid/unchecked.gif | Bin 0 -> 941 bytes .../themes/images/access/grid/wait.gif | Bin 0 -> 1100 bytes .../images/access/layout/mini-bottom.gif | Bin 0 -> 856 bytes .../themes/images/access/layout/mini-left.gif | Bin 0 -> 871 bytes .../images/access/layout/mini-right.gif | Bin 0 -> 872 bytes .../themes/images/access/layout/mini-top.gif | Bin 0 -> 856 bytes .../themes/images/access/menu/checked.gif | Bin 0 -> 959 bytes .../images/access/menu/group-checked.gif | Bin 0 -> 856 bytes .../themes/images/access/menu/item-over.gif | Bin 0 -> 820 bytes .../access/menu/menu-item-active-bg.gif | Bin 0 -> 1839 bytes .../access/menu/menu-item-active-corners.gif | Bin 0 -> 1620 bytes .../access/menu/menu-item-active-sides.gif | Bin 0 -> 1918 bytes .../themes/images/access/menu/menu-parent.gif | Bin 0 -> 73 bytes .../themes/images/access/menu/menu.gif | Bin 0 -> 826 bytes .../themes/images/access/menu/unchecked.gif | Bin 0 -> 941 bytes .../access/panel-header/panel-header-bg.gif | Bin 0 -> 1860 bytes .../panel-header-default-bottom-bg.gif | Bin 0 -> 1854 bytes .../panel-header-default-framed-bottom-bg.gif | Bin 0 -> 1837 bytes ...l-header-default-framed-bottom-corners.gif | Bin 0 -> 1621 bytes ...ader-default-framed-bottom-noborder-bg.gif | Bin 0 -> 1831 bytes ...default-framed-bottom-noborder-corners.gif | Bin 0 -> 1607 bytes ...r-default-framed-bottom-noborder-sides.gif | Bin 0 -> 1735 bytes ...nel-header-default-framed-bottom-sides.gif | Bin 0 -> 1900 bytes ...der-default-framed-collapsed-bottom-bg.gif | Bin 0 -> 1833 bytes ...efault-framed-collapsed-bottom-corners.gif | Bin 0 -> 1629 bytes ...-default-framed-collapsed-bottom-sides.gif | Bin 0 -> 1898 bytes ...eader-default-framed-collapsed-left-bg.gif | Bin 0 -> 1640 bytes ...-default-framed-collapsed-left-corners.gif | Bin 0 -> 1639 bytes ...er-default-framed-collapsed-left-sides.gif | Bin 0 -> 1801 bytes ...ader-default-framed-collapsed-right-bg.gif | Bin 0 -> 1641 bytes ...default-framed-collapsed-right-corners.gif | Bin 0 -> 1643 bytes ...r-default-framed-collapsed-right-sides.gif | Bin 0 -> 1803 bytes ...header-default-framed-collapsed-top-bg.gif | Bin 0 -> 1831 bytes ...r-default-framed-collapsed-top-corners.gif | Bin 0 -> 1629 bytes ...der-default-framed-collapsed-top-sides.gif | Bin 0 -> 1898 bytes .../panel-header-default-framed-left-bg.gif | Bin 0 -> 1641 bytes ...nel-header-default-framed-left-corners.gif | Bin 0 -> 1631 bytes ...header-default-framed-left-noborder-bg.gif | Bin 0 -> 1639 bytes ...r-default-framed-left-noborder-corners.gif | Bin 0 -> 1623 bytes ...der-default-framed-left-noborder-sides.gif | Bin 0 -> 1746 bytes ...panel-header-default-framed-left-sides.gif | Bin 0 -> 1802 bytes .../panel-header-default-framed-right-bg.gif | Bin 0 -> 1642 bytes ...el-header-default-framed-right-corners.gif | Bin 0 -> 1632 bytes ...eader-default-framed-right-noborder-bg.gif | Bin 0 -> 1639 bytes ...-default-framed-right-noborder-corners.gif | Bin 0 -> 1623 bytes ...er-default-framed-right-noborder-sides.gif | Bin 0 -> 1749 bytes ...anel-header-default-framed-right-sides.gif | Bin 0 -> 1804 bytes .../panel-header-default-framed-top-bg.gif | Bin 0 -> 1848 bytes ...anel-header-default-framed-top-corners.gif | Bin 0 -> 1620 bytes ...-header-default-framed-top-noborder-bg.gif | Bin 0 -> 1838 bytes ...er-default-framed-top-noborder-corners.gif | Bin 0 -> 1606 bytes ...ader-default-framed-top-noborder-sides.gif | Bin 0 -> 1739 bytes .../panel-header-default-framed-top-sides.gif | Bin 0 -> 1905 bytes .../panel-header-default-left-bg.gif | Bin 0 -> 1643 bytes .../panel-header-default-right-bg.gif | Bin 0 -> 1645 bytes .../panel-header-default-top-bg.gif | Bin 0 -> 1859 bytes .../panel-header/panel-header-framed-bg.gif | Bin 0 -> 1845 bytes .../panel-header-framed-corners.gif | Bin 0 -> 1613 bytes .../panel-header-framed-sides.gif | Bin 0 -> 1919 bytes .../panel-header/panel-header-vertical-bg.gif | Bin 0 -> 1601 bytes .../images/access/panel/corners-sprite.gif | Bin 0 -> 577 bytes .../themes/images/access/panel/left-right.gif | Bin 0 -> 52 bytes .../themes/images/access/panel/light-hd.gif | Bin 0 -> 161 bytes .../panel/panel-default-framed-corners.gif | Bin 0 -> 1616 bytes .../panel-default-framed-noborder-corners.gif | Bin 0 -> 1607 bytes .../panel-default-framed-noborder-sides.gif | Bin 0 -> 1625 bytes .../panel/panel-default-framed-sides.gif | Bin 0 -> 1693 bytes .../access/panel/panel-framed-corners.gif | Bin 0 -> 1614 bytes .../access/panel/panel-framed-sides.gif | Bin 0 -> 1693 bytes .../images/access/panel/tool-sprite-tpl.gif | Bin 0 -> 971 bytes .../images/access/panel/tool-sprites.gif | Bin 0 -> 1981 bytes .../access/panel/tools-sprites-trans.gif | Bin 0 -> 2843 bytes .../themes/images/access/panel/top-bottom.gif | Bin 0 -> 116 bytes .../access/panel/white-corners-sprite.gif | Bin 0 -> 1366 bytes .../images/access/panel/white-left-right.gif | Bin 0 -> 52 bytes .../images/access/panel/white-top-bottom.gif | Bin 0 -> 115 bytes .../access/progress/progress-default-bg.gif | Bin 0 -> 1839 bytes .../themes/images/access/qtip/close.gif | Bin 0 -> 972 bytes .../images/access/qtip/tip-anchor-sprite.gif | Bin 0 -> 951 bytes .../themes/images/access/qtip/tip-sprite.gif | Bin 0 -> 3376 bytes .../images/access/shared/blue-loading.gif | Bin 0 -> 3236 bytes .../themes/images/access/shared/glass-bg.gif | Bin 0 -> 103 bytes .../themes/images/access/shared/hd-sprite.gif | Bin 0 -> 673 bytes .../images/access/shared/icon-error.gif | Bin 0 -> 1669 bytes .../themes/images/access/shared/icon-info.gif | Bin 0 -> 1586 bytes .../images/access/shared/icon-question.gif | Bin 0 -> 1607 bytes .../images/access/shared/icon-warning.gif | Bin 0 -> 1483 bytes .../images/access/shared/large-loading.gif | Bin 0 -> 3236 bytes .../themes/images/access/shared/left-btn.gif | Bin 0 -> 77 bytes .../themes/images/access/shared/right-btn.gif | Bin 0 -> 79 bytes .../images/access/sizer/e-handle-dark.gif | Bin 0 -> 248 bytes .../themes/images/access/sizer/e-handle.gif | Bin 0 -> 753 bytes .../images/access/sizer/ne-handle-dark.gif | Bin 0 -> 66 bytes .../themes/images/access/sizer/ne-handle.gif | Bin 0 -> 115 bytes .../images/access/sizer/nw-handle-dark.gif | Bin 0 -> 66 bytes .../themes/images/access/sizer/nw-handle.gif | Bin 0 -> 114 bytes .../images/access/sizer/s-handle-dark.gif | Bin 0 -> 246 bytes .../themes/images/access/sizer/s-handle.gif | Bin 0 -> 494 bytes .../images/access/sizer/se-handle-dark.gif | Bin 0 -> 65 bytes .../themes/images/access/sizer/se-handle.gif | Bin 0 -> 114 bytes .../themes/images/access/sizer/square.gif | Bin 0 -> 123 bytes .../images/access/sizer/sw-handle-dark.gif | Bin 0 -> 66 bytes .../themes/images/access/sizer/sw-handle.gif | Bin 0 -> 116 bytes .../themes/images/access/slider/slider-bg.gif | Bin 0 -> 144 bytes .../themes/images/access/slider/slider-bg.png | Bin 0 -> 3636 bytes .../images/access/slider/slider-thumb.gif | Bin 0 -> 437 bytes .../images/access/slider/slider-thumb.png | Bin 0 -> 3436 bytes .../images/access/slider/slider-v-bg.gif | Bin 0 -> 149 bytes .../images/access/slider/slider-v-bg.png | Bin 0 -> 3630 bytes .../images/access/slider/slider-v-thumb.gif | Bin 0 -> 436 bytes .../images/access/slider/slider-v-thumb.png | Bin 0 -> 3432 bytes .../themes/images/access/spinner.gif | Bin 0 -> 2048 bytes .../images/access/tab-bar/scroll-left.gif | Bin 0 -> 996 bytes .../images/access/tab-bar/scroll-right.gif | Bin 0 -> 999 bytes .../access/tab-bar/tab-bar-default-bg.gif | Bin 0 -> 1841 bytes .../access/tab/tab-bottom-active-corners.gif | Bin 0 -> 1640 bytes .../access/tab/tab-bottom-active-sides.gif | Bin 0 -> 1621 bytes .../images/access/tab/tab-bottom-corners.gif | Bin 0 -> 1640 bytes .../tab/tab-bottom-disabled-corners.gif | Bin 0 -> 1640 bytes .../access/tab/tab-bottom-disabled-sides.gif | Bin 0 -> 1621 bytes .../access/tab/tab-bottom-over-corners.gif | Bin 0 -> 1640 bytes .../access/tab/tab-bottom-over-sides.gif | Bin 0 -> 1621 bytes .../images/access/tab/tab-bottom-sides.gif | Bin 0 -> 1621 bytes .../tab/tab-default-bottom-active-corners.gif | Bin 0 -> 1639 bytes .../tab/tab-default-bottom-active-sides.gif | Bin 0 -> 1628 bytes .../access/tab/tab-default-bottom-corners.gif | Bin 0 -> 1643 bytes .../tab-default-bottom-disabled-corners.gif | Bin 0 -> 1630 bytes .../tab/tab-default-bottom-disabled-sides.gif | Bin 0 -> 1628 bytes .../tab/tab-default-bottom-over-corners.gif | Bin 0 -> 1643 bytes .../tab/tab-default-bottom-over-sides.gif | Bin 0 -> 1628 bytes .../access/tab/tab-default-bottom-sides.gif | Bin 0 -> 1628 bytes .../tab/tab-default-top-active-corners.gif | Bin 0 -> 1625 bytes .../tab/tab-default-top-active-sides.gif | Bin 0 -> 1620 bytes .../access/tab/tab-default-top-corners.gif | Bin 0 -> 1631 bytes .../tab/tab-default-top-disabled-corners.gif | Bin 0 -> 1621 bytes .../tab/tab-default-top-disabled-sides.gif | Bin 0 -> 1620 bytes .../tab/tab-default-top-over-corners.gif | Bin 0 -> 1631 bytes .../access/tab/tab-default-top-over-sides.gif | Bin 0 -> 1620 bytes .../access/tab/tab-default-top-sides.gif | Bin 0 -> 1620 bytes .../access/tab/tab-top-active-corners.gif | Bin 0 -> 1625 bytes .../access/tab/tab-top-active-sides.gif | Bin 0 -> 1614 bytes .../images/access/tab/tab-top-corners.gif | Bin 0 -> 1625 bytes .../access/tab/tab-top-disabled-corners.gif | Bin 0 -> 1625 bytes .../access/tab/tab-top-disabled-sides.gif | Bin 0 -> 1614 bytes .../access/tab/tab-top-over-corners.gif | Bin 0 -> 1625 bytes .../images/access/tab/tab-top-over-sides.gif | Bin 0 -> 1614 bytes .../images/access/tab/tab-top-sides.gif | Bin 0 -> 1614 bytes .../access/tabs/tab-btm-inactive-left-bg.gif | Bin 0 -> 130 bytes .../access/tabs/tab-btm-inactive-right-bg.gif | Bin 0 -> 513 bytes .../images/access/tabs/tab-btm-left-bg.gif | Bin 0 -> 512 bytes .../images/access/tabs/tab-btm-right-bg.gif | Bin 0 -> 117 bytes .../themes/images/access/tabs/tab-close.gif | Bin 0 -> 76 bytes .../images/access/tabs/tab-strip-bg.gif | Bin 0 -> 827 bytes .../images/access/tabs/tab-strip-btm-bg.gif | Bin 0 -> 70 bytes .../themes/images/access/tabs/tabs-sprite.gif | Bin 0 -> 1221 bytes .../themes/images/access/tip/tip-corners.gif | Bin 0 -> 1619 bytes .../themes/images/access/tip/tip-corners.png | Bin 0 -> 258 bytes .../themes/images/access/tip/tip-sides.gif | Bin 0 -> 1623 bytes .../themes/images/access/tip/tip-sides.png | Bin 0 -> 129 bytes .../themes/images/access/toolbar/bg.gif | Bin 0 -> 82 bytes .../images/access/toolbar/btn-arrow-light.gif | Bin 0 -> 916 bytes .../images/access/toolbar/btn-arrow.gif | Bin 0 -> 919 bytes .../images/access/toolbar/btn-over-bg.gif | Bin 0 -> 837 bytes .../themes/images/access/toolbar/gray-bg.gif | Bin 0 -> 832 bytes .../themes/images/access/toolbar/more.gif | Bin 0 -> 67 bytes .../images/access/toolbar/s-arrow-bo.gif | Bin 0 -> 186 bytes .../images/access/toolbar/scroll-left.gif | Bin 0 -> 996 bytes .../images/access/toolbar/scroll-right.gif | Bin 0 -> 999 bytes .../images/access/toolbar/tb-btn-sprite.gif | Bin 0 -> 1127 bytes .../access/toolbar/tb-xl-btn-sprite.gif | Bin 0 -> 1663 bytes .../images/access/toolbar/tb-xl-sep.gif | Bin 0 -> 810 bytes .../access/toolbar/toolbar-default-bg.gif | Bin 0 -> 1807 bytes .../images/access/tools/tool-sprite-tpl.gif | Bin 0 -> 971 bytes .../images/access/tools/tool-sprites.gif | Bin 0 -> 1981 bytes .../access/tools/tools-sprites-trans.gif | Bin 0 -> 2843 bytes .../themes/images/access/tree/arrows.gif | Bin 0 -> 189 bytes .../themes/images/access/tree/drop-above.gif | Bin 0 -> 911 bytes .../themes/images/access/tree/drop-add.gif | Bin 0 -> 1001 bytes .../themes/images/access/tree/drop-append.gif | Bin 0 -> 1001 bytes .../themes/images/access/tree/drop-below.gif | Bin 0 -> 911 bytes .../images/access/tree/drop-between.gif | Bin 0 -> 907 bytes .../themes/images/access/tree/drop-no.gif | Bin 0 -> 949 bytes .../themes/images/access/tree/drop-over.gif | Bin 0 -> 911 bytes .../themes/images/access/tree/drop-under.gif | Bin 0 -> 911 bytes .../themes/images/access/tree/drop-yes.gif | Bin 0 -> 1016 bytes .../images/access/tree/elbow-end-minus-nl.gif | Bin 0 -> 90 bytes .../images/access/tree/elbow-end-minus.gif | Bin 0 -> 111 bytes .../images/access/tree/elbow-end-plus-nl.gif | Bin 0 -> 93 bytes .../images/access/tree/elbow-end-plus.gif | Bin 0 -> 114 bytes .../themes/images/access/tree/elbow-end.gif | Bin 0 -> 72 bytes .../themes/images/access/tree/elbow-line.gif | Bin 0 -> 74 bytes .../images/access/tree/elbow-minus-nl.gif | Bin 0 -> 90 bytes .../themes/images/access/tree/elbow-minus.gif | Bin 0 -> 113 bytes .../images/access/tree/elbow-plus-nl.gif | Bin 0 -> 93 bytes .../themes/images/access/tree/elbow-plus.gif | Bin 0 -> 117 bytes .../themes/images/access/tree/elbow.gif | Bin 0 -> 76 bytes .../themes/images/access/tree/folder-open.gif | Bin 0 -> 342 bytes .../themes/images/access/tree/folder.gif | Bin 0 -> 339 bytes .../themes/images/access/tree/leaf.gif | Bin 0 -> 945 bytes .../themes/images/access/tree/loading.gif | Bin 0 -> 771 bytes .../resources/themes/images/access/tree/s.gif | Bin 0 -> 43 bytes .../access/util/splitter/mini-bottom.gif | Bin 0 -> 856 bytes .../images/access/util/splitter/mini-left.gif | Bin 0 -> 871 bytes .../access/util/splitter/mini-right.gif | Bin 0 -> 872 bytes .../images/access/util/splitter/mini-top.gif | Bin 0 -> 856 bytes .../window-header-default-bottom-corners.gif | Bin 0 -> 1660 bytes .../window-header-default-bottom-sides.gif | Bin 0 -> 1628 bytes ...eader-default-collapsed-bottom-corners.gif | Bin 0 -> 206 bytes ...-header-default-collapsed-bottom-sides.gif | Bin 0 -> 1628 bytes ...-header-default-collapsed-left-corners.gif | Bin 0 -> 209 bytes ...ow-header-default-collapsed-left-sides.gif | Bin 0 -> 1612 bytes ...header-default-collapsed-right-corners.gif | Bin 0 -> 207 bytes ...w-header-default-collapsed-right-sides.gif | Bin 0 -> 1612 bytes ...w-header-default-collapsed-top-corners.gif | Bin 0 -> 208 bytes ...dow-header-default-collapsed-top-sides.gif | Bin 0 -> 1628 bytes .../window-header-default-left-corners.gif | Bin 0 -> 1651 bytes .../window-header-default-left-sides.gif | Bin 0 -> 1612 bytes .../window-header-default-right-corners.gif | Bin 0 -> 1657 bytes .../window-header-default-right-sides.gif | Bin 0 -> 1612 bytes .../window-header-default-top-corners.gif | Bin 0 -> 197 bytes .../window-header-default-top-sides.gif | Bin 0 -> 1628 bytes .../images/access/window/icon-error.gif | Bin 0 -> 256 bytes .../themes/images/access/window/icon-info.gif | Bin 0 -> 172 bytes .../images/access/window/icon-question.gif | Bin 0 -> 217 bytes .../images/access/window/icon-warning.gif | Bin 0 -> 173 bytes .../images/access/window/window-corners.gif | Bin 0 -> 1683 bytes .../access/window/window-default-corners.gif | Bin 0 -> 1677 bytes .../access/window/window-default-sides.gif | Bin 0 -> 1776 bytes .../images/access/window/window-sides.gif | Bin 0 -> 1776 bytes .../default/boundlist/trigger-arrow.png | Bin 0 -> 2869 bytes .../images/default/box/corners-blue.gif | Bin 0 -> 1010 bytes .../themes/images/default/box/corners.gif | Bin 0 -> 1005 bytes .../themes/images/default/box/l-blue.gif | Bin 0 -> 810 bytes .../resources/themes/images/default/box/l.gif | Bin 0 -> 810 bytes .../themes/images/default/box/r-blue.gif | Bin 0 -> 810 bytes .../resources/themes/images/default/box/r.gif | Bin 0 -> 810 bytes .../themes/images/default/box/tb-blue.gif | Bin 0 -> 851 bytes .../themes/images/default/box/tb.gif | Bin 0 -> 839 bytes .../btn-group-default-framed-corners.gif | Bin 0 -> 1598 bytes ...n-group-default-framed-notitle-corners.gif | Bin 0 -> 1598 bytes ...btn-group-default-framed-notitle-sides.gif | Bin 0 -> 1623 bytes .../btn-group-default-framed-sides.gif | Bin 0 -> 1630 bytes .../default/btn/btn-default-large-bg.gif | Bin 0 -> 1825 bytes .../default/btn/btn-default-large-corners.gif | Bin 0 -> 1616 bytes .../btn/btn-default-large-disabled-bg.gif | Bin 0 -> 1825 bytes .../btn-default-large-disabled-corners.gif | Bin 0 -> 1614 bytes .../btn/btn-default-large-disabled-sides.gif | Bin 0 -> 1923 bytes .../btn/btn-default-large-focus-bg.gif | Bin 0 -> 1840 bytes .../btn/btn-default-large-focus-corners.gif | Bin 0 -> 1621 bytes .../btn/btn-default-large-focus-sides.gif | Bin 0 -> 1923 bytes .../default/btn/btn-default-large-over-bg.gif | Bin 0 -> 1840 bytes .../btn/btn-default-large-over-corners.gif | Bin 0 -> 1621 bytes .../btn/btn-default-large-over-sides.gif | Bin 0 -> 1923 bytes .../btn/btn-default-large-pressed-bg.gif | Bin 0 -> 1869 bytes .../btn/btn-default-large-pressed-corners.gif | Bin 0 -> 1619 bytes .../btn/btn-default-large-pressed-sides.gif | Bin 0 -> 1953 bytes .../default/btn/btn-default-large-sides.gif | Bin 0 -> 1923 bytes .../default/btn/btn-default-medium-bg.gif | Bin 0 -> 1809 bytes .../btn/btn-default-medium-corners.gif | Bin 0 -> 1616 bytes .../btn/btn-default-medium-disabled-bg.gif | Bin 0 -> 1809 bytes .../btn-default-medium-disabled-corners.gif | Bin 0 -> 1614 bytes .../btn/btn-default-medium-disabled-sides.gif | Bin 0 -> 1907 bytes .../btn/btn-default-medium-focus-bg.gif | Bin 0 -> 1817 bytes .../btn/btn-default-medium-focus-corners.gif | Bin 0 -> 1622 bytes .../btn/btn-default-medium-focus-sides.gif | Bin 0 -> 1897 bytes .../btn/btn-default-medium-over-bg.gif | Bin 0 -> 1817 bytes .../btn/btn-default-medium-over-corners.gif | Bin 0 -> 1622 bytes .../btn/btn-default-medium-over-sides.gif | Bin 0 -> 1897 bytes .../btn/btn-default-medium-pressed-bg.gif | Bin 0 -> 1849 bytes .../btn-default-medium-pressed-corners.gif | Bin 0 -> 1619 bytes .../btn/btn-default-medium-pressed-sides.gif | Bin 0 -> 1929 bytes .../default/btn/btn-default-medium-sides.gif | Bin 0 -> 1907 bytes .../default/btn/btn-default-small-bg.gif | Bin 0 -> 1791 bytes .../default/btn/btn-default-small-corners.gif | Bin 0 -> 1614 bytes .../btn/btn-default-small-disabled-bg.gif | Bin 0 -> 1791 bytes .../btn-default-small-disabled-corners.gif | Bin 0 -> 1614 bytes .../btn/btn-default-small-disabled-sides.gif | Bin 0 -> 1878 bytes .../btn/btn-default-small-focus-bg.gif | Bin 0 -> 1800 bytes .../btn/btn-default-small-focus-corners.gif | Bin 0 -> 1622 bytes .../btn/btn-default-small-focus-sides.gif | Bin 0 -> 1879 bytes .../default/btn/btn-default-small-over-bg.gif | Bin 0 -> 1800 bytes .../btn/btn-default-small-over-corners.gif | Bin 0 -> 1621 bytes .../btn/btn-default-small-over-sides.gif | Bin 0 -> 1879 bytes .../btn/btn-default-small-pressed-bg.gif | Bin 0 -> 1811 bytes .../btn/btn-default-small-pressed-corners.gif | Bin 0 -> 1621 bytes .../btn/btn-default-small-pressed-sides.gif | Bin 0 -> 1892 bytes .../default/btn/btn-default-small-sides.gif | Bin 0 -> 1873 bytes .../btn/btn-default-toolbar-large-corners.gif | Bin 0 -> 1585 bytes ...default-toolbar-large-disabled-corners.gif | Bin 0 -> 1585 bytes ...n-default-toolbar-large-disabled-sides.gif | Bin 0 -> 1596 bytes .../btn-default-toolbar-large-focus-bg.gif | Bin 0 -> 1851 bytes ...tn-default-toolbar-large-focus-corners.gif | Bin 0 -> 1621 bytes .../btn-default-toolbar-large-focus-sides.gif | Bin 0 -> 1939 bytes .../btn/btn-default-toolbar-large-over-bg.gif | Bin 0 -> 1851 bytes ...btn-default-toolbar-large-over-corners.gif | Bin 0 -> 1621 bytes .../btn-default-toolbar-large-over-sides.gif | Bin 0 -> 1939 bytes .../btn-default-toolbar-large-pressed-bg.gif | Bin 0 -> 1846 bytes ...-default-toolbar-large-pressed-corners.gif | Bin 0 -> 1623 bytes ...tn-default-toolbar-large-pressed-sides.gif | Bin 0 -> 1933 bytes .../btn/btn-default-toolbar-large-sides.gif | Bin 0 -> 1596 bytes .../btn-default-toolbar-medium-corners.gif | Bin 0 -> 1585 bytes ...efault-toolbar-medium-disabled-corners.gif | Bin 0 -> 1585 bytes ...-default-toolbar-medium-disabled-sides.gif | Bin 0 -> 1594 bytes .../btn-default-toolbar-medium-focus-bg.gif | Bin 0 -> 1826 bytes ...n-default-toolbar-medium-focus-corners.gif | Bin 0 -> 1622 bytes ...btn-default-toolbar-medium-focus-sides.gif | Bin 0 -> 1917 bytes .../btn-default-toolbar-medium-over-bg.gif | Bin 0 -> 1826 bytes ...tn-default-toolbar-medium-over-corners.gif | Bin 0 -> 1622 bytes .../btn-default-toolbar-medium-over-sides.gif | Bin 0 -> 1917 bytes .../btn-default-toolbar-medium-pressed-bg.gif | Bin 0 -> 1846 bytes ...default-toolbar-medium-pressed-corners.gif | Bin 0 -> 1621 bytes ...n-default-toolbar-medium-pressed-sides.gif | Bin 0 -> 1919 bytes .../btn/btn-default-toolbar-medium-sides.gif | Bin 0 -> 1594 bytes .../btn/btn-default-toolbar-small-corners.gif | Bin 0 -> 1585 bytes ...default-toolbar-small-disabled-corners.gif | Bin 0 -> 1585 bytes ...n-default-toolbar-small-disabled-sides.gif | Bin 0 -> 1589 bytes .../btn-default-toolbar-small-focus-bg.gif | Bin 0 -> 1799 bytes ...tn-default-toolbar-small-focus-corners.gif | Bin 0 -> 1622 bytes .../btn-default-toolbar-small-focus-sides.gif | Bin 0 -> 1879 bytes .../btn/btn-default-toolbar-small-over-bg.gif | Bin 0 -> 1799 bytes ...btn-default-toolbar-small-over-corners.gif | Bin 0 -> 1622 bytes .../btn-default-toolbar-small-over-sides.gif | Bin 0 -> 1879 bytes .../btn-default-toolbar-small-pressed-bg.gif | Bin 0 -> 1813 bytes ...-default-toolbar-small-pressed-corners.gif | Bin 0 -> 1624 bytes ...tn-default-toolbar-small-pressed-sides.gif | Bin 0 -> 1892 bytes .../btn/btn-default-toolbar-small-sides.gif | Bin 0 -> 1589 bytes .../themes/images/default/button/arrow.gif | Bin 0 -> 828 bytes .../themes/images/default/button/btn.gif | Bin 0 -> 4298 bytes .../themes/images/default/button/group-cs.gif | Bin 0 -> 2459 bytes .../themes/images/default/button/group-lr.gif | Bin 0 -> 861 bytes .../themes/images/default/button/group-tb.gif | Bin 0 -> 846 bytes .../default/button/s-arrow-b-noline.gif | Bin 0 -> 898 bytes .../images/default/button/s-arrow-b.gif | Bin 0 -> 937 bytes .../images/default/button/s-arrow-bo.gif | Bin 0 -> 139 bytes .../images/default/button/s-arrow-light.gif | Bin 0 -> 116 bytes .../images/default/button/s-arrow-noline.gif | Bin 0 -> 863 bytes .../images/default/button/s-arrow-o.gif | Bin 0 -> 937 bytes .../themes/images/default/button/s-arrow.gif | Bin 0 -> 937 bytes .../datepicker/datepicker-footer-bg.gif | Bin 0 -> 1833 bytes .../datepicker/datepicker-footer-bg.png | Bin 0 -> 328 bytes .../datepicker/datepicker-header-bg.gif | Bin 0 -> 1860 bytes .../datepicker/datepicker-header-bg.png | Bin 0 -> 309 bytes .../themes/images/default/dd/drop-add.gif | Bin 0 -> 1001 bytes .../themes/images/default/dd/drop-no.gif | Bin 0 -> 949 bytes .../themes/images/default/dd/drop-yes.gif | Bin 0 -> 1016 bytes .../images/default/editor/tb-sprite.gif | Bin 0 -> 2072 bytes .../form-invalid-tip-corners.gif | Bin 0 -> 1688 bytes .../form-invalid-tip-default-corners.gif | Bin 0 -> 1690 bytes .../form-invalid-tip-default-sides.gif | Bin 0 -> 1647 bytes .../form-invalid-tip-sides.gif | Bin 0 -> 1647 bytes .../themes/images/default/form/checkbox.gif | Bin 0 -> 2061 bytes .../images/default/form/clear-trigger.gif | Bin 0 -> 1988 bytes .../images/default/form/date-trigger.gif | Bin 0 -> 1603 bytes .../images/default/form/error-tip-corners.gif | Bin 0 -> 4183 bytes .../images/default/form/exclamation.gif | Bin 0 -> 996 bytes .../themes/images/default/form/radio.gif | Bin 0 -> 1746 bytes .../images/default/form/search-trigger.gif | Bin 0 -> 2182 bytes .../images/default/form/spinner-small.gif | Bin 0 -> 743 bytes .../themes/images/default/form/spinner.gif | Bin 0 -> 1975 bytes .../themes/images/default/form/text-bg.gif | Bin 0 -> 819 bytes .../images/default/form/trigger-square.gif | Bin 0 -> 1810 bytes .../images/default/form/trigger-tpl.gif | Bin 0 -> 1487 bytes .../themes/images/default/form/trigger.gif | Bin 0 -> 1816 bytes .../images/default/grid/arrow-left-white.gif | Bin 0 -> 825 bytes .../images/default/grid/arrow-right-white.gif | Bin 0 -> 825 bytes .../images/default/grid/cell-special-bg.gif | Bin 0 -> 1636 bytes .../images/default/grid/cell-special-bg.png | Bin 0 -> 121 bytes .../default/grid/cell-special-selected-bg.gif | Bin 0 -> 1640 bytes .../default/grid/cell-special-selected-bg.png | Bin 0 -> 136 bytes .../themes/images/default/grid/checked.gif | Bin 0 -> 959 bytes .../images/default/grid/col-move-bottom.gif | Bin 0 -> 868 bytes .../images/default/grid/col-move-top.gif | Bin 0 -> 869 bytes .../images/default/grid/column-header-bg.gif | Bin 0 -> 1858 bytes .../images/default/grid/column-header-bg.png | Bin 0 -> 293 bytes .../default/grid/column-header-over-bg.gif | Bin 0 -> 1767 bytes .../default/grid/column-header-over-bg.png | Bin 0 -> 283 bytes .../themes/images/default/grid/columns.gif | Bin 0 -> 962 bytes .../default/grid/dd-insert-arrow-left.gif | Bin 0 -> 299 bytes .../default/grid/dd-insert-arrow-left.png | Bin 0 -> 345 bytes .../default/grid/dd-insert-arrow-right.gif | Bin 0 -> 301 bytes .../default/grid/dd-insert-arrow-right.png | Bin 0 -> 349 bytes .../themes/images/default/grid/dirty.gif | Bin 0 -> 832 bytes .../themes/images/default/grid/done.gif | Bin 0 -> 133 bytes .../themes/images/default/grid/drop-no.gif | Bin 0 -> 947 bytes .../themes/images/default/grid/drop-yes.gif | Bin 0 -> 860 bytes .../themes/images/default/grid/footer-bg.gif | Bin 0 -> 834 bytes .../images/default/grid/grid-blue-hd.gif | Bin 0 -> 829 bytes .../images/default/grid/grid-blue-split.gif | Bin 0 -> 817 bytes .../themes/images/default/grid/grid-hrow.gif | Bin 0 -> 855 bytes .../images/default/grid/grid-loading.gif | Bin 0 -> 701 bytes .../themes/images/default/grid/grid-split.gif | Bin 0 -> 817 bytes .../images/default/grid/grid-vista-hd.gif | Bin 0 -> 829 bytes .../images/default/grid/grid3-hd-btn.gif | Bin 0 -> 1229 bytes .../images/default/grid/grid3-hrow-over.gif | Bin 0 -> 823 bytes .../themes/images/default/grid/grid3-hrow.gif | Bin 0 -> 836 bytes .../images/default/grid/grid3-rowheader.gif | Bin 0 -> 43 bytes .../themes/images/default/grid/group-by.gif | Bin 0 -> 917 bytes .../images/default/grid/group-collapse.gif | Bin 0 -> 881 bytes .../default/grid/group-expand-sprite.gif | Bin 0 -> 955 bytes .../images/default/grid/group-expand.gif | Bin 0 -> 884 bytes .../themes/images/default/grid/hd-pop.gif | Bin 0 -> 839 bytes .../themes/images/default/grid/hmenu-asc.gif | Bin 0 -> 931 bytes .../themes/images/default/grid/hmenu-desc.gif | Bin 0 -> 930 bytes .../themes/images/default/grid/hmenu-lock.gif | Bin 0 -> 955 bytes .../themes/images/default/grid/hmenu-lock.png | Bin 0 -> 648 bytes .../images/default/grid/hmenu-unlock.gif | Bin 0 -> 971 bytes .../images/default/grid/hmenu-unlock.png | Bin 0 -> 697 bytes .../images/default/grid/invalid_line.gif | Bin 0 -> 815 bytes .../themes/images/default/grid/loading.gif | Bin 0 -> 771 bytes .../themes/images/default/grid/mso-hd.gif | Bin 0 -> 875 bytes .../themes/images/default/grid/nowait.gif | Bin 0 -> 884 bytes .../default/grid/page-first-disabled.gif | Bin 0 -> 925 bytes .../themes/images/default/grid/page-first.gif | Bin 0 -> 925 bytes .../default/grid/page-last-disabled.gif | Bin 0 -> 923 bytes .../themes/images/default/grid/page-last.gif | Bin 0 -> 923 bytes .../default/grid/page-next-disabled.gif | Bin 0 -> 875 bytes .../themes/images/default/grid/page-next.gif | Bin 0 -> 875 bytes .../default/grid/page-prev-disabled.gif | Bin 0 -> 879 bytes .../themes/images/default/grid/page-prev.gif | Bin 0 -> 879 bytes .../images/default/grid/pick-button.gif | Bin 0 -> 1036 bytes .../images/default/grid/property-cell-bg.gif | Bin 0 -> 155 bytes .../grid/property-cell-selected-bg.gif | Bin 0 -> 843 bytes .../images/default/grid/refresh-disabled.gif | Bin 0 -> 577 bytes .../themes/images/default/grid/refresh.gif | Bin 0 -> 977 bytes .../images/default/grid/row-check-sprite.gif | Bin 0 -> 1083 bytes .../images/default/grid/row-expand-sprite.gif | Bin 0 -> 955 bytes .../themes/images/default/grid/row-over.gif | Bin 0 -> 823 bytes .../themes/images/default/grid/row-sel.gif | Bin 0 -> 823 bytes .../themes/images/default/grid/sort-hd.gif | Bin 0 -> 1473 bytes .../themes/images/default/grid/sort_asc.gif | Bin 0 -> 830 bytes .../themes/images/default/grid/sort_desc.gif | Bin 0 -> 833 bytes .../themes/images/default/grid/unchecked.gif | Bin 0 -> 941 bytes .../themes/images/default/grid/wait.gif | Bin 0 -> 1100 bytes .../images/default/layout/mini-bottom.gif | Bin 0 -> 856 bytes .../images/default/layout/mini-left.gif | Bin 0 -> 871 bytes .../images/default/layout/mini-right.gif | Bin 0 -> 872 bytes .../themes/images/default/layout/mini-top.gif | Bin 0 -> 856 bytes .../themes/images/default/menu/checked.gif | Bin 0 -> 959 bytes .../images/default/menu/group-checked.gif | Bin 0 -> 891 bytes .../themes/images/default/menu/item-over.gif | Bin 0 -> 47 bytes .../default/menu/menu-item-active-bg.gif | Bin 0 -> 1833 bytes .../default/menu/menu-item-active-corners.gif | Bin 0 -> 1621 bytes .../default/menu/menu-item-active-sides.gif | Bin 0 -> 1909 bytes .../images/default/menu/menu-parent.gif | Bin 0 -> 854 bytes .../themes/images/default/menu/menu.gif | Bin 0 -> 834 bytes .../themes/images/default/menu/unchecked.gif | Bin 0 -> 941 bytes .../panel-header-default-bottom-bg.gif | Bin 0 -> 1862 bytes .../panel-header-default-framed-bottom-bg.gif | Bin 0 -> 1839 bytes ...l-header-default-framed-bottom-corners.gif | Bin 0 -> 1648 bytes ...nel-header-default-framed-bottom-sides.gif | Bin 0 -> 2015 bytes ...der-default-framed-collapsed-bottom-bg.gif | Bin 0 -> 1820 bytes ...efault-framed-collapsed-bottom-corners.gif | Bin 0 -> 1667 bytes ...-default-framed-collapsed-bottom-sides.gif | Bin 0 -> 1998 bytes ...eader-default-framed-collapsed-left-bg.gif | Bin 0 -> 1634 bytes ...-default-framed-collapsed-left-corners.gif | Bin 0 -> 1684 bytes ...er-default-framed-collapsed-left-sides.gif | Bin 0 -> 1831 bytes ...ader-default-framed-collapsed-right-bg.gif | Bin 0 -> 1634 bytes ...default-framed-collapsed-right-corners.gif | Bin 0 -> 1687 bytes ...r-default-framed-collapsed-right-sides.gif | Bin 0 -> 1831 bytes ...header-default-framed-collapsed-top-bg.gif | Bin 0 -> 1821 bytes ...r-default-framed-collapsed-top-corners.gif | Bin 0 -> 1668 bytes ...der-default-framed-collapsed-top-sides.gif | Bin 0 -> 2002 bytes .../panel-header-default-framed-left-bg.gif | Bin 0 -> 1638 bytes ...nel-header-default-framed-left-corners.gif | Bin 0 -> 1669 bytes ...panel-header-default-framed-left-sides.gif | Bin 0 -> 1841 bytes .../panel-header-default-framed-right-bg.gif | Bin 0 -> 1639 bytes ...el-header-default-framed-right-corners.gif | Bin 0 -> 1667 bytes ...anel-header-default-framed-right-sides.gif | Bin 0 -> 1844 bytes .../panel-header-default-framed-top-bg.gif | Bin 0 -> 1842 bytes ...anel-header-default-framed-top-corners.gif | Bin 0 -> 1652 bytes .../panel-header-default-framed-top-sides.gif | Bin 0 -> 2019 bytes .../panel-header-default-left-bg.gif | Bin 0 -> 1640 bytes .../panel-header-default-right-bg.gif | Bin 0 -> 1640 bytes .../panel-header-default-top-bg.gif | Bin 0 -> 1863 bytes .../panel/panel-default-framed-corners.gif | Bin 0 -> 1639 bytes .../panel/panel-default-framed-sides.gif | Bin 0 -> 1727 bytes .../default/progress/progress-default-bg.gif | Bin 0 -> 1837 bytes .../images/default/shared/blue-loading.gif | Bin 0 -> 3236 bytes .../themes/images/default/shared/calendar.gif | Bin 0 -> 979 bytes .../themes/images/default/shared/glass-bg.gif | Bin 0 -> 873 bytes .../images/default/shared/hd-sprite.gif | Bin 0 -> 1099 bytes .../images/default/shared/icon-error.gif | Bin 0 -> 1669 bytes .../images/default/shared/icon-info.gif | Bin 0 -> 1586 bytes .../images/default/shared/icon-question.gif | Bin 0 -> 1607 bytes .../images/default/shared/icon-warning.gif | Bin 0 -> 1483 bytes .../images/default/shared/large-loading.gif | Bin 0 -> 3236 bytes .../themes/images/default/shared/left-btn.gif | Bin 0 -> 870 bytes .../images/default/shared/loading-balls.gif | Bin 0 -> 2118 bytes .../images/default/shared/right-btn.gif | Bin 0 -> 871 bytes .../themes/images/default/shared/shadow-c.png | Bin 0 -> 118 bytes .../images/default/shared/shadow-lr.png | Bin 0 -> 135 bytes .../themes/images/default/shared/shadow.png | Bin 0 -> 311 bytes .../themes/images/default/shared/warning.gif | Bin 0 -> 960 bytes .../images/default/sizer/e-handle-dark.gif | Bin 0 -> 1062 bytes .../themes/images/default/sizer/e-handle.gif | Bin 0 -> 1586 bytes .../images/default/sizer/ne-handle-dark.gif | Bin 0 -> 839 bytes .../themes/images/default/sizer/ne-handle.gif | Bin 0 -> 854 bytes .../images/default/sizer/nw-handle-dark.gif | Bin 0 -> 839 bytes .../themes/images/default/sizer/nw-handle.gif | Bin 0 -> 853 bytes .../images/default/sizer/s-handle-dark.gif | Bin 0 -> 1060 bytes .../themes/images/default/sizer/s-handle.gif | Bin 0 -> 1318 bytes .../images/default/sizer/se-handle-dark.gif | Bin 0 -> 838 bytes .../themes/images/default/sizer/se-handle.gif | Bin 0 -> 853 bytes .../themes/images/default/sizer/square.gif | Bin 0 -> 864 bytes .../images/default/sizer/sw-handle-dark.gif | Bin 0 -> 839 bytes .../themes/images/default/sizer/sw-handle.gif | Bin 0 -> 855 bytes .../images/default/slider/slider-bg.gif | Bin 0 -> 145 bytes .../images/default/slider/slider-bg.png | Bin 0 -> 1494 bytes .../images/default/slider/slider-thumb.gif | Bin 0 -> 542 bytes .../images/default/slider/slider-thumb.png | Bin 0 -> 933 bytes .../images/default/slider/slider-v-bg.gif | Bin 0 -> 150 bytes .../images/default/slider/slider-v-bg.png | Bin 0 -> 288 bytes .../images/default/slider/slider-v-thumb.gif | Bin 0 -> 533 bytes .../images/default/slider/slider-v-thumb.png | Bin 0 -> 883 bytes .../images/default/tab-bar/scroll-left.gif | Bin 0 -> 457 bytes .../images/default/tab-bar/scroll-right.gif | Bin 0 -> 460 bytes .../default/tab-bar/tab-bar-default-bg.gif | Bin 0 -> 1829 bytes .../tab/tab-default-bottom-active-bg.gif | Bin 0 -> 1785 bytes .../tab/tab-default-bottom-active-corners.gif | Bin 0 -> 1639 bytes .../tab/tab-default-bottom-active-sides.gif | Bin 0 -> 1982 bytes .../default/tab/tab-default-bottom-bg.gif | Bin 0 -> 1789 bytes .../tab/tab-default-bottom-corners.gif | Bin 0 -> 1648 bytes .../tab/tab-default-bottom-disabled-bg.gif | Bin 0 -> 1798 bytes .../tab-default-bottom-disabled-corners.gif | Bin 0 -> 1648 bytes .../tab/tab-default-bottom-disabled-sides.gif | Bin 0 -> 1984 bytes .../tab/tab-default-bottom-over-bg.gif | Bin 0 -> 1791 bytes .../tab/tab-default-bottom-over-corners.gif | Bin 0 -> 1643 bytes .../tab/tab-default-bottom-over-sides.gif | Bin 0 -> 1985 bytes .../default/tab/tab-default-bottom-sides.gif | Bin 0 -> 1984 bytes .../images/default/tab/tab-default-close.gif | Bin 0 -> 896 bytes .../default/tab/tab-default-top-active-bg.gif | Bin 0 -> 1775 bytes .../tab/tab-default-top-active-corners.gif | Bin 0 -> 1640 bytes .../tab/tab-default-top-active-sides.gif | Bin 0 -> 1962 bytes .../images/default/tab/tab-default-top-bg.gif | Bin 0 -> 1775 bytes .../default/tab/tab-default-top-corners.gif | Bin 0 -> 1648 bytes .../tab/tab-default-top-disabled-bg.gif | Bin 0 -> 1794 bytes .../tab/tab-default-top-disabled-corners.gif | Bin 0 -> 1649 bytes .../tab/tab-default-top-disabled-sides.gif | Bin 0 -> 1979 bytes .../default/tab/tab-default-top-over-bg.gif | Bin 0 -> 1777 bytes .../tab/tab-default-top-over-corners.gif | Bin 0 -> 1649 bytes .../tab/tab-default-top-over-sides.gif | Bin 0 -> 1963 bytes .../default/tab/tab-default-top-sides.gif | Bin 0 -> 1962 bytes .../themes/images/default/tip/tip-corners.gif | Bin 0 -> 1621 bytes .../themes/images/default/tip/tip-sides.gif | Bin 0 -> 1623 bytes .../themes/images/default/toolbar/more.gif | Bin 0 -> 845 bytes .../images/default/toolbar/scroll-left.gif | Bin 0 -> 1861 bytes .../images/default/toolbar/scroll-right.gif | Bin 0 -> 1865 bytes .../default/toolbar/toolbar-default-bg.gif | Bin 0 -> 1837 bytes .../images/default/tools/tool-sprite-tpl.gif | Bin 0 -> 971 bytes .../images/default/tools/tool-sprites.gif | Bin 0 -> 5421 bytes .../default/tools/tools-sprites-trans.gif | Bin 0 -> 2843 bytes .../themes/images/default/tree/arrows.gif | Bin 0 -> 617 bytes .../themes/images/default/tree/drop-above.gif | Bin 0 -> 911 bytes .../themes/images/default/tree/drop-add.gif | Bin 0 -> 1001 bytes .../images/default/tree/drop-append.gif | Bin 0 -> 1001 bytes .../themes/images/default/tree/drop-below.gif | Bin 0 -> 911 bytes .../images/default/tree/drop-between.gif | Bin 0 -> 907 bytes .../themes/images/default/tree/drop-no.gif | Bin 0 -> 949 bytes .../themes/images/default/tree/drop-over.gif | Bin 0 -> 911 bytes .../themes/images/default/tree/drop-under.gif | Bin 0 -> 911 bytes .../themes/images/default/tree/drop-yes.gif | Bin 0 -> 1016 bytes .../default/tree/elbow-end-minus-nl.gif | Bin 0 -> 151 bytes .../images/default/tree/elbow-end-minus.gif | Bin 0 -> 157 bytes .../images/default/tree/elbow-end-plus-nl.gif | Bin 0 -> 152 bytes .../images/default/tree/elbow-end-plus.gif | Bin 0 -> 159 bytes .../themes/images/default/tree/elbow-end.gif | Bin 0 -> 70 bytes .../themes/images/default/tree/elbow-line.gif | Bin 0 -> 72 bytes .../images/default/tree/elbow-minus-nl.gif | Bin 0 -> 151 bytes .../images/default/tree/elbow-minus.gif | Bin 0 -> 159 bytes .../images/default/tree/elbow-plus-nl.gif | Bin 0 -> 152 bytes .../themes/images/default/tree/elbow-plus.gif | Bin 0 -> 160 bytes .../themes/images/default/tree/elbow.gif | Bin 0 -> 73 bytes .../images/default/tree/folder-open.gif | Bin 0 -> 356 bytes .../themes/images/default/tree/folder.gif | Bin 0 -> 351 bytes .../themes/images/default/tree/leaf.gif | Bin 0 -> 945 bytes .../themes/images/default/tree/loading.gif | Bin 0 -> 771 bytes .../themes/images/default/tree/s.gif | Bin 0 -> 43 bytes .../default/util/splitter/mini-bottom.gif | Bin 0 -> 856 bytes .../default/util/splitter/mini-left.gif | Bin 0 -> 871 bytes .../default/util/splitter/mini-right.gif | Bin 0 -> 872 bytes .../images/default/util/splitter/mini-top.gif | Bin 0 -> 856 bytes .../window-header-default-bottom-corners.gif | Bin 0 -> 1664 bytes .../window-header-default-bottom-sides.gif | Bin 0 -> 1624 bytes ...eader-default-collapsed-bottom-corners.gif | Bin 0 -> 213 bytes ...-header-default-collapsed-bottom-sides.gif | Bin 0 -> 1624 bytes ...-header-default-collapsed-left-corners.gif | Bin 0 -> 211 bytes ...ow-header-default-collapsed-left-sides.gif | Bin 0 -> 70 bytes ...header-default-collapsed-right-corners.gif | Bin 0 -> 213 bytes ...w-header-default-collapsed-right-sides.gif | Bin 0 -> 70 bytes ...w-header-default-collapsed-top-corners.gif | Bin 0 -> 215 bytes ...dow-header-default-collapsed-top-sides.gif | Bin 0 -> 1624 bytes .../window-header-default-left-corners.gif | Bin 0 -> 1655 bytes .../window-header-default-left-sides.gif | Bin 0 -> 1610 bytes .../window-header-default-right-corners.gif | Bin 0 -> 1656 bytes .../window-header-default-right-sides.gif | Bin 0 -> 1610 bytes .../window-header-default-top-corners.gif | Bin 0 -> 199 bytes .../window-header-default-top-sides.gif | Bin 0 -> 1624 bytes .../default/window/window-default-corners.gif | Bin 0 -> 1686 bytes .../default/window/window-default-sides.gif | Bin 0 -> 1776 bytes .../images/gray/boundlist/trigger-arrow.png | Bin 0 -> 2869 bytes .../themes/images/gray/box/corners-blue.gif | Bin 0 -> 1010 bytes .../themes/images/gray/box/corners.gif | Bin 0 -> 1005 bytes .../themes/images/gray/box/l-blue.gif | Bin 0 -> 810 bytes .../resources/themes/images/gray/box/l.gif | Bin 0 -> 810 bytes .../themes/images/gray/box/r-blue.gif | Bin 0 -> 810 bytes .../resources/themes/images/gray/box/r.gif | Bin 0 -> 810 bytes .../themes/images/gray/box/tb-blue.gif | Bin 0 -> 851 bytes .../resources/themes/images/gray/box/tb.gif | Bin 0 -> 839 bytes .../btn-group-default-framed-corners.gif | Bin 0 -> 1598 bytes ...n-group-default-framed-notitle-corners.gif | Bin 0 -> 1598 bytes ...btn-group-default-framed-notitle-sides.gif | Bin 0 -> 1623 bytes .../btn-group-default-framed-sides.gif | Bin 0 -> 1630 bytes .../images/gray/btn/btn-default-large-bg.gif | Bin 0 -> 1839 bytes .../gray/btn/btn-default-large-corners.gif | Bin 0 -> 1619 bytes .../btn/btn-default-large-disabled-bg.gif | Bin 0 -> 1847 bytes .../btn-default-large-disabled-corners.gif | Bin 0 -> 1615 bytes .../btn/btn-default-large-disabled-sides.gif | Bin 0 -> 1943 bytes .../gray/btn/btn-default-large-focus-bg.gif | Bin 0 -> 1837 bytes .../btn/btn-default-large-focus-corners.gif | Bin 0 -> 1619 bytes .../btn/btn-default-large-focus-sides.gif | Bin 0 -> 1935 bytes .../gray/btn/btn-default-large-over-bg.gif | Bin 0 -> 1837 bytes .../btn/btn-default-large-over-corners.gif | Bin 0 -> 1619 bytes .../gray/btn/btn-default-large-over-sides.gif | Bin 0 -> 1935 bytes .../gray/btn/btn-default-large-pressed-bg.gif | Bin 0 -> 1858 bytes .../btn/btn-default-large-pressed-corners.gif | Bin 0 -> 1619 bytes .../btn/btn-default-large-pressed-sides.gif | Bin 0 -> 1945 bytes .../gray/btn/btn-default-large-sides.gif | Bin 0 -> 1938 bytes .../images/gray/btn/btn-default-medium-bg.gif | Bin 0 -> 1826 bytes .../gray/btn/btn-default-medium-corners.gif | Bin 0 -> 1619 bytes .../btn/btn-default-medium-disabled-bg.gif | Bin 0 -> 1832 bytes .../btn-default-medium-disabled-corners.gif | Bin 0 -> 1618 bytes .../btn/btn-default-medium-disabled-sides.gif | Bin 0 -> 1923 bytes .../gray/btn/btn-default-medium-focus-bg.gif | Bin 0 -> 1823 bytes .../btn/btn-default-medium-focus-corners.gif | Bin 0 -> 1619 bytes .../btn/btn-default-medium-focus-sides.gif | Bin 0 -> 1915 bytes .../gray/btn/btn-default-medium-over-bg.gif | Bin 0 -> 1823 bytes .../btn/btn-default-medium-over-corners.gif | Bin 0 -> 1619 bytes .../btn/btn-default-medium-over-sides.gif | Bin 0 -> 1915 bytes .../btn/btn-default-medium-pressed-bg.gif | Bin 0 -> 1839 bytes .../btn-default-medium-pressed-corners.gif | Bin 0 -> 1621 bytes .../btn/btn-default-medium-pressed-sides.gif | Bin 0 -> 1917 bytes .../gray/btn/btn-default-medium-sides.gif | Bin 0 -> 1919 bytes .../images/gray/btn/btn-default-small-bg.gif | Bin 0 -> 1801 bytes .../gray/btn/btn-default-small-corners.gif | Bin 0 -> 1619 bytes .../btn/btn-default-small-disabled-bg.gif | Bin 0 -> 1803 bytes .../btn-default-small-disabled-corners.gif | Bin 0 -> 1618 bytes .../btn/btn-default-small-disabled-sides.gif | Bin 0 -> 1888 bytes .../gray/btn/btn-default-small-focus-bg.gif | Bin 0 -> 1810 bytes .../btn/btn-default-small-focus-corners.gif | Bin 0 -> 1622 bytes .../btn/btn-default-small-focus-sides.gif | Bin 0 -> 1892 bytes .../gray/btn/btn-default-small-over-bg.gif | Bin 0 -> 1810 bytes .../btn/btn-default-small-over-corners.gif | Bin 0 -> 1622 bytes .../gray/btn/btn-default-small-over-sides.gif | Bin 0 -> 1892 bytes .../gray/btn/btn-default-small-pressed-bg.gif | Bin 0 -> 1816 bytes .../btn/btn-default-small-pressed-corners.gif | Bin 0 -> 1621 bytes .../btn/btn-default-small-pressed-sides.gif | Bin 0 -> 1894 bytes .../gray/btn/btn-default-small-sides.gif | Bin 0 -> 1889 bytes .../btn/btn-default-toolbar-large-corners.gif | Bin 0 -> 1585 bytes ...default-toolbar-large-disabled-corners.gif | Bin 0 -> 1585 bytes ...n-default-toolbar-large-disabled-sides.gif | Bin 0 -> 1596 bytes .../btn-default-toolbar-large-focus-bg.gif | Bin 0 -> 1837 bytes ...tn-default-toolbar-large-focus-corners.gif | Bin 0 -> 1618 bytes .../btn-default-toolbar-large-focus-sides.gif | Bin 0 -> 1934 bytes .../btn/btn-default-toolbar-large-over-bg.gif | Bin 0 -> 1837 bytes ...btn-default-toolbar-large-over-corners.gif | Bin 0 -> 1618 bytes .../btn-default-toolbar-large-over-sides.gif | Bin 0 -> 1934 bytes .../btn-default-toolbar-large-pressed-bg.gif | Bin 0 -> 1858 bytes ...-default-toolbar-large-pressed-corners.gif | Bin 0 -> 1619 bytes ...tn-default-toolbar-large-pressed-sides.gif | Bin 0 -> 1947 bytes .../btn/btn-default-toolbar-large-sides.gif | Bin 0 -> 1596 bytes .../btn-default-toolbar-medium-corners.gif | Bin 0 -> 1585 bytes ...efault-toolbar-medium-disabled-corners.gif | Bin 0 -> 1585 bytes ...-default-toolbar-medium-disabled-sides.gif | Bin 0 -> 1594 bytes .../btn-default-toolbar-medium-focus-bg.gif | Bin 0 -> 1823 bytes ...n-default-toolbar-medium-focus-corners.gif | Bin 0 -> 1619 bytes ...btn-default-toolbar-medium-focus-sides.gif | Bin 0 -> 1915 bytes .../btn-default-toolbar-medium-over-bg.gif | Bin 0 -> 1823 bytes ...tn-default-toolbar-medium-over-corners.gif | Bin 0 -> 1619 bytes .../btn-default-toolbar-medium-over-sides.gif | Bin 0 -> 1915 bytes .../btn-default-toolbar-medium-pressed-bg.gif | Bin 0 -> 1839 bytes ...default-toolbar-medium-pressed-corners.gif | Bin 0 -> 1621 bytes ...n-default-toolbar-medium-pressed-sides.gif | Bin 0 -> 1917 bytes .../btn/btn-default-toolbar-medium-sides.gif | Bin 0 -> 1594 bytes .../btn/btn-default-toolbar-small-corners.gif | Bin 0 -> 1585 bytes ...default-toolbar-small-disabled-corners.gif | Bin 0 -> 1585 bytes ...n-default-toolbar-small-disabled-sides.gif | Bin 0 -> 1589 bytes .../btn-default-toolbar-small-focus-bg.gif | Bin 0 -> 1810 bytes ...tn-default-toolbar-small-focus-corners.gif | Bin 0 -> 1621 bytes .../btn-default-toolbar-small-focus-sides.gif | Bin 0 -> 1892 bytes .../btn/btn-default-toolbar-small-over-bg.gif | Bin 0 -> 1810 bytes ...btn-default-toolbar-small-over-corners.gif | Bin 0 -> 1621 bytes .../btn-default-toolbar-small-over-sides.gif | Bin 0 -> 1892 bytes .../btn-default-toolbar-small-pressed-bg.gif | Bin 0 -> 1816 bytes ...-default-toolbar-small-pressed-corners.gif | Bin 0 -> 1621 bytes ...tn-default-toolbar-small-pressed-sides.gif | Bin 0 -> 1894 bytes .../btn/btn-default-toolbar-small-sides.gif | Bin 0 -> 1589 bytes .../themes/images/gray/button/arrow.gif | Bin 0 -> 828 bytes .../themes/images/gray/button/btn-arrow.gif | Bin 0 -> 870 bytes .../themes/images/gray/button/btn-sprite.gif | Bin 0 -> 1222 bytes .../themes/images/gray/button/btn.gif | Bin 0 -> 3319 bytes .../themes/images/gray/button/group-cs.gif | Bin 0 -> 2459 bytes .../themes/images/gray/button/group-lr.gif | Bin 0 -> 861 bytes .../themes/images/gray/button/group-tb.gif | Bin 0 -> 846 bytes .../images/gray/button/s-arrow-b-noline.gif | Bin 0 -> 898 bytes .../themes/images/gray/button/s-arrow-b.gif | Bin 0 -> 937 bytes .../themes/images/gray/button/s-arrow-bo.gif | Bin 0 -> 937 bytes .../images/gray/button/s-arrow-light.gif | Bin 0 -> 116 bytes .../images/gray/button/s-arrow-noline.gif | Bin 0 -> 863 bytes .../themes/images/gray/button/s-arrow-o.gif | Bin 0 -> 139 bytes .../themes/images/gray/button/s-arrow.gif | Bin 0 -> 937 bytes .../gray/datepicker/datepicker-footer-bg.gif | Bin 0 -> 1800 bytes .../gray/datepicker/datepicker-footer-bg.png | Bin 0 -> 328 bytes .../gray/datepicker/datepicker-header-bg.gif | Bin 0 -> 1836 bytes .../gray/datepicker/datepicker-header-bg.png | Bin 0 -> 309 bytes .../themes/images/gray/dd/drop-add.gif | Bin 0 -> 1001 bytes .../themes/images/gray/dd/drop-no.gif | Bin 0 -> 949 bytes .../themes/images/gray/dd/drop-yes.gif | Bin 0 -> 1016 bytes .../themes/images/gray/editor/tb-sprite.gif | Bin 0 -> 2072 bytes .../form-invalid-tip-corners.gif | Bin 0 -> 1690 bytes .../form-invalid-tip-default-corners.gif | Bin 0 -> 1690 bytes .../form-invalid-tip-default-sides.gif | Bin 0 -> 1647 bytes .../form-invalid-tip-sides.gif | Bin 0 -> 1647 bytes .../themes/images/gray/form/checkbox.gif | Bin 0 -> 2061 bytes .../themes/images/gray/form/clear-trigger.gif | Bin 0 -> 1425 bytes .../themes/images/gray/form/date-trigger.gif | Bin 0 -> 929 bytes .../images/gray/form/error-tip-corners.gif | Bin 0 -> 4183 bytes .../themes/images/gray/form/exclamation.gif | Bin 0 -> 996 bytes .../themes/images/gray/form/radio.gif | Bin 0 -> 1746 bytes .../images/gray/form/search-trigger.gif | Bin 0 -> 2220 bytes .../themes/images/gray/form/spinner-small.gif | Bin 0 -> 743 bytes .../themes/images/gray/form/spinner.gif | Bin 0 -> 1975 bytes .../themes/images/gray/form/text-bg.gif | Bin 0 -> 819 bytes .../images/gray/form/trigger-square.gif | Bin 0 -> 1071 bytes .../themes/images/gray/form/trigger-tpl.gif | Bin 0 -> 1487 bytes .../themes/images/gray/form/trigger.gif | Bin 0 -> 1080 bytes .../images/gray/grid/arrow-left-white.gif | Bin 0 -> 825 bytes .../images/gray/grid/arrow-right-white.gif | Bin 0 -> 825 bytes .../images/gray/grid/cell-special-bg.gif | Bin 0 -> 1636 bytes .../images/gray/grid/cell-special-bg.png | Bin 0 -> 121 bytes .../gray/grid/cell-special-selected-bg.gif | Bin 0 -> 1640 bytes .../gray/grid/cell-special-selected-bg.png | Bin 0 -> 136 bytes .../themes/images/gray/grid/checked.gif | Bin 0 -> 959 bytes .../images/gray/grid/col-move-bottom.gif | Bin 0 -> 177 bytes .../themes/images/gray/grid/col-move-top.gif | Bin 0 -> 178 bytes .../images/gray/grid/column-header-bg.gif | Bin 0 -> 1858 bytes .../images/gray/grid/column-header-bg.png | Bin 0 -> 293 bytes .../gray/grid/column-header-over-bg.gif | Bin 0 -> 1767 bytes .../gray/grid/column-header-over-bg.png | Bin 0 -> 283 bytes .../themes/images/gray/grid/columns.gif | Bin 0 -> 962 bytes .../images/gray/grid/dd-insert-arrow-left.gif | Bin 0 -> 299 bytes .../images/gray/grid/dd-insert-arrow-left.png | Bin 0 -> 345 bytes .../gray/grid/dd-insert-arrow-right.gif | Bin 0 -> 301 bytes .../gray/grid/dd-insert-arrow-right.png | Bin 0 -> 349 bytes .../themes/images/gray/grid/dirty.gif | Bin 0 -> 832 bytes .../themes/images/gray/grid/done.gif | Bin 0 -> 133 bytes .../themes/images/gray/grid/drop-no.gif | Bin 0 -> 947 bytes .../themes/images/gray/grid/drop-yes.gif | Bin 0 -> 860 bytes .../themes/images/gray/grid/footer-bg.gif | Bin 0 -> 834 bytes .../themes/images/gray/grid/grid-blue-hd.gif | Bin 0 -> 829 bytes .../images/gray/grid/grid-blue-split.gif | Bin 0 -> 817 bytes .../themes/images/gray/grid/grid-hrow.gif | Bin 0 -> 855 bytes .../themes/images/gray/grid/grid-loading.gif | Bin 0 -> 701 bytes .../themes/images/gray/grid/grid-split.gif | Bin 0 -> 817 bytes .../themes/images/gray/grid/grid-vista-hd.gif | Bin 0 -> 829 bytes .../themes/images/gray/grid/grid3-hd-btn.gif | Bin 0 -> 482 bytes .../images/gray/grid/grid3-hrow-over.gif | Bin 0 -> 823 bytes .../themes/images/gray/grid/grid3-hrow.gif | Bin 0 -> 836 bytes .../images/gray/grid/grid3-rowheader.gif | Bin 0 -> 43 bytes .../themes/images/gray/grid/group-by.gif | Bin 0 -> 917 bytes .../images/gray/grid/group-collapse.gif | Bin 0 -> 136 bytes .../images/gray/grid/group-expand-sprite.gif | Bin 0 -> 196 bytes .../themes/images/gray/grid/group-expand.gif | Bin 0 -> 138 bytes .../themes/images/gray/grid/hd-pop.gif | Bin 0 -> 839 bytes .../themes/images/gray/grid/hmenu-asc.gif | Bin 0 -> 931 bytes .../themes/images/gray/grid/hmenu-desc.gif | Bin 0 -> 930 bytes .../themes/images/gray/grid/hmenu-lock.gif | Bin 0 -> 955 bytes .../themes/images/gray/grid/hmenu-lock.png | Bin 0 -> 648 bytes .../themes/images/gray/grid/hmenu-unlock.gif | Bin 0 -> 971 bytes .../themes/images/gray/grid/hmenu-unlock.png | Bin 0 -> 697 bytes .../themes/images/gray/grid/invalid_line.gif | Bin 0 -> 815 bytes .../themes/images/gray/grid/loading.gif | Bin 0 -> 771 bytes .../themes/images/gray/grid/mso-hd.gif | Bin 0 -> 875 bytes .../themes/images/gray/grid/nowait.gif | Bin 0 -> 884 bytes .../images/gray/grid/page-first-disabled.gif | Bin 0 -> 925 bytes .../themes/images/gray/grid/page-first.gif | Bin 0 -> 327 bytes .../images/gray/grid/page-last-disabled.gif | Bin 0 -> 923 bytes .../themes/images/gray/grid/page-last.gif | Bin 0 -> 325 bytes .../images/gray/grid/page-next-disabled.gif | Bin 0 -> 875 bytes .../themes/images/gray/grid/page-next.gif | Bin 0 -> 183 bytes .../images/gray/grid/page-prev-disabled.gif | Bin 0 -> 879 bytes .../themes/images/gray/grid/page-prev.gif | Bin 0 -> 186 bytes .../themes/images/gray/grid/pick-button.gif | Bin 0 -> 1036 bytes .../images/gray/grid/property-cell-bg.gif | Bin 0 -> 155 bytes .../gray/grid/property-cell-selected-bg.gif | Bin 0 -> 843 bytes .../images/gray/grid/refresh-disabled.gif | Bin 0 -> 577 bytes .../themes/images/gray/grid/refresh.gif | Bin 0 -> 570 bytes .../images/gray/grid/row-check-sprite.gif | Bin 0 -> 1083 bytes .../images/gray/grid/row-expand-sprite.gif | Bin 0 -> 196 bytes .../themes/images/gray/grid/row-over.gif | Bin 0 -> 823 bytes .../themes/images/gray/grid/row-sel.gif | Bin 0 -> 823 bytes .../themes/images/gray/grid/sort-hd.gif | Bin 0 -> 2731 bytes .../themes/images/gray/grid/sort_asc.gif | Bin 0 -> 59 bytes .../themes/images/gray/grid/sort_desc.gif | Bin 0 -> 59 bytes .../themes/images/gray/grid/unchecked.gif | Bin 0 -> 941 bytes .../themes/images/gray/grid/wait.gif | Bin 0 -> 1100 bytes .../themes/images/gray/layout/mini-bottom.gif | Bin 0 -> 856 bytes .../themes/images/gray/layout/mini-left.gif | Bin 0 -> 871 bytes .../themes/images/gray/layout/mini-right.gif | Bin 0 -> 872 bytes .../themes/images/gray/layout/mini-top.gif | Bin 0 -> 856 bytes .../themes/images/gray/menu/checked.gif | Bin 0 -> 959 bytes .../themes/images/gray/menu/group-checked.gif | Bin 0 -> 295 bytes .../images/gray/menu/item-over-disabled.gif | Bin 0 -> 49 bytes .../themes/images/gray/menu/item-over.gif | Bin 0 -> 850 bytes .../images/gray/menu/menu-item-active-bg.gif | Bin 0 -> 1820 bytes .../gray/menu/menu-item-active-corners.gif | Bin 0 -> 1620 bytes .../gray/menu/menu-item-active-sides.gif | Bin 0 -> 1902 bytes .../themes/images/gray/menu/menu-parent.gif | Bin 0 -> 165 bytes .../themes/images/gray/menu/menu.gif | Bin 0 -> 834 bytes .../themes/images/gray/menu/unchecked.gif | Bin 0 -> 941 bytes .../panel-header-default-bottom-bg.gif | Bin 0 -> 1842 bytes .../panel-header-default-framed-bottom-bg.gif | Bin 0 -> 1829 bytes ...l-header-default-framed-bottom-corners.gif | Bin 0 -> 1641 bytes ...nel-header-default-framed-bottom-sides.gif | Bin 0 -> 2009 bytes ...der-default-framed-collapsed-bottom-bg.gif | Bin 0 -> 1819 bytes ...efault-framed-collapsed-bottom-corners.gif | Bin 0 -> 1652 bytes ...-default-framed-collapsed-bottom-sides.gif | Bin 0 -> 1995 bytes ...eader-default-framed-collapsed-left-bg.gif | Bin 0 -> 1633 bytes ...-default-framed-collapsed-left-corners.gif | Bin 0 -> 1676 bytes ...er-default-framed-collapsed-left-sides.gif | Bin 0 -> 1828 bytes ...ader-default-framed-collapsed-right-bg.gif | Bin 0 -> 1634 bytes ...default-framed-collapsed-right-corners.gif | Bin 0 -> 1677 bytes ...r-default-framed-collapsed-right-sides.gif | Bin 0 -> 1832 bytes ...header-default-framed-collapsed-top-bg.gif | Bin 0 -> 1819 bytes ...r-default-framed-collapsed-top-corners.gif | Bin 0 -> 1656 bytes ...der-default-framed-collapsed-top-sides.gif | Bin 0 -> 2003 bytes .../panel-header-default-framed-left-bg.gif | Bin 0 -> 1637 bytes ...nel-header-default-framed-left-corners.gif | Bin 0 -> 1660 bytes ...panel-header-default-framed-left-sides.gif | Bin 0 -> 1841 bytes .../panel-header-default-framed-right-bg.gif | Bin 0 -> 1638 bytes ...el-header-default-framed-right-corners.gif | Bin 0 -> 1659 bytes ...anel-header-default-framed-right-sides.gif | Bin 0 -> 1842 bytes .../panel-header-default-framed-top-bg.gif | Bin 0 -> 1838 bytes ...anel-header-default-framed-top-corners.gif | Bin 0 -> 1641 bytes .../panel-header-default-framed-top-sides.gif | Bin 0 -> 2018 bytes .../panel-header-default-left-bg.gif | Bin 0 -> 1640 bytes .../panel-header-default-right-bg.gif | Bin 0 -> 1641 bytes .../panel-header-default-top-bg.gif | Bin 0 -> 1851 bytes .../panel/panel-default-framed-corners.gif | Bin 0 -> 1631 bytes .../gray/panel/panel-default-framed-sides.gif | Bin 0 -> 1727 bytes .../gray/progress/progress-default-bg.gif | Bin 0 -> 1832 bytes .../images/gray/shared/blue-loading.gif | Bin 0 -> 3236 bytes .../themes/images/gray/shared/calendar.gif | Bin 0 -> 979 bytes .../themes/images/gray/shared/glass-bg.gif | Bin 0 -> 873 bytes .../themes/images/gray/shared/hd-sprite.gif | Bin 0 -> 1099 bytes .../themes/images/gray/shared/icon-error.gif | Bin 0 -> 1669 bytes .../themes/images/gray/shared/icon-info.gif | Bin 0 -> 1586 bytes .../images/gray/shared/icon-question.gif | Bin 0 -> 1607 bytes .../images/gray/shared/icon-warning.gif | Bin 0 -> 1483 bytes .../images/gray/shared/large-loading.gif | Bin 0 -> 3236 bytes .../themes/images/gray/shared/left-btn.gif | Bin 0 -> 106 bytes .../images/gray/shared/loading-balls.gif | Bin 0 -> 2118 bytes .../themes/images/gray/shared/right-btn.gif | Bin 0 -> 107 bytes .../themes/images/gray/shared/shadow-c.png | Bin 0 -> 118 bytes .../themes/images/gray/shared/shadow-lr.png | Bin 0 -> 135 bytes .../themes/images/gray/shared/shadow.png | Bin 0 -> 311 bytes .../themes/images/gray/shared/warning.gif | Bin 0 -> 960 bytes .../images/gray/sizer/e-handle-dark.gif | Bin 0 -> 1062 bytes .../themes/images/gray/sizer/e-handle.gif | Bin 0 -> 753 bytes .../images/gray/sizer/ne-handle-dark.gif | Bin 0 -> 839 bytes .../themes/images/gray/sizer/ne-handle.gif | Bin 0 -> 128 bytes .../images/gray/sizer/nw-handle-dark.gif | Bin 0 -> 839 bytes .../themes/images/gray/sizer/nw-handle.gif | Bin 0 -> 114 bytes .../images/gray/sizer/s-handle-dark.gif | Bin 0 -> 1060 bytes .../themes/images/gray/sizer/s-handle.gif | Bin 0 -> 494 bytes .../images/gray/sizer/se-handle-dark.gif | Bin 0 -> 838 bytes .../themes/images/gray/sizer/se-handle.gif | Bin 0 -> 114 bytes .../themes/images/gray/sizer/square.gif | Bin 0 -> 123 bytes .../images/gray/sizer/sw-handle-dark.gif | Bin 0 -> 839 bytes .../themes/images/gray/sizer/sw-handle.gif | Bin 0 -> 116 bytes .../themes/images/gray/slider/slider-bg.gif | Bin 0 -> 145 bytes .../themes/images/gray/slider/slider-bg.png | Bin 0 -> 1494 bytes .../images/gray/slider/slider-thumb.gif | Bin 0 -> 542 bytes .../images/gray/slider/slider-thumb.png | Bin 0 -> 675 bytes .../themes/images/gray/slider/slider-v-bg.gif | Bin 0 -> 150 bytes .../themes/images/gray/slider/slider-v-bg.png | Bin 0 -> 288 bytes .../images/gray/slider/slider-v-thumb.gif | Bin 0 -> 533 bytes .../images/gray/slider/slider-v-thumb.png | Bin 0 -> 632 bytes .../images/gray/tab-bar/scroll-left.gif | Bin 0 -> 1260 bytes .../images/gray/tab-bar/scroll-right.gif | Bin 0 -> 1269 bytes .../gray/tab-bar/tab-bar-default-bg.gif | Bin 0 -> 314 bytes .../gray/tab/tab-default-bottom-active-bg.gif | Bin 0 -> 1813 bytes .../tab/tab-default-bottom-active-corners.gif | Bin 0 -> 1642 bytes .../tab/tab-default-bottom-active-sides.gif | Bin 0 -> 1998 bytes .../images/gray/tab/tab-default-bottom-bg.gif | Bin 0 -> 1796 bytes .../gray/tab/tab-default-bottom-corners.gif | Bin 0 -> 1646 bytes .../tab/tab-default-bottom-disabled-bg.gif | Bin 0 -> 1796 bytes .../tab-default-bottom-disabled-corners.gif | Bin 0 -> 1632 bytes .../tab/tab-default-bottom-disabled-sides.gif | Bin 0 -> 1989 bytes .../gray/tab/tab-default-bottom-over-bg.gif | Bin 0 -> 1783 bytes .../tab/tab-default-bottom-over-corners.gif | Bin 0 -> 1642 bytes .../tab/tab-default-bottom-over-sides.gif | Bin 0 -> 1979 bytes .../gray/tab/tab-default-bottom-sides.gif | Bin 0 -> 1985 bytes .../images/gray/tab/tab-default-close.gif | Bin 0 -> 896 bytes .../gray/tab/tab-default-top-active-bg.gif | Bin 0 -> 1811 bytes .../tab/tab-default-top-active-corners.gif | Bin 0 -> 1645 bytes .../gray/tab/tab-default-top-active-sides.gif | Bin 0 -> 1997 bytes .../images/gray/tab/tab-default-top-bg.gif | Bin 0 -> 1795 bytes .../gray/tab/tab-default-top-corners.gif | Bin 0 -> 1647 bytes .../gray/tab/tab-default-top-disabled-bg.gif | Bin 0 -> 1789 bytes .../tab/tab-default-top-disabled-corners.gif | Bin 0 -> 1637 bytes .../tab/tab-default-top-disabled-sides.gif | Bin 0 -> 1977 bytes .../gray/tab/tab-default-top-over-bg.gif | Bin 0 -> 1773 bytes .../gray/tab/tab-default-top-over-corners.gif | Bin 0 -> 1648 bytes .../gray/tab/tab-default-top-over-sides.gif | Bin 0 -> 1960 bytes .../images/gray/tab/tab-default-top-sides.gif | Bin 0 -> 1983 bytes .../themes/images/gray/tip/tip-corners.gif | Bin 0 -> 1620 bytes .../themes/images/gray/tip/tip-sides.gif | Bin 0 -> 1623 bytes .../themes/images/gray/toolbar/more.gif | Bin 0 -> 845 bytes .../images/gray/toolbar/scroll-left.gif | Bin 0 -> 1861 bytes .../images/gray/toolbar/scroll-right.gif | Bin 0 -> 1865 bytes .../gray/toolbar/toolbar-default-bg.gif | Bin 0 -> 1801 bytes .../images/gray/tools/tool-sprite-tpl.gif | Bin 0 -> 971 bytes .../themes/images/gray/tools/tool-sprites.gif | Bin 0 -> 5835 bytes .../images/gray/tools/tools-sprites-trans.gif | Bin 0 -> 1981 bytes .../themes/images/gray/tree/arrows.gif | Bin 0 -> 617 bytes .../themes/images/gray/tree/drop-above.gif | Bin 0 -> 911 bytes .../themes/images/gray/tree/drop-add.gif | Bin 0 -> 1001 bytes .../themes/images/gray/tree/drop-append.gif | Bin 0 -> 1001 bytes .../themes/images/gray/tree/drop-below.gif | Bin 0 -> 911 bytes .../themes/images/gray/tree/drop-between.gif | Bin 0 -> 907 bytes .../themes/images/gray/tree/drop-no.gif | Bin 0 -> 949 bytes .../themes/images/gray/tree/drop-over.gif | Bin 0 -> 911 bytes .../themes/images/gray/tree/drop-under.gif | Bin 0 -> 911 bytes .../themes/images/gray/tree/drop-yes.gif | Bin 0 -> 1016 bytes .../images/gray/tree/elbow-end-minus-nl.gif | Bin 0 -> 151 bytes .../images/gray/tree/elbow-end-minus.gif | Bin 0 -> 157 bytes .../images/gray/tree/elbow-end-plus-nl.gif | Bin 0 -> 152 bytes .../images/gray/tree/elbow-end-plus.gif | Bin 0 -> 159 bytes .../themes/images/gray/tree/elbow-end.gif | Bin 0 -> 70 bytes .../themes/images/gray/tree/elbow-line.gif | Bin 0 -> 72 bytes .../images/gray/tree/elbow-minus-nl.gif | Bin 0 -> 151 bytes .../themes/images/gray/tree/elbow-minus.gif | Bin 0 -> 159 bytes .../themes/images/gray/tree/elbow-plus-nl.gif | Bin 0 -> 152 bytes .../themes/images/gray/tree/elbow-plus.gif | Bin 0 -> 160 bytes .../themes/images/gray/tree/elbow.gif | Bin 0 -> 73 bytes .../themes/images/gray/tree/folder-open.gif | Bin 0 -> 356 bytes .../themes/images/gray/tree/folder.gif | Bin 0 -> 351 bytes .../themes/images/gray/tree/leaf.gif | Bin 0 -> 945 bytes .../themes/images/gray/tree/loading.gif | Bin 0 -> 771 bytes .../resources/themes/images/gray/tree/s.gif | Bin 0 -> 43 bytes .../images/gray/util/splitter/mini-bottom.gif | Bin 0 -> 856 bytes .../images/gray/util/splitter/mini-left.gif | Bin 0 -> 871 bytes .../images/gray/util/splitter/mini-right.gif | Bin 0 -> 872 bytes .../images/gray/util/splitter/mini-top.gif | Bin 0 -> 856 bytes .../window-header-default-bottom-corners.gif | Bin 0 -> 1652 bytes .../window-header-default-bottom-sides.gif | Bin 0 -> 1620 bytes ...eader-default-collapsed-bottom-corners.gif | Bin 0 -> 203 bytes ...-header-default-collapsed-bottom-sides.gif | Bin 0 -> 1620 bytes ...-header-default-collapsed-left-corners.gif | Bin 0 -> 151 bytes ...ow-header-default-collapsed-left-sides.gif | Bin 0 -> 1607 bytes ...header-default-collapsed-right-corners.gif | Bin 0 -> 204 bytes ...w-header-default-collapsed-right-sides.gif | Bin 0 -> 1607 bytes ...w-header-default-collapsed-top-corners.gif | Bin 0 -> 202 bytes ...dow-header-default-collapsed-top-sides.gif | Bin 0 -> 1620 bytes .../window-header-default-left-corners.gif | Bin 0 -> 1647 bytes .../window-header-default-left-sides.gif | Bin 0 -> 1607 bytes .../window-header-default-right-corners.gif | Bin 0 -> 1649 bytes .../window-header-default-right-sides.gif | Bin 0 -> 1607 bytes .../window-header-default-top-corners.gif | Bin 0 -> 191 bytes .../window-header-default-top-sides.gif | Bin 0 -> 1620 bytes .../themes/images/gray/window/icon-error.gif | Bin 0 -> 1669 bytes .../themes/images/gray/window/icon-info.gif | Bin 0 -> 1586 bytes .../images/gray/window/icon-question.gif | Bin 0 -> 1607 bytes .../images/gray/window/icon-warning.gif | Bin 0 -> 1483 bytes .../gray/window/window-default-corners.gif | Bin 0 -> 1672 bytes .../gray/window/window-default-sides.gif | Bin 0 -> 1776 bytes .../themes/images/neptune/WYSIWYG.png | Bin 0 -> 4702 bytes .../themes/images/neptune/button/arrow.gif | Bin 0 -> 828 bytes .../themes/images/neptune/button/arrow.png | Bin 0 -> 49817 bytes .../themes/images/neptune/button/btn.gif | Bin 0 -> 4298 bytes .../themes/images/neptune/button/group-cs.gif | Bin 0 -> 2459 bytes .../themes/images/neptune/button/group-lr.gif | Bin 0 -> 861 bytes .../themes/images/neptune/button/group-tb.gif | Bin 0 -> 846 bytes .../neptune/button/s-arrow-b-noline.gif | Bin 0 -> 898 bytes .../images/neptune/button/s-arrow-b.gif | Bin 0 -> 937 bytes .../images/neptune/button/s-arrow-bo.gif | Bin 0 -> 139 bytes .../images/neptune/button/s-arrow-light.gif | Bin 0 -> 116 bytes .../images/neptune/button/s-arrow-noline.png | Bin 0 -> 48453 bytes .../images/neptune/button/s-arrow-o.png | Bin 0 -> 49387 bytes .../images/neptune/button/s-arrow-p.png | Bin 0 -> 48251 bytes .../themes/images/neptune/button/s-arrow.png | Bin 0 -> 48453 bytes .../themes/images/neptune/checkbox.gif | Bin 0 -> 265 bytes .../images/neptune/grid/header-border.png | Bin 0 -> 47717 bytes .../themes/images/neptune/grid/sort.png | Bin 0 -> 49098 bytes .../resources/themes/images/neptune/icons.png | Bin 0 -> 94176 bytes .../themes/images/neptune/invalid.gif | Bin 0 -> 229 bytes .../resources/themes/images/neptune/radio.gif | Bin 0 -> 329 bytes .../themes/images/neptune/tools-small.png | Bin 0 -> 44324 bytes .../resources/themes/images/neptune/tools.png | Bin 0 -> 6834 bytes .../themes/images/neptune/tree/elbows.png | Bin 0 -> 134 bytes .../themes/images/neptune/tree/icons-blue.png | Bin 0 -> 1055 bytes .../themes/images/neptune/tree/icons-gray.png | Bin 0 -> 1045 bytes .../themes/images/neptune/tree/icons-navy.png | Bin 0 -> 1037 bytes .../images/neptune/tree/icons-orange.png | Bin 0 -> 1042 bytes .../images/neptune/tree/icons-white.png | Bin 0 -> 842 bytes .../themes/images/neptune/tree/icons.png | Bin 0 -> 986 bytes .../themes/images/neptune/triggerfield.png | Bin 0 -> 78564 bytes .../resources/themes/images/neptune/valid.gif | Bin 0 -> 170 bytes .../staticresources/jszip.resource-meta.xml | 5 + .../jszip/__MACOSX/._jszip-deflate.js | Bin 0 -> 244 bytes .../jszip/__MACOSX/._jszip-inflate.js | Bin 0 -> 244 bytes .../jszip/__MACOSX/._jszip-load.js | Bin 0 -> 244 bytes .../staticresources/jszip/__MACOSX/._jszip.js | Bin 0 -> 82 bytes .../staticresources/jszip/jszip-deflate.js | 1695 + .../staticresources/jszip/jszip-inflate.js | 778 + .../staticresources/jszip/jszip-load.js | 594 + .../default/staticresources/jszip/jszip.js | 735 + .../default/tabs/MetadataBrowser.tab-meta.xml | 6 + .../tabs/MetadataDeployDemo.tab-meta.xml | 6 + .../tabs/MetadataRetrieveDemo.tab-meta.xml | 6 + .../tabs/Metadata_Browser_LWC.tab-meta.xml | 6 + sfdx-project/jest.config.js | 6 + sfdx-project/manifest/tempDev.xml | 20 + sfdx-project/package.json | 41 + sfdx-project/pepdevhub.sfdxurl | 1 + sfdx-project/sfdx-project.json | 12 + 2649 files changed, 136744 insertions(+) create mode 100644 sfdx-project/.eslintignore create mode 100755 sfdx-project/.forceignore create mode 100644 sfdx-project/.gitignore create mode 100755 sfdx-project/.husky/pre-commit create mode 100755 sfdx-project/.prettierignore create mode 100755 sfdx-project/.prettierrc create mode 100644 sfdx-project/.vscode/extensions.json create mode 100644 sfdx-project/.vscode/launch.json create mode 100644 sfdx-project/.vscode/settings.json create mode 100644 sfdx-project/README.md create mode 100644 sfdx-project/config/project-scratch-def.json create mode 100644 sfdx-project/force-app/main/default/applications/Metadata_API.app-meta.xml create mode 100644 sfdx-project/force-app/main/default/aura/.eslintrc.json create mode 100644 sfdx-project/force-app/main/default/classes/MetadataBrowserLwcController.cls create mode 100644 sfdx-project/force-app/main/default/classes/MetadataBrowserLwcController.cls-meta.xml create mode 100644 sfdx-project/force-app/main/default/classes/MetadataDataController.cls create mode 100644 sfdx-project/force-app/main/default/classes/MetadataDataController.cls-meta.xml create mode 100644 sfdx-project/force-app/main/default/classes/MetadataDeployController.cls create mode 100644 sfdx-project/force-app/main/default/classes/MetadataDeployController.cls-meta.xml create mode 100644 sfdx-project/force-app/main/default/classes/MetadataRetrieveController.cls create mode 100644 sfdx-project/force-app/main/default/classes/MetadataRetrieveController.cls-meta.xml create mode 100644 sfdx-project/force-app/main/default/classes/MetadataService.cls create mode 100644 sfdx-project/force-app/main/default/classes/MetadataService.cls-meta.xml create mode 100644 sfdx-project/force-app/main/default/classes/MetadataServiceExamples.cls create mode 100644 sfdx-project/force-app/main/default/classes/MetadataServiceExamples.cls-meta.xml create mode 100644 sfdx-project/force-app/main/default/classes/MetadataServicePatcher.cls create mode 100644 sfdx-project/force-app/main/default/classes/MetadataServicePatcher.cls-meta.xml create mode 100644 sfdx-project/force-app/main/default/classes/MetadataServiceTest.cls create mode 100644 sfdx-project/force-app/main/default/classes/MetadataServiceTest.cls-meta.xml create mode 100644 sfdx-project/force-app/main/default/classes/RemoteSiteHelperController.cls create mode 100644 sfdx-project/force-app/main/default/classes/RemoteSiteHelperController.cls-meta.xml create mode 100644 sfdx-project/force-app/main/default/classes/RemoteSiteHelperTest.cls create mode 100644 sfdx-project/force-app/main/default/classes/RemoteSiteHelperTest.cls-meta.xml create mode 100644 sfdx-project/force-app/main/default/components/remotesitehelper.component create mode 100644 sfdx-project/force-app/main/default/components/remotesitehelper.component-meta.xml create mode 100644 sfdx-project/force-app/main/default/components/unzip.component create mode 100644 sfdx-project/force-app/main/default/components/unzip.component-meta.xml create mode 100644 sfdx-project/force-app/main/default/components/zip.component create mode 100644 sfdx-project/force-app/main/default/components/zip.component-meta.xml create mode 100644 sfdx-project/force-app/main/default/components/zipEntry.component create mode 100644 sfdx-project/force-app/main/default/components/zipEntry.component-meta.xml create mode 100644 sfdx-project/force-app/main/default/documents/MetadataServicePatcher.documentFolder-meta.xml create mode 100644 sfdx-project/force-app/main/default/lwc/.eslintrc.json create mode 100644 sfdx-project/force-app/main/default/lwc/metadataBrowser/metadataBrowser.html create mode 100644 sfdx-project/force-app/main/default/lwc/metadataBrowser/metadataBrowser.js create mode 100644 sfdx-project/force-app/main/default/lwc/metadataBrowser/metadataBrowser.js-meta.xml create mode 100644 sfdx-project/force-app/main/default/pages/metadatabrowser.page create mode 100644 sfdx-project/force-app/main/default/pages/metadatabrowser.page-meta.xml create mode 100644 sfdx-project/force-app/main/default/pages/metadatadata.page create mode 100644 sfdx-project/force-app/main/default/pages/metadatadata.page-meta.xml create mode 100644 sfdx-project/force-app/main/default/pages/metadatadeploy.page create mode 100644 sfdx-project/force-app/main/default/pages/metadatadeploy.page-meta.xml create mode 100644 sfdx-project/force-app/main/default/pages/metadataretrieve.page create mode 100644 sfdx-project/force-app/main/default/pages/metadataretrieve.page-meta.xml create mode 100644 sfdx-project/force-app/main/default/pages/remotesitepage.page create mode 100644 sfdx-project/force-app/main/default/pages/remotesitepage.page-meta.xml create mode 100644 sfdx-project/force-app/main/default/pages/sessionid.page create mode 100644 sfdx-project/force-app/main/default/pages/sessionid.page-meta.xml create mode 100644 sfdx-project/force-app/main/default/permissionsets/Apex_Metadata_API.permissionset-meta.xml create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs.resource-meta.xml create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/._ext-all-debug.js create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/._resources create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/._.DS_Store create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/._css create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/._themes create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/css/._.DS_Store create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/css/._ext-all.css create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/._.DS_Store create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/._images create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/._access create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/._default create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/._gray create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/._neptune create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._boundlist create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._box create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._btn create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._btn-group create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._button create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._datepicker create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._dd create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._editor create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._form create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._form-invalid-tip create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._grid create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._layout create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._menu create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._panel create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._panel-header create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._progress create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._qtip create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._shared create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._sizer create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._slider create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._spinner.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._tab create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._tab-bar create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._tabs create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._tip create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._toolbar create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._tools create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._tree create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._util create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._window create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._window-header create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/boundlist/._trigger-arrow.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._corners-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._l-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._l.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._r-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._r.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._tb-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._tb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-default-framed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-default-framed-notitle-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-default-framed-notitle-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-default-framed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-framed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-framed-notitle-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-framed-notitle-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-framed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._arrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._group-cs.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._group-lr.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._group-tb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._s-arrow-b-noline.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._s-arrow-b.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._s-arrow-bo.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._s-arrow-light.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._s-arrow-noline.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._s-arrow-o.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._s-arrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/datepicker/._datepicker-footer-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/datepicker/._datepicker-header-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/dd/._drop-add.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/dd/._drop-between.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/dd/._drop-no.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/dd/._drop-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/dd/._drop-under.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/dd/._drop-yes.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/editor/._tb-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form-invalid-tip/._form-invalid-tip-default-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form-invalid-tip/._form-invalid-tip-default-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._checkbox.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._checkbox_.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._clear-trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._date-trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._error-tip-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._exclamation.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._radio.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._radio_.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._search-trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._spinner-small.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._spinner.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._spinner_.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._text-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._trigger-tpl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._arrow-left-white.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._arrow-right-white.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._cell-special-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._cell-special-selected-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._checked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._col-move-bottom.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._col-move-top.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._column-header-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._column-header-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._columns.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._dd-insert-arrow-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._dd-insert-arrow-left.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._dd-insert-arrow-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._dd-insert-arrow-right.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._dirty.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._done.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._drop-no.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._drop-yes.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._footer-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid-blue-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid-blue-split.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid-hrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid-loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid-split.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid-vista-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid3-hd-btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid3-hrow-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid3-hrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid3-special-col-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid3-special-col-sel-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._group-by.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._group-collapse.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._group-expand-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._group-expand.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._hd-pop.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._hmenu-asc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._hmenu-desc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._hmenu-lock.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._hmenu-lock.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._hmenu-unlock.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._hmenu-unlock.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._invalid_line.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._mso-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._nowait.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-first-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-first.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-last-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-last.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-next-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-next.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-prev-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-prev.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._pick-button.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._property-cell-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._refresh-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._refresh.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._row-check-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._row-expand-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._row-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._row-sel.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._sort-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._sort_asc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._sort_desc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._unchecked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._wait.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/layout/._mini-bottom.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/layout/._mini-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/layout/._mini-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/layout/._mini-top.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._checked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._group-checked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._item-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._menu-item-active-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._menu-item-active-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._menu-item-active-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._menu-parent.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._menu.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._unchecked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-bottom-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-bottom-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-bottom-noborder-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-bottom-noborder-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-bottom-noborder-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-bottom-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-left-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-right-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-top-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-left-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-left-noborder-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-left-noborder-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-left-noborder-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-right-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-right-noborder-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-right-noborder-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-right-noborder-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-top-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-top-noborder-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-top-noborder-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-top-noborder-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-left-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-right-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-top-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-framed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-framed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-framed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-vertical-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._corners-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._left-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._light-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._panel-default-framed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._panel-default-framed-noborder-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._panel-default-framed-noborder-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._panel-default-framed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._panel-framed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._panel-framed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._tool-sprite-tpl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._tool-sprites.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._tools-sprites-trans.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._top-bottom.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._white-corners-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._white-left-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._white-top-bottom.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/progress/._progress-default-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/qtip/._close.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/qtip/._tip-anchor-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/qtip/._tip-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._blue-loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._glass-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._hd-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._icon-error.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._icon-info.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._icon-question.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._icon-warning.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._large-loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._left-btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._right-btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._e-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._e-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._ne-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._ne-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._nw-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._nw-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._s-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._s-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._se-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._se-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._square.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._sw-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._sw-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-thumb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-thumb.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-v-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-v-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-v-thumb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-v-thumb.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab-bar/._scroll-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab-bar/._scroll-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab-bar/._tab-bar-default-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-active-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-active-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-active-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-active-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-active-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-active-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-active-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-active-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tab-btm-inactive-left-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tab-btm-inactive-right-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tab-btm-left-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tab-btm-right-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tab-close.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tab-strip-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tab-strip-btm-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tabs-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tip/._tip-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tip/._tip-corners.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tip/._tip-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tip/._tip-sides.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._btn-arrow-light.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._btn-arrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._btn-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._gray-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._more.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._s-arrow-bo.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._scroll-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._scroll-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._tb-btn-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._tb-xl-btn-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._tb-xl-sep.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._toolbar-default-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tools/._tool-sprite-tpl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tools/._tool-sprites.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tools/._tools-sprites-trans.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._arrows.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-above.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-add.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-append.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-below.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-between.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-no.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-under.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-yes.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-end-minus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-end-minus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-end-plus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-end-plus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-end.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-line.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-minus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-minus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-plus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-plus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._folder-open.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._folder.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._leaf.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._s.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/util/._splitter create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/util/splitter/._mini-bottom.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/util/splitter/._mini-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/util/splitter/._mini-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/util/splitter/._mini-top.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._icon-error.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._icon-info.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._icon-question.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._icon-warning.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._window-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._window-default-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._window-default-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._window-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._boundlist create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._box create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._btn create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._btn-group create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._button create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._datepicker create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._dd create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._editor create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._form create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._form-invalid-tip create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._grid create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._layout create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._menu create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._panel create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._panel-header create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._progress create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._shared create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._sizer create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._slider create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._tab create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._tab-bar create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._tip create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._toolbar create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._tools create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._tree create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._util create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._window create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._window-header create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/boundlist/._trigger-arrow.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._corners-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._l-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._l.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._r-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._r.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._tb-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._tb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn-group/._btn-group-default-framed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn-group/._btn-group-default-framed-notitle-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn-group/._btn-group-default-framed-notitle-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn-group/._btn-group-default-framed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._arrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._group-cs.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._group-lr.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._group-tb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._s-arrow-b-noline.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._s-arrow-b.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._s-arrow-bo.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._s-arrow-light.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._s-arrow-noline.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._s-arrow-o.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._s-arrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/datepicker/._datepicker-footer-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/datepicker/._datepicker-footer-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/datepicker/._datepicker-header-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/datepicker/._datepicker-header-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/dd/._drop-add.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/dd/._drop-no.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/dd/._drop-yes.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/editor/._tb-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form-invalid-tip/._form-invalid-tip-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form-invalid-tip/._form-invalid-tip-default-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form-invalid-tip/._form-invalid-tip-default-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form-invalid-tip/._form-invalid-tip-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._checkbox.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._clear-trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._date-trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._error-tip-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._exclamation.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._radio.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._search-trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._spinner-small.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._spinner.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._text-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._trigger-square.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._trigger-tpl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._arrow-left-white.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._arrow-right-white.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._cell-special-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._cell-special-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._cell-special-selected-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._cell-special-selected-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._checked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._col-move-bottom.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._col-move-top.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._column-header-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._column-header-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._column-header-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._column-header-over-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._columns.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._dd-insert-arrow-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._dd-insert-arrow-left.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._dd-insert-arrow-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._dd-insert-arrow-right.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._dirty.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._done.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._drop-no.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._drop-yes.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._footer-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid-blue-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid-blue-split.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid-hrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid-loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid-split.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid-vista-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid3-hd-btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid3-hrow-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid3-hrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid3-rowheader.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._group-by.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._group-collapse.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._group-expand-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._group-expand.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._hd-pop.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._hmenu-asc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._hmenu-desc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._hmenu-lock.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._hmenu-lock.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._hmenu-unlock.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._hmenu-unlock.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._invalid_line.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._mso-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._nowait.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-first-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-first.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-last-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-last.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-next-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-next.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-prev-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-prev.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._pick-button.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._property-cell-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._property-cell-selected-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._refresh-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._refresh.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._row-check-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._row-expand-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._row-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._row-sel.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._sort-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._sort_asc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._sort_desc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._unchecked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._wait.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/layout/._mini-bottom.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/layout/._mini-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/layout/._mini-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/layout/._mini-top.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._checked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._group-checked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._item-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._menu-item-active-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._menu-item-active-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._menu-item-active-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._menu-parent.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._menu.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._unchecked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-bottom-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-bottom-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-bottom-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-left-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-right-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-top-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-left-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-right-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-top-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-left-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-right-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-top-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel/._panel-default-framed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel/._panel-default-framed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/progress/._progress-default-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._blue-loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._calendar.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._glass-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._hd-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._icon-error.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._icon-info.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._icon-question.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._icon-warning.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._large-loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._left-btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._loading-balls.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._right-btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._shadow-c.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._shadow-lr.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._shadow.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._warning.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._e-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._e-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._ne-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._ne-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._nw-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._nw-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._s-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._s-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._se-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._se-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._square.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._sw-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._sw-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-thumb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-thumb.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-v-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-v-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-v-thumb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-v-thumb.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab-bar/._scroll-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab-bar/._scroll-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab-bar/._tab-bar-default-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-active-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-active-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-active-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-close.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-active-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-active-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-active-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tip/._tip-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tip/._tip-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/toolbar/._more.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/toolbar/._scroll-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/toolbar/._scroll-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/toolbar/._toolbar-default-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tools/._tool-sprite-tpl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tools/._tool-sprites.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tools/._tools-sprites-trans.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._arrows.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-above.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-add.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-append.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-below.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-between.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-no.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-under.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-yes.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-end-minus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-end-minus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-end-plus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-end-plus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-end.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-line.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-minus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-minus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-plus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-plus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._folder-open.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._folder.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._leaf.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._s.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/util/._splitter create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/util/splitter/._mini-bottom.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/util/splitter/._mini-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/util/splitter/._mini-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/util/splitter/._mini-top.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window/._window-default-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window/._window-default-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._boundlist create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._box create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._btn create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._btn-group create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._button create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._datepicker create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._dd create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._editor create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._form create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._form-invalid-tip create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._grid create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._layout create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._menu create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._panel create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._panel-header create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._progress create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._shared create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._sizer create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._slider create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._tab create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._tab-bar create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._tip create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._toolbar create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._tools create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._tree create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._util create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._window create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._window-header create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/boundlist/._trigger-arrow.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._corners-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._l-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._l.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._r-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._r.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._tb-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._tb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn-group/._btn-group-default-framed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn-group/._btn-group-default-framed-notitle-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn-group/._btn-group-default-framed-notitle-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn-group/._btn-group-default-framed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._arrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._btn-arrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._btn-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._group-cs.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._group-lr.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._group-tb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._s-arrow-b-noline.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._s-arrow-b.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._s-arrow-bo.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._s-arrow-light.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._s-arrow-noline.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._s-arrow-o.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._s-arrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/datepicker/._datepicker-footer-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/datepicker/._datepicker-footer-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/datepicker/._datepicker-header-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/datepicker/._datepicker-header-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/dd/._drop-add.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/dd/._drop-no.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/dd/._drop-yes.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/editor/._tb-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form-invalid-tip/._form-invalid-tip-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form-invalid-tip/._form-invalid-tip-default-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form-invalid-tip/._form-invalid-tip-default-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form-invalid-tip/._form-invalid-tip-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._checkbox.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._clear-trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._date-trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._error-tip-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._exclamation.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._radio.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._search-trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._spinner-small.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._spinner.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._text-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._trigger-square.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._trigger-tpl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._arrow-left-white.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._arrow-right-white.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._cell-special-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._cell-special-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._cell-special-selected-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._cell-special-selected-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._checked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._col-move-bottom.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._col-move-top.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._column-header-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._column-header-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._column-header-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._column-header-over-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._columns.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._dd-insert-arrow-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._dd-insert-arrow-left.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._dd-insert-arrow-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._dd-insert-arrow-right.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._dirty.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._done.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._drop-no.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._drop-yes.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._footer-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid-blue-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid-blue-split.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid-hrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid-loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid-split.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid-vista-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid3-hd-btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid3-hrow-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid3-hrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid3-rowheader.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._group-by.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._group-collapse.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._group-expand-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._group-expand.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._hd-pop.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._hmenu-asc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._hmenu-desc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._hmenu-lock.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._hmenu-lock.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._hmenu-unlock.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._hmenu-unlock.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._invalid_line.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._mso-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._nowait.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-first-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-first.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-last-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-last.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-next-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-next.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-prev-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-prev.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._pick-button.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._property-cell-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._property-cell-selected-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._refresh-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._refresh.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._row-check-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._row-expand-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._row-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._row-sel.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._sort-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._sort_asc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._sort_desc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._unchecked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._wait.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/layout/._mini-bottom.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/layout/._mini-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/layout/._mini-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/layout/._mini-top.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._checked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._group-checked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._item-over-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._item-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._menu-item-active-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._menu-item-active-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._menu-item-active-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._menu-parent.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._menu.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._unchecked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-bottom-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-bottom-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-bottom-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-left-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-right-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-top-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-left-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-right-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-top-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-left-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-right-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-top-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel/._panel-default-framed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel/._panel-default-framed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/progress/._progress-default-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._blue-loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._calendar.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._glass-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._hd-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._icon-error.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._icon-info.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._icon-question.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._icon-warning.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._large-loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._left-btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._loading-balls.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._right-btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._shadow-c.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._shadow-lr.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._shadow.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._warning.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._e-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._e-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._ne-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._ne-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._nw-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._nw-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._s-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._s-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._se-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._se-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._square.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._sw-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._sw-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-thumb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-thumb.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-v-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-v-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-v-thumb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-v-thumb.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab-bar/._scroll-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab-bar/._scroll-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab-bar/._tab-bar-default-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-active-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-active-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-active-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-close.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-active-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-active-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-active-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tip/._tip-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tip/._tip-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/toolbar/._more.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/toolbar/._scroll-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/toolbar/._scroll-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/toolbar/._toolbar-default-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tools/._tool-sprite-tpl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tools/._tool-sprites.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tools/._tools-sprites-trans.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._arrows.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-above.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-add.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-append.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-below.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-between.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-no.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-under.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-yes.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-end-minus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-end-minus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-end-plus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-end-plus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-end.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-line.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-minus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-minus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-plus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-plus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._folder-open.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._folder.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._leaf.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._s.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/util/._splitter create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/util/splitter/._mini-bottom.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/util/splitter/._mini-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/util/splitter/._mini-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/util/splitter/._mini-top.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window/._icon-error.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window/._icon-info.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window/._icon-question.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window/._icon-warning.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window/._window-default-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window/._window-default-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._WYSIWYG.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._button create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._checkbox.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._grid create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._icons.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._invalid.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._radio.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._tools-small.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._tools.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._tree create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._triggerfield.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._valid.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._arrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._arrow.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._group-cs.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._group-lr.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._group-tb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow-b-noline.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow-b.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow-bo.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow-light.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow-noline.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow-o.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow-p.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/grid/._header-border.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/grid/._sort.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/tree/._elbows.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/tree/._icons-blue.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/tree/._icons-gray.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/tree/._icons-navy.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/tree/._icons-orange.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/tree/._icons-white.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/tree/._icons.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/ext-all-debug.js create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/css/ext-all.css create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/boundlist/trigger-arrow.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/box/corners-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/box/corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/box/l-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/box/l.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/box/r-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/box/r.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/box/tb-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/box/tb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn-group/btn-group-default-framed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn-group/btn-group-default-framed-notitle-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn-group/btn-group-default-framed-notitle-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn-group/btn-group-default-framed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn-group/btn-group-framed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn-group/btn-group-framed-notitle-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn-group/btn-group-framed-notitle-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn-group/btn-group-framed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-large-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-large-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-large-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-large-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-large-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-large-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-large-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-large-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-large-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-large-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/arrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/group-cs.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/group-lr.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/group-tb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/s-arrow-b-noline.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/s-arrow-b.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/s-arrow-bo.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/s-arrow-light.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/s-arrow-noline.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/s-arrow-o.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/s-arrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/datepicker/datepicker-footer-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/datepicker/datepicker-header-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/dd/drop-add.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/dd/drop-between.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/dd/drop-no.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/dd/drop-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/dd/drop-under.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/dd/drop-yes.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/editor/tb-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form-invalid-tip/form-invalid-tip-default-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form-invalid-tip/form-invalid-tip-default-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/checkbox.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/checkbox_.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/clear-trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/date-trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/error-tip-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/exclamation.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/radio.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/radio_.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/search-trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/spinner-small.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/spinner.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/spinner_.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/text-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/trigger-tpl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/arrow-left-white.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/arrow-right-white.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/cell-special-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/cell-special-selected-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/checked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/col-move-bottom.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/col-move-top.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/column-header-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/column-header-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/columns.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/dd-insert-arrow-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/dd-insert-arrow-left.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/dd-insert-arrow-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/dd-insert-arrow-right.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/dirty.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/done.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/drop-no.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/drop-yes.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/footer-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/grid-blue-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/grid-blue-split.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/grid-hrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/grid-loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/grid-split.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/grid-vista-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/grid3-hd-btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/grid3-hrow-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/grid3-hrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/grid3-special-col-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/grid3-special-col-sel-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/group-by.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/group-collapse.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/group-expand-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/group-expand.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/hd-pop.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/hmenu-asc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/hmenu-desc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/hmenu-lock.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/hmenu-lock.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/hmenu-unlock.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/hmenu-unlock.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/invalid_line.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/mso-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/nowait.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/page-first-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/page-first.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/page-last-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/page-last.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/page-next-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/page-next.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/page-prev-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/page-prev.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/pick-button.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/property-cell-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/refresh-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/refresh.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/row-check-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/row-expand-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/row-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/row-sel.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/sort-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/sort_asc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/sort_desc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/unchecked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/wait.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/layout/mini-bottom.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/layout/mini-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/layout/mini-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/layout/mini-top.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/menu/checked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/menu/group-checked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/menu/item-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/menu/menu-item-active-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/menu/menu-item-active-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/menu/menu-item-active-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/menu/menu-parent.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/menu/menu.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/menu/unchecked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-bottom-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-bottom-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-bottom-noborder-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-bottom-noborder-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-bottom-noborder-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-bottom-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-left-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-right-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-top-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-left-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-left-noborder-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-left-noborder-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-left-noborder-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-right-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-right-noborder-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-right-noborder-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-right-noborder-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-top-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-top-noborder-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-top-noborder-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-top-noborder-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-left-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-right-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-top-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-framed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-framed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-framed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-vertical-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/corners-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/left-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/light-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/panel-default-framed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/panel-default-framed-noborder-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/panel-default-framed-noborder-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/panel-default-framed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/panel-framed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/panel-framed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/tool-sprite-tpl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/tool-sprites.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/tools-sprites-trans.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/top-bottom.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/white-corners-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/white-left-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/white-top-bottom.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/progress/progress-default-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/qtip/close.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/qtip/tip-anchor-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/qtip/tip-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/shared/blue-loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/shared/glass-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/shared/hd-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/shared/icon-error.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/shared/icon-info.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/shared/icon-question.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/shared/icon-warning.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/shared/large-loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/shared/left-btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/shared/right-btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/sizer/e-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/sizer/e-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/sizer/ne-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/sizer/ne-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/sizer/nw-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/sizer/nw-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/sizer/s-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/sizer/s-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/sizer/se-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/sizer/se-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/sizer/square.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/sizer/sw-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/sizer/sw-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/slider/slider-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/slider/slider-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/slider/slider-thumb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/slider/slider-thumb.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/slider/slider-v-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/slider/slider-v-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/slider/slider-v-thumb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/slider/slider-v-thumb.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/spinner.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab-bar/scroll-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab-bar/scroll-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab-bar/tab-bar-default-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-bottom-active-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-bottom-active-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-bottom-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-bottom-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-bottom-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-bottom-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-bottom-active-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-bottom-active-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-bottom-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-bottom-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-bottom-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-bottom-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-top-active-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-top-active-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-top-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-top-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-top-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-top-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-top-active-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-top-active-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-top-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-top-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-top-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-top-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tabs/tab-btm-inactive-left-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tabs/tab-btm-inactive-right-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tabs/tab-btm-left-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tabs/tab-btm-right-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tabs/tab-close.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tabs/tab-strip-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tabs/tab-strip-btm-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tabs/tabs-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tip/tip-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tip/tip-corners.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tip/tip-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tip/tip-sides.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/toolbar/bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/toolbar/btn-arrow-light.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/toolbar/btn-arrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/toolbar/btn-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/toolbar/gray-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/toolbar/more.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/toolbar/s-arrow-bo.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/toolbar/scroll-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/toolbar/scroll-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/toolbar/tb-btn-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/toolbar/tb-xl-btn-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/toolbar/tb-xl-sep.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/toolbar/toolbar-default-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tools/tool-sprite-tpl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tools/tool-sprites.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tools/tools-sprites-trans.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/arrows.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/drop-above.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/drop-add.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/drop-append.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/drop-below.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/drop-between.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/drop-no.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/drop-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/drop-under.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/drop-yes.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/elbow-end-minus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/elbow-end-minus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/elbow-end-plus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/elbow-end-plus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/elbow-end.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/elbow-line.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/elbow-minus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/elbow-minus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/elbow-plus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/elbow-plus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/elbow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/folder-open.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/folder.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/leaf.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/s.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/util/splitter/mini-bottom.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/util/splitter/mini-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/util/splitter/mini-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/util/splitter/mini-top.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window-header/window-header-default-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window-header/window-header-default-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window-header/window-header-default-collapsed-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window-header/window-header-default-collapsed-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window-header/window-header-default-collapsed-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window-header/window-header-default-collapsed-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window-header/window-header-default-collapsed-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window-header/window-header-default-collapsed-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window-header/window-header-default-collapsed-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window-header/window-header-default-collapsed-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window-header/window-header-default-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window-header/window-header-default-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window-header/window-header-default-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window-header/window-header-default-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window-header/window-header-default-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window-header/window-header-default-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window/icon-error.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window/icon-info.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window/icon-question.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window/icon-warning.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window/window-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window/window-default-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window/window-default-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window/window-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/boundlist/trigger-arrow.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/box/corners-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/box/corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/box/l-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/box/l.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/box/r-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/box/r.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/box/tb-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/box/tb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-notitle-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-notitle-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-medium-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-medium-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-medium-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-medium-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-medium-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-medium-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-medium-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-medium-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-medium-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-medium-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-medium-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-medium-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-medium-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-medium-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-medium-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/arrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/group-cs.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/group-lr.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/group-tb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/s-arrow-b-noline.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/s-arrow-b.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/s-arrow-bo.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/s-arrow-light.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/s-arrow-noline.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/s-arrow-o.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/s-arrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/datepicker/datepicker-footer-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/datepicker/datepicker-footer-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/datepicker/datepicker-header-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/datepicker/datepicker-header-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/dd/drop-add.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/dd/drop-no.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/dd/drop-yes.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/editor/tb-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/checkbox.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/clear-trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/date-trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/error-tip-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/exclamation.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/radio.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/search-trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/spinner-small.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/spinner.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/text-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/trigger-square.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/trigger-tpl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/arrow-left-white.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/arrow-right-white.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/cell-special-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/cell-special-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/cell-special-selected-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/cell-special-selected-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/checked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/col-move-bottom.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/col-move-top.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/column-header-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/column-header-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/column-header-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/column-header-over-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/columns.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/dd-insert-arrow-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/dd-insert-arrow-left.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/dd-insert-arrow-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/dd-insert-arrow-right.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/dirty.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/done.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/drop-no.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/drop-yes.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/footer-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/grid-blue-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/grid-blue-split.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/grid-hrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/grid-loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/grid-split.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/grid-vista-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/grid3-hd-btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/grid3-hrow-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/grid3-hrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/grid3-rowheader.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/group-by.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/group-collapse.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/group-expand-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/group-expand.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/hd-pop.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/hmenu-asc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/hmenu-desc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/hmenu-lock.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/hmenu-lock.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/hmenu-unlock.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/hmenu-unlock.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/invalid_line.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/mso-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/nowait.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/page-first-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/page-first.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/page-last-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/page-last.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/page-next-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/page-next.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/page-prev-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/page-prev.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/pick-button.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/property-cell-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/property-cell-selected-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/refresh-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/refresh.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/row-check-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/row-expand-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/row-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/row-sel.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/sort-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/sort_asc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/sort_desc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/unchecked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/wait.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/layout/mini-bottom.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/layout/mini-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/layout/mini-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/layout/mini-top.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/menu/checked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/menu/group-checked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/menu/item-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/menu/menu-item-active-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/menu/menu-item-active-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/menu/menu-item-active-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/menu/menu-parent.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/menu/menu.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/menu/unchecked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-bottom-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-left-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-right-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-top-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel/panel-default-framed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel/panel-default-framed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/progress/progress-default-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/blue-loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/calendar.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/glass-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/hd-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/icon-error.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/icon-info.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/icon-question.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/icon-warning.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/large-loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/left-btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/loading-balls.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/right-btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/shadow-c.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/shadow-lr.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/shadow.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/warning.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/e-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/e-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/ne-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/ne-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/nw-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/nw-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/s-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/s-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/se-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/se-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/square.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/sw-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/sw-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/slider/slider-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/slider/slider-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/slider/slider-thumb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/slider/slider-thumb.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/slider/slider-v-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/slider/slider-v-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/slider/slider-v-thumb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/slider/slider-v-thumb.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab-bar/scroll-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab-bar/scroll-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab-bar/tab-bar-default-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-active-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-active-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-active-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-close.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-active-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-active-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-active-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tip/tip-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tip/tip-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/toolbar/more.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/toolbar/scroll-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/toolbar/scroll-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/toolbar/toolbar-default-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tools/tool-sprite-tpl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tools/tool-sprites.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tools/tools-sprites-trans.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/arrows.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/drop-above.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/drop-add.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/drop-append.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/drop-below.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/drop-between.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/drop-no.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/drop-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/drop-under.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/drop-yes.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-end-minus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-end-minus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-end-plus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-end-plus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-end.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-line.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-minus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-minus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-plus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-plus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/folder-open.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/folder.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/leaf.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/s.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/util/splitter/mini-bottom.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/util/splitter/mini-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/util/splitter/mini-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/util/splitter/mini-top.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window/window-default-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window/window-default-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/boundlist/trigger-arrow.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/box/corners-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/box/corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/box/l-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/box/l.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/box/r-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/box/r.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/box/tb-blue.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/box/tb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn-group/btn-group-default-framed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn-group/btn-group-default-framed-notitle-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn-group/btn-group-default-framed-notitle-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn-group/btn-group-default-framed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-focus-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-focus-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-focus-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-pressed-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-pressed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-pressed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/arrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/btn-arrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/btn-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/group-cs.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/group-lr.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/group-tb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/s-arrow-b-noline.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/s-arrow-b.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/s-arrow-bo.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/s-arrow-light.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/s-arrow-noline.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/s-arrow-o.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/s-arrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/datepicker/datepicker-footer-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/datepicker/datepicker-footer-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/datepicker/datepicker-header-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/datepicker/datepicker-header-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/dd/drop-add.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/dd/drop-no.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/dd/drop-yes.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/editor/tb-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form-invalid-tip/form-invalid-tip-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form-invalid-tip/form-invalid-tip-default-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form-invalid-tip/form-invalid-tip-default-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form-invalid-tip/form-invalid-tip-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/checkbox.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/clear-trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/date-trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/error-tip-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/exclamation.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/radio.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/search-trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/spinner-small.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/spinner.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/text-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/trigger-square.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/trigger-tpl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/trigger.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/arrow-left-white.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/arrow-right-white.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/cell-special-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/cell-special-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/cell-special-selected-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/cell-special-selected-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/checked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/col-move-bottom.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/col-move-top.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/column-header-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/column-header-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/column-header-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/column-header-over-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/columns.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/dd-insert-arrow-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/dd-insert-arrow-left.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/dd-insert-arrow-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/dd-insert-arrow-right.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/dirty.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/done.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/drop-no.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/drop-yes.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/footer-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/grid-blue-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/grid-blue-split.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/grid-hrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/grid-loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/grid-split.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/grid-vista-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/grid3-hd-btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/grid3-hrow-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/grid3-hrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/grid3-rowheader.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/group-by.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/group-collapse.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/group-expand-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/group-expand.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/hd-pop.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/hmenu-asc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/hmenu-desc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/hmenu-lock.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/hmenu-lock.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/hmenu-unlock.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/hmenu-unlock.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/invalid_line.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/mso-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/nowait.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/page-first-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/page-first.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/page-last-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/page-last.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/page-next-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/page-next.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/page-prev-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/page-prev.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/pick-button.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/property-cell-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/property-cell-selected-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/refresh-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/refresh.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/row-check-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/row-expand-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/row-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/row-sel.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/sort-hd.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/sort_asc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/sort_desc.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/unchecked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/wait.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/layout/mini-bottom.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/layout/mini-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/layout/mini-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/layout/mini-top.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/checked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/group-checked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/item-over-disabled.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/item-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/menu-item-active-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/menu-item-active-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/menu-item-active-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/menu-parent.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/menu.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/unchecked.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-bottom-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-bottom-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-bottom-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-left-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-right-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-top-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-left-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-right-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-top-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-left-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-right-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-top-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel/panel-default-framed-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel/panel-default-framed-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/progress/progress-default-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/blue-loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/calendar.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/glass-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/hd-sprite.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/icon-error.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/icon-info.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/icon-question.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/icon-warning.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/large-loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/left-btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/loading-balls.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/right-btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/shadow-c.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/shadow-lr.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/shadow.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/warning.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/e-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/e-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/ne-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/ne-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/nw-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/nw-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/s-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/s-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/se-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/se-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/square.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/sw-handle-dark.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/sw-handle.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/slider/slider-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/slider/slider-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/slider/slider-thumb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/slider/slider-thumb.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/slider/slider-v-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/slider/slider-v-bg.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/slider/slider-v-thumb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/slider/slider-v-thumb.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab-bar/scroll-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab-bar/scroll-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab-bar/tab-bar-default-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-active-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-active-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-active-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-close.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-active-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-active-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-active-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-disabled-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-disabled-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-disabled-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-over-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-over-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-over-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tip/tip-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tip/tip-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/toolbar/more.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/toolbar/scroll-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/toolbar/scroll-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/toolbar/toolbar-default-bg.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tools/tool-sprite-tpl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tools/tool-sprites.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tools/tools-sprites-trans.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/arrows.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/drop-above.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/drop-add.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/drop-append.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/drop-below.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/drop-between.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/drop-no.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/drop-over.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/drop-under.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/drop-yes.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-end-minus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-end-minus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-end-plus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-end-plus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-end.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-line.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-minus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-minus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-plus-nl.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-plus.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/folder-open.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/folder.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/leaf.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/loading.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/s.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/util/splitter/mini-bottom.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/util/splitter/mini-left.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/util/splitter/mini-right.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/util/splitter/mini-top.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-collapsed-bottom-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-collapsed-bottom-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-collapsed-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-collapsed-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-collapsed-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-collapsed-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-collapsed-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-collapsed-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-left-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-left-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-right-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-right-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-top-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-top-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window/icon-error.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window/icon-info.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window/icon-question.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window/icon-warning.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window/window-default-corners.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window/window-default-sides.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/WYSIWYG.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/arrow.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/arrow.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/btn.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/group-cs.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/group-lr.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/group-tb.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/s-arrow-b-noline.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/s-arrow-b.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/s-arrow-bo.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/s-arrow-light.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/s-arrow-noline.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/s-arrow-o.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/s-arrow-p.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/s-arrow.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/checkbox.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/grid/header-border.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/grid/sort.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/icons.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/invalid.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/radio.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tools-small.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tools.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tree/elbows.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tree/icons-blue.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tree/icons-gray.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tree/icons-navy.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tree/icons-orange.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tree/icons-white.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tree/icons.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/triggerfield.png create mode 100644 sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/valid.gif create mode 100644 sfdx-project/force-app/main/default/staticresources/jszip.resource-meta.xml create mode 100644 sfdx-project/force-app/main/default/staticresources/jszip/__MACOSX/._jszip-deflate.js create mode 100644 sfdx-project/force-app/main/default/staticresources/jszip/__MACOSX/._jszip-inflate.js create mode 100644 sfdx-project/force-app/main/default/staticresources/jszip/__MACOSX/._jszip-load.js create mode 100644 sfdx-project/force-app/main/default/staticresources/jszip/__MACOSX/._jszip.js create mode 100644 sfdx-project/force-app/main/default/staticresources/jszip/jszip-deflate.js create mode 100644 sfdx-project/force-app/main/default/staticresources/jszip/jszip-inflate.js create mode 100644 sfdx-project/force-app/main/default/staticresources/jszip/jszip-load.js create mode 100644 sfdx-project/force-app/main/default/staticresources/jszip/jszip.js create mode 100644 sfdx-project/force-app/main/default/tabs/MetadataBrowser.tab-meta.xml create mode 100644 sfdx-project/force-app/main/default/tabs/MetadataDeployDemo.tab-meta.xml create mode 100644 sfdx-project/force-app/main/default/tabs/MetadataRetrieveDemo.tab-meta.xml create mode 100644 sfdx-project/force-app/main/default/tabs/Metadata_Browser_LWC.tab-meta.xml create mode 100644 sfdx-project/jest.config.js create mode 100644 sfdx-project/manifest/tempDev.xml create mode 100644 sfdx-project/package.json create mode 100644 sfdx-project/pepdevhub.sfdxurl create mode 100644 sfdx-project/sfdx-project.json diff --git a/sfdx-project/.eslintignore b/sfdx-project/.eslintignore new file mode 100644 index 0000000..5f7b681 --- /dev/null +++ b/sfdx-project/.eslintignore @@ -0,0 +1,16 @@ +**/lwc/**/*.css +**/lwc/**/*.html +**/lwc/**/*.json +**/lwc/**/*.svg +**/lwc/**/*.xml +**/aura/**/*.auradoc +**/aura/**/*.cmp +**/aura/**/*.css +**/aura/**/*.design +**/aura/**/*.evt +**/aura/**/*.json +**/aura/**/*.svg +**/aura/**/*.tokens +**/aura/**/*.xml +**/aura/**/*.app +.sfdx diff --git a/sfdx-project/.forceignore b/sfdx-project/.forceignore new file mode 100755 index 0000000..7b5b5a7 --- /dev/null +++ b/sfdx-project/.forceignore @@ -0,0 +1,12 @@ +# List files or directories below to ignore them when running force:source:push, force:source:pull, and force:source:status +# More information: https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_exclude_source.htm +# + +package.xml + +# LWC configuration files +**/jsconfig.json +**/.eslintrc.json + +# LWC Jest +**/__tests__/** \ No newline at end of file diff --git a/sfdx-project/.gitignore b/sfdx-project/.gitignore new file mode 100644 index 0000000..f5f33eb --- /dev/null +++ b/sfdx-project/.gitignore @@ -0,0 +1,45 @@ +# This file is used for Git repositories to specify intentionally untracked files that Git should ignore. +# If you are not using git, you can delete this file. For more information see: https://git-scm.com/docs/gitignore +# For useful gitignore templates see: https://github.com/github/gitignore + +# Salesforce cache +.sf/ +.sfdx/ +.localdevserver/ +deploy-options.json + +# LWC VSCode autocomplete +**/lwc/jsconfig.json + +# LWC Jest coverage reports +coverage/ + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Dependency directories +node_modules/ + +# Eslint cache +.eslintcache + +# MacOS system files +.DS_Store + +# Windows system files +Thumbs.db +ehthumbs.db +[Dd]esktop.ini +$RECYCLE.BIN/ + +# Local environment variables +.env + +# Python Salesforce Functions +**/__pycache__/ +**/.venv/ +**/venv/ diff --git a/sfdx-project/.husky/pre-commit b/sfdx-project/.husky/pre-commit new file mode 100755 index 0000000..feac116 --- /dev/null +++ b/sfdx-project/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +npm run precommit \ No newline at end of file diff --git a/sfdx-project/.prettierignore b/sfdx-project/.prettierignore new file mode 100755 index 0000000..f3720b2 --- /dev/null +++ b/sfdx-project/.prettierignore @@ -0,0 +1,10 @@ +# List files or directories below to ignore them when running prettier +# More information: https://prettier.io/docs/en/ignore.html +# + +**/staticresources/** +.localdevserver +.sfdx +.vscode + +coverage/ \ No newline at end of file diff --git a/sfdx-project/.prettierrc b/sfdx-project/.prettierrc new file mode 100755 index 0000000..15683b6 --- /dev/null +++ b/sfdx-project/.prettierrc @@ -0,0 +1,13 @@ +{ + "trailingComma": "none", + "overrides": [ + { + "files": "**/lwc/**/*.html", + "options": { "parser": "lwc" } + }, + { + "files": "*.{cmp,page,component}", + "options": { "parser": "html" } + } + ] +} diff --git a/sfdx-project/.vscode/extensions.json b/sfdx-project/.vscode/extensions.json new file mode 100644 index 0000000..7e6cb10 --- /dev/null +++ b/sfdx-project/.vscode/extensions.json @@ -0,0 +1,9 @@ +{ + "recommendations": [ + "salesforce.salesforcedx-vscode", + "redhat.vscode-xml", + "dbaeumer.vscode-eslint", + "esbenp.prettier-vscode", + "financialforce.lana" + ] +} diff --git a/sfdx-project/.vscode/launch.json b/sfdx-project/.vscode/launch.json new file mode 100644 index 0000000..e07e391 --- /dev/null +++ b/sfdx-project/.vscode/launch.json @@ -0,0 +1,16 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Launch Apex Replay Debugger", + "type": "apex-replay", + "request": "launch", + "logFile": "${command:AskForLogFileName}", + "stopOnEntry": true, + "trace": true + } + ] +} diff --git a/sfdx-project/.vscode/settings.json b/sfdx-project/.vscode/settings.json new file mode 100644 index 0000000..76decfb --- /dev/null +++ b/sfdx-project/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "search.exclude": { + "**/node_modules": true, + "**/bower_components": true, + "**/.sfdx": true + } +} diff --git a/sfdx-project/README.md b/sfdx-project/README.md new file mode 100644 index 0000000..afcda4a --- /dev/null +++ b/sfdx-project/README.md @@ -0,0 +1,18 @@ +# Salesforce DX Project: Next Steps + +Now that you’ve created a Salesforce DX project, what’s next? Here are some documentation resources to get you started. + +## How Do You Plan to Deploy Your Changes? + +Do you want to deploy a set of changes, or create a self-contained application? Choose a [development model](https://developer.salesforce.com/tools/vscode/en/user-guide/development-models). + +## Configure Your Salesforce DX Project + +The `sfdx-project.json` file contains useful configuration information for your project. See [Salesforce DX Project Configuration](https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_ws_config.htm) in the _Salesforce DX Developer Guide_ for details about this file. + +## Read All About It + +- [Salesforce Extensions Documentation](https://developer.salesforce.com/tools/vscode/) +- [Salesforce CLI Setup Guide](https://developer.salesforce.com/docs/atlas.en-us.sfdx_setup.meta/sfdx_setup/sfdx_setup_intro.htm) +- [Salesforce DX Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_intro.htm) +- [Salesforce CLI Command Reference](https://developer.salesforce.com/docs/atlas.en-us.sfdx_cli_reference.meta/sfdx_cli_reference/cli_reference.htm) diff --git a/sfdx-project/config/project-scratch-def.json b/sfdx-project/config/project-scratch-def.json new file mode 100644 index 0000000..03cab37 --- /dev/null +++ b/sfdx-project/config/project-scratch-def.json @@ -0,0 +1,13 @@ +{ + "orgName": "Certinia Apex Metadata API", + "edition": "Developer", + "features": ["EnableSetPasswordInApi"], + "settings": { + "lightningExperienceSettings": { + "enableS1DesktopEnabled": true + }, + "mobileSettings": { + "enableS1EncryptedStoragePref2": false + } + } +} diff --git a/sfdx-project/force-app/main/default/applications/Metadata_API.app-meta.xml b/sfdx-project/force-app/main/default/applications/Metadata_API.app-meta.xml new file mode 100644 index 0000000..1c793ea --- /dev/null +++ b/sfdx-project/force-app/main/default/applications/Metadata_API.app-meta.xml @@ -0,0 +1,21 @@ + + + + #0070D2 + false + + Small + Large + false + false + false + + Standard + standard-home + MetadataBrowser + MetadataDeployDemo + MetadataRetrieveDemo + Metadata_Browser_LWC + Lightning + Metadata_API_UtilityBar + diff --git a/sfdx-project/force-app/main/default/aura/.eslintrc.json b/sfdx-project/force-app/main/default/aura/.eslintrc.json new file mode 100644 index 0000000..226a5a2 --- /dev/null +++ b/sfdx-project/force-app/main/default/aura/.eslintrc.json @@ -0,0 +1,8 @@ +{ + "plugins": ["@salesforce/eslint-plugin-aura"], + "extends": ["plugin:@salesforce/eslint-plugin-aura/recommended"], + "rules": { + "vars-on-top": "off", + "no-unused-expressions": "off" + } +} diff --git a/sfdx-project/force-app/main/default/classes/MetadataBrowserLwcController.cls b/sfdx-project/force-app/main/default/classes/MetadataBrowserLwcController.cls new file mode 100644 index 0000000..38da28c --- /dev/null +++ b/sfdx-project/force-app/main/default/classes/MetadataBrowserLwcController.cls @@ -0,0 +1,50 @@ +public class MetadataBrowserLwcController { + public static final Double API_VERSION = 58.0; + + @Auraenabled(cacheable=true) + public static String retrieveDescribeMetadata() { + MetadataService.MetadataPort service = createService(); + MetadataService.DescribeMetadataResult descMetaResult = service.describeMetadata(API_VERSION); + System.debug('descMetaResult.organizationNamespace: ' + descMetaResult.organizationNamespace); + System.debug('descMetaResult.partialSaveAllowed: ' + descMetaResult.partialSaveAllowed); + System.debug('descMetaResult.testRequired: ' + descMetaResult.testRequired); + for(MetadataService.DescribeMetadataObject descMetaObj : descMetaResult.metadataObjects) { + System.debug('descMetaObj.directoryName: ' + descMetaObj.directoryName); + System.debug('descMetaObj.inFolder: ' + descMetaObj.inFolder); + System.debug('descMetaObj.metaFile: ' + descMetaObj.metaFile); + System.debug('descMetaObj.suffix: ' + descMetaObj.suffix); + System.debug('descMetaObj.xmlName: ' + descMetaObj.xmlName); + if(descMetaObj.childXmlNames != null) { + for(String childXmlName : descMetaObj.childXmlNames) { + System.debug('childXmlName: ' + childXmlName); + } + } + } + String descMetaResultJson = JSON.serialize(descMetaResult); + return descMetaResultJson; + } + + @Auraenabled(cacheable=true) + public static String retrieveListMetadata(String metadataTypeName) { + MetadataService.ListMetadataQuery mdQuery = new MetadataService.ListMetadataQuery(); + mdQuery.folder = ''; + mdQuery.type_x = metadataTypeName; + List mdQueries = new List{mdQuery}; + + MetadataService.MetadataPort service = createService(); + List listMetaResults = service.listMetadata(mdQueries, API_VERSION); + String listMetaResultJson = JSON.serialize(listMetaResults); + return listMetaResultJson; + } + + private static MetadataService.MetadataPort createService() { + MetadataService.MetadataPort service = new MetadataService.MetadataPort(); + service.SessionHeader = new MetadataService.SessionHeader_element(); + service.SessionHeader.sessionId = getSessionId(); + return service; + } + + private static String getSessionId() { + return Page.sessionid.getContent().toString(); + } +} \ No newline at end of file diff --git a/sfdx-project/force-app/main/default/classes/MetadataBrowserLwcController.cls-meta.xml b/sfdx-project/force-app/main/default/classes/MetadataBrowserLwcController.cls-meta.xml new file mode 100644 index 0000000..019e850 --- /dev/null +++ b/sfdx-project/force-app/main/default/classes/MetadataBrowserLwcController.cls-meta.xml @@ -0,0 +1,5 @@ + + + 59.0 + Active + \ No newline at end of file diff --git a/sfdx-project/force-app/main/default/classes/MetadataDataController.cls b/sfdx-project/force-app/main/default/classes/MetadataDataController.cls new file mode 100644 index 0000000..5b66f65 --- /dev/null +++ b/sfdx-project/force-app/main/default/classes/MetadataDataController.cls @@ -0,0 +1,117 @@ +/** + * Copyright (c) 2012, FinancialForce.com, inc + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * - Neither the name of the FinancialForce.com, inc nor the names of its contributors + * may be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +**/ + +public with sharing class MetadataDataController +{ + private static final Integer METADATA_API_VERSION = + Integer.valueOf(new MetadataService.MetadataPort().endpoint_x.substringAfterLast('/')); + + public String Data {get; set;} + + public PageReference constructResponse() + { + try { + List nodes = new List(); + String node = ApexPages.currentPage().getParameters().get('node'); + if(node=='root') + { + // List available Metadata Types via the 'describeMetadata' API call + MetadataService.MetadataPort service = MetadataServiceExamples.createService(); + MetadataService.DescribeMetadataResult describeResult = service.describeMetadata(METADATA_API_VERSION); + for(MetadataService.DescribeMetadataObject metadataObject : describeResult.metadataObjects) + { + nodes.add(new FolderNode(metadataObject.xmlName, metadataObject.xmlName, false, null)); + // Include child Metadata Types (such as CustomField, ValidationRule etc..) + if(metadataObject.childXmlNames!=null) + for(String childXmlName : metadataObject.childXmlNames) + if(childXmlName!=null) + nodes.add(new FolderNode(childXmlName, childXmlName, false, null)); + } + } + else + { + // List Metadata for the given type via the listMetadata API call + MetadataService.MetadataPort service = MetadataServiceExamples.createService(); + List queries = new List(); + MetadataService.ListMetadataQuery query = new MetadataService.ListMetadataQuery(); + query.type_x = node; + queries.add(query); + MetadataService.FileProperties[] fileProperties = service.listMetadata(queries, METADATA_API_VERSION); + + // Emit leaf nodes (ensure unique IDs) + if(fileProperties!=null) { + Integer index = 0; + for(MetadataService.FileProperties fileProperty : fileProperties) + nodes.add(new LeafNode(fileProperty.fullName + ':' + index++, EncodingUtil.urlDecode(fileProperty.fullName, 'UTF-8'), false)); + } + } + Data = JSON.serialize(nodes); + } + catch (Exception e) { + Data = JSON.serialize(new List { new FolderNode('error', e.getMessage(), false, null) }); + } + return null; + } + + public abstract class Node + { + public String id; + public String text; + public String cls; + public boolean leaf; + public boolean checked; + public boolean expanded; + public List children; + } + + public class FolderNode extends Node + { + public FolderNode(String id, String text, boolean expanded, List children) + { + this.id = id; + this.text = text; + this.cls = 'folder'; + this.leaf = false; + this.checked = false; + this.expanded = expanded; + this.children = children; + } + } + + public class LeafNode extends Node + { + public LeafNode(String id, String text, boolean checked) + { + this.id = id; + this.text = text; + this.cls = null; + this.leaf = true; + this.checked = checked; + this.expanded = false; + this.children = null; + } + } +} \ No newline at end of file diff --git a/sfdx-project/force-app/main/default/classes/MetadataDataController.cls-meta.xml b/sfdx-project/force-app/main/default/classes/MetadataDataController.cls-meta.xml new file mode 100644 index 0000000..fec71a2 --- /dev/null +++ b/sfdx-project/force-app/main/default/classes/MetadataDataController.cls-meta.xml @@ -0,0 +1,5 @@ + + + 42.0 + Active + diff --git a/sfdx-project/force-app/main/default/classes/MetadataDeployController.cls b/sfdx-project/force-app/main/default/classes/MetadataDeployController.cls new file mode 100644 index 0000000..d879628 --- /dev/null +++ b/sfdx-project/force-app/main/default/classes/MetadataDeployController.cls @@ -0,0 +1,119 @@ +/** + * Copyright (c) 2012, FinancialForce.com, inc + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * - Neither the name of the FinancialForce.com, inc nor the names of its contributors + * may be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +**/ + +public with sharing class MetadataDeployController +{ + public String ZipData { get; set; } + + public MetadataService.AsyncResult AsyncResult {get; private set;} + + public String getPackageXml() + { + return '' + + '' + + '' + + 'HelloWorld' + + 'ApexClass' + + '' + + '26.0' + + ''; + } + + public String getHelloWorldMetadata() + { + return '' + + '' + + '28.0' + + 'Active' + + ''; + } + + public String getHelloWorld() + { + return 'public class HelloWorld' + + '{' + + 'public static void helloWorld()' + + '{' + + 'System.debug(\' Hello World\');' + + '}' + + '}'; + } + + public PageReference deployZip() + { + ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Info, 'Deploying...')); + + // Deploy zip file posted back from the page action function + MetadataService.MetadataPort service = createService(); + MetadataService.DeployOptions deployOptions = new MetadataService.DeployOptions(); + deployOptions.allowMissingFiles = false; + deployOptions.autoUpdatePackage = false; + deployOptions.checkOnly = false; + deployOptions.ignoreWarnings = false; + deployOptions.performRetrieve = false; + deployOptions.purgeOnDelete = false; + deployOptions.rollbackOnError = true; + deployOptions.testLevel = 'NoTestRun'; + deployOptions.singlePackage = true; + AsyncResult = service.deploy(ZipData, DeployOptions); + return null; + } + + public PageReference checkAsyncRequest() + { + // Check the status of the retrieve request + MetadataService.MetadataPort service = createService(); + MetadataService.DeployResult deployResult = service.checkDeployStatus(AsyncResult.Id, true); + if(deployResult.done) + { + ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Info, 'Deployment complete')); + + // Deployment errors? + if(deployResult.details!=null && deployResult.details.componentFailures!=null) + for(MetadataService.DeployMessage deployMessage : deployResult.details.componentFailures) + if(deployMessage.problem!=null) + ApexPages.addMessage( + new ApexPages.Message(ApexPages.Severity.Error, + deployMessage.fileName + + ' (Line: ' + deployMessage.lineNumber + ': Column:' + deployMessage.columnNumber + ') : ' + + deployMessage.problem)); + AsyncResult = null; + } + else + { + ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Info, 'Deploying...')); + } + return null; + } + + private static MetadataService.MetadataPort createService() + { + MetadataService.MetadataPort service = new MetadataService.MetadataPort(); + service.SessionHeader = new MetadataService.SessionHeader_element(); + service.SessionHeader.sessionId = UserInfo.getSessionId(); + return service; + } +} \ No newline at end of file diff --git a/sfdx-project/force-app/main/default/classes/MetadataDeployController.cls-meta.xml b/sfdx-project/force-app/main/default/classes/MetadataDeployController.cls-meta.xml new file mode 100644 index 0000000..fec71a2 --- /dev/null +++ b/sfdx-project/force-app/main/default/classes/MetadataDeployController.cls-meta.xml @@ -0,0 +1,5 @@ + + + 42.0 + Active + diff --git a/sfdx-project/force-app/main/default/classes/MetadataRetrieveController.cls b/sfdx-project/force-app/main/default/classes/MetadataRetrieveController.cls new file mode 100644 index 0000000..06b2d96 --- /dev/null +++ b/sfdx-project/force-app/main/default/classes/MetadataRetrieveController.cls @@ -0,0 +1,200 @@ +/** + * Copyright (c) 2012, FinancialForce.com, inc + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * - Neither the name of the FinancialForce.com, inc nor the names of its contributors + * may be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +**/ + +/** + * This example demonstrates how to utilise the Metadata API Retrieve operation inconjunction with the JSZip JavaScript library + **/ +public with sharing class MetadataRetrieveController +{ + private static final Integer METADATA_API_VERSION = + Integer.valueOf(new MetadataService.MetadataPort().endpoint_x.substringAfterLast('/')); + + public List MetaDataTypes {get; set;} + public String MetaDataType {get; set;} + public List MetaDataItems {get; set;} + public String MetaDataFolder {get; set;} + public String MetaDataItem {get; set;} + public String MetadataFileName {get; set;} + public String MetadataFileData {get; set;} + public MetadataService.AsyncResult AsyncResult {get; private set;} + public String MetaDataRetrieveZip { get; private set; } + public List MetadataFiles { get; set; } + + public PageReference init() + { + // List available Metadata Types via the 'describeMetadata' API call + MetadataService.MetadataPort service = createService(); + MetadataService.DescribeMetadataResult describeResult = service.describeMetadata(METADATA_API_VERSION); + List metadataTypeNames = new List(); + for(MetadataService.DescribeMetadataObject metadataObject : describeResult.metadataObjects) + { + metadataTypeNames.add(metadataObject.xmlName); + // Include child Metadata Types (such as CustomField, ValidationRule etc..) + if(metadataObject.childXmlNames!=null) + for(String childXmlName : metadataObject.childXmlNames) + if(childXmlName!=null) + metadataTypeNames.add(childXmlName); + } + + // Sort Metadata Types + metadataTypeNames.sort(); + MetaDataTypes = new List(); + for(String metadataTypeName : metadataTypeNames) + MetaDataTypes.add(new SelectOption(metadataTypeName, metadataTypeName)); + + // Default to first Metadata Type returned + MetaDataType = MetaDataTypes[0].getValue(); + // Retrieve Metadata items for the selected Metadata Type + listMetadataItems(); + return null; + } + + public PageReference listMetadataItems() + { + // List Metadata items for the selected Metadata Type + MetaDataItems = new List(); + MetadataService.MetadataPort service = createService(); + List queries = new List(); + MetadataService.ListMetadataQuery queryLayout = new MetadataService.ListMetadataQuery(); + if(MetaDataFolder!=null && MetaDataFolder.length()>0) + queryLayout.folder = MetaDataFolder; + queryLayout.type_x = MetaDataType; + queries.add(queryLayout); + MetadataService.FileProperties[] fileProperties = service.listMetadata(queries, METADATA_API_VERSION); + + // Sort + List fullNames = new List(); + if(fileProperties!=null) + { + for(MetadataService.FileProperties fileProperty : fileProperties) + fullNames.add(fileProperty.fullName); + fullNames.sort(); + for(String fullName : fullNames) + MetaDataItems.add(new SelectOption(fullName,EncodingUtil.urlDecode(fullName, 'UTF-8'))); + } + + return null; + } + + public PageReference retrieveMetadataItem() + { + ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Info, 'Retrieving metadata...')); + + // Reset state from any previous requests + MetaDataRetrieveZip = null; + MetadataFiles = null; + + // Construct unmanaged package with list of desired components to retrieve in zip + MetadataService.MetadataPort service = createService(); + MetadataService.RetrieveRequest retrieveRequest = new MetadataService.RetrieveRequest(); + retrieveRequest.apiVersion = METADATA_API_VERSION; + retrieveRequest.packageNames = null; + retrieveRequest.singlePackage = true; + retrieveRequest.specificFiles = null; + retrieveRequest.unpackaged = new MetadataService.Package_x(); + retrieveRequest.unpackaged.types = new List(); + MetadataService.PackageTypeMembers packageType = new MetadataService.PackageTypeMembers(); + packageType.name = MetaDataType; + packageType.members = new String[] { MetadataFolder, MetaDataItem }; + retrieveRequest.unpackaged.types.add(packageType); + AsyncResult = service.retrieve(retrieveRequest); + + return null; + } + + public PageReference checkAsyncRequest() + { + // Check the status of the retrieve request + MetadataService.MetadataPort service = createService(); + MetadataService.RetrieveResult retrieveResult = service.checkRetrieveStatus(AsyncResult.Id, true); + if(retrieveResult.done) + { + // Errors? + if(retrieveResult.status != 'Succeeded') + { + ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Info, retrieveResult.errorMessage)); + AsyncResult = null; + } + else + { + // Place Base64 encoded zip data onto the page for the JSZip library to handle + MetaDataRetrieveZip = retrieveResult.zipFile; + MetadataFiles = new List(); + ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Info, 'Expanding...')); + AsyncResult = null; + } + } + else + { + ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Info, 'Retrieving metadata...')); + } + + return null; + } + + public PageReference receiveMetadataZipFile() + { + // In this example the retrieved metadata is stored in viewstate in production cases you would probably use a custom object / attachment + ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Info, 'Expanding ' + MetaDataFileName + '...')); + MetadataFile metaDataFile = new MetadataFile(); + metaDataFile.fullName = MetaDataFileName; + metaDataFile.content = MetaDataFileData; + MetadataFiles.add(metaDataFile); + return null; + } + + public PageReference receiveComplete() + { + // Completed, cleared Base64 encoded zip data from viewstate + ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Info, 'Metadata retrieve completed')); + MetaDataRetrieveZip = null; + return null; + } + + private static MetadataService.MetadataPort createService() + { + MetadataService.MetadataPort service = new MetadataService.MetadataPort(); + service.SessionHeader = new MetadataService.SessionHeader_element(); + service.SessionHeader.sessionId = UserInfo.getSessionId(); + return service; + } + + /** + * Simple container class for retrieve metadata file, may as well leverage the Metadata API class for this + **/ + public class MetadataFile extends MetadataService.MetadataWithContent + { + public String getFullname() + { + return fullName; + } + + public String getContent() + { + return content; + } + } +} \ No newline at end of file diff --git a/sfdx-project/force-app/main/default/classes/MetadataRetrieveController.cls-meta.xml b/sfdx-project/force-app/main/default/classes/MetadataRetrieveController.cls-meta.xml new file mode 100644 index 0000000..fec71a2 --- /dev/null +++ b/sfdx-project/force-app/main/default/classes/MetadataRetrieveController.cls-meta.xml @@ -0,0 +1,5 @@ + + + 42.0 + Active + diff --git a/sfdx-project/force-app/main/default/classes/MetadataService.cls b/sfdx-project/force-app/main/default/classes/MetadataService.cls new file mode 100644 index 0000000..6de566b --- /dev/null +++ b/sfdx-project/force-app/main/default/classes/MetadataService.cls @@ -0,0 +1,13535 @@ +/** + * Copyright (c), FinancialForce.com, inc + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * - Neither the name of the FinancialForce.com, inc nor the names of its contributors + * may be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +**/ + +//Patched by MetadataServicePatcher v42.0 2018-04-22 00:00:00 + +//Generated by wsdl2apex + +public class MetadataService { + + public static String SOAP_M_URI = 'http://soap.sforce.com/2006/04/metadata'; + + public class ReportTypeColumnTranslation { + public String label; + public String name; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'label','name'}; + } + public class LightningBoltFeatures { + public String description; + public Integer order; + public String title; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] order_type_info = new String[]{'order',SOAP_M_URI,null,'1','1','false'}; + private String[] title_type_info = new String[]{'title',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'description','order','title'}; + } + public class LiveChatDeployment extends Metadata { + public String type = 'LiveChatDeployment'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String brandingImage; + public Integer connectionTimeoutDuration; + public Integer connectionWarningDuration; + public Boolean displayQueuePosition; + public MetadataService.LiveChatDeploymentDomainWhitelist domainWhiteList; + public Boolean enablePrechatApi; + public Boolean enableTranscriptSave; + public String label; + public String mobileBrandingImage; + public String site; + public String windowTitle; + private String[] brandingImage_type_info = new String[]{'brandingImage',SOAP_M_URI,null,'0','1','false'}; + private String[] connectionTimeoutDuration_type_info = new String[]{'connectionTimeoutDuration',SOAP_M_URI,null,'0','1','false'}; + private String[] connectionWarningDuration_type_info = new String[]{'connectionWarningDuration',SOAP_M_URI,null,'0','1','false'}; + private String[] displayQueuePosition_type_info = new String[]{'displayQueuePosition',SOAP_M_URI,null,'0','1','false'}; + private String[] domainWhiteList_type_info = new String[]{'domainWhiteList',SOAP_M_URI,null,'0','1','false'}; + private String[] enablePrechatApi_type_info = new String[]{'enablePrechatApi',SOAP_M_URI,null,'0','1','false'}; + private String[] enableTranscriptSave_type_info = new String[]{'enableTranscriptSave',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] mobileBrandingImage_type_info = new String[]{'mobileBrandingImage',SOAP_M_URI,null,'0','1','false'}; + private String[] site_type_info = new String[]{'site',SOAP_M_URI,null,'0','1','false'}; + private String[] windowTitle_type_info = new String[]{'windowTitle',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'brandingImage','connectionTimeoutDuration','connectionWarningDuration','displayQueuePosition','domainWhiteList','enablePrechatApi','enableTranscriptSave','label','mobileBrandingImage','site','windowTitle'}; + } + public class ReportFilterItem { + public String column; + public Boolean columnToColumn; + public Boolean isUnlocked; + public String operator; + public String snapshot; + public String value; + private String[] column_type_info = new String[]{'column',SOAP_M_URI,null,'1','1','false'}; + private String[] columnToColumn_type_info = new String[]{'columnToColumn',SOAP_M_URI,null,'0','1','false'}; + private String[] isUnlocked_type_info = new String[]{'isUnlocked',SOAP_M_URI,null,'0','1','false'}; + private String[] operator_type_info = new String[]{'operator',SOAP_M_URI,null,'1','1','false'}; + private String[] snapshot_type_info = new String[]{'snapshot',SOAP_M_URI,null,'0','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'column','columnToColumn','isUnlocked','operator','snapshot','value'}; + } + public class FlowElementReferenceOrValue { + public Boolean booleanValue; + public DateTime dateTimeValue; + public Date dateValue; + public String elementReference; + public Double numberValue; + public String stringValue; + private String[] booleanValue_type_info = new String[]{'booleanValue',SOAP_M_URI,null,'0','1','true'}; + private String[] dateTimeValue_type_info = new String[]{'dateTimeValue',SOAP_M_URI,null,'0','1','false'}; + private String[] dateValue_type_info = new String[]{'dateValue',SOAP_M_URI,null,'0','1','false'}; + private String[] elementReference_type_info = new String[]{'elementReference',SOAP_M_URI,null,'0','1','false'}; + private String[] numberValue_type_info = new String[]{'numberValue',SOAP_M_URI,null,'0','1','true'}; + private String[] stringValue_type_info = new String[]{'stringValue',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'booleanValue','dateTimeValue','dateValue','elementReference','numberValue','stringValue'}; + } + public class FlowWaitEventOutputParameter extends FlowBaseElement { + public String type = 'FlowWaitEventOutputParameter'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String assignToReference; + public String name; + private String[] assignToReference_type_info = new String[]{'assignToReference',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues', 'assignToReference','name'}; + } + public class MacroSettings { + public Boolean enableAdvancedSearch; + private String[] enableAdvancedSearch_type_info = new String[]{'enableAdvancedSearch',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'enableAdvancedSearch'}; + } + public class KnowledgeSuggestedArticlesSettings { + public MetadataService.KnowledgeCaseFieldsSettings caseFields; + public Boolean useSuggestedArticlesForCase; + public MetadataService.KnowledgeWorkOrderFieldsSettings workOrderFields; + public MetadataService.KnowledgeWorkOrderLineItemFieldsSettings workOrderLineItemFields; + private String[] caseFields_type_info = new String[]{'caseFields',SOAP_M_URI,null,'0','1','false'}; + private String[] useSuggestedArticlesForCase_type_info = new String[]{'useSuggestedArticlesForCase',SOAP_M_URI,null,'0','1','false'}; + private String[] workOrderFields_type_info = new String[]{'workOrderFields',SOAP_M_URI,null,'0','1','false'}; + private String[] workOrderLineItemFields_type_info = new String[]{'workOrderLineItemFields',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'caseFields','useSuggestedArticlesForCase','workOrderFields','workOrderLineItemFields'}; + } + public class SaveResult { + public MetadataService.Error[] errors; + public String fullName; + public Boolean success; + private String[] errors_type_info = new String[]{'errors',SOAP_M_URI,null,'0','-1','false'}; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'1','1','false'}; + private String[] success_type_info = new String[]{'success',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'errors','fullName','success'}; + } + public class ExtendedErrorDetails { + public String extendedErrorCode; + private String[] extendedErrorCode_type_info = new String[]{'extendedErrorCode',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'extendedErrorCode'}; + } + public class SessionSettings { + public Boolean disableTimeoutWarning; + public Boolean enableCSPOnEmail; + public Boolean enableCSRFOnGet; + public Boolean enableCSRFOnPost; + public Boolean enableCacheAndAutocomplete; + public Boolean enableClickjackNonsetupSFDC; + public Boolean enableClickjackNonsetupUser; + public Boolean enableClickjackNonsetupUserHeaderless; + public Boolean enableClickjackSetup; + public Boolean enableContentSniffingProtection; + public Boolean enablePostForSessions; + public Boolean enableSMSIdentity; + public Boolean enableUpgradeInsecureRequests; + public Boolean enableXssProtection; + public Boolean enforceIpRangesEveryRequest; + public Boolean forceLogoutOnSessionTimeout; + public Boolean forceRelogin; + public Boolean hstsOnForcecomSites; + public Boolean identityConfirmationOnEmailChange; + public Boolean identityConfirmationOnTwoFactorRegistrationEnabled; + public Boolean lockSessionsToDomain; + public Boolean lockSessionsToIp; + public String logoutURL; + public Boolean redirectionWarning; + public Boolean referrerPolicy; + public Boolean requireHttpOnly; + public Boolean requireHttps; + public Boolean securityCentralKillSession; + public String sessionTimeout; + private String[] disableTimeoutWarning_type_info = new String[]{'disableTimeoutWarning',SOAP_M_URI,null,'0','1','false'}; + private String[] enableCSPOnEmail_type_info = new String[]{'enableCSPOnEmail',SOAP_M_URI,null,'0','1','false'}; + private String[] enableCSRFOnGet_type_info = new String[]{'enableCSRFOnGet',SOAP_M_URI,null,'0','1','false'}; + private String[] enableCSRFOnPost_type_info = new String[]{'enableCSRFOnPost',SOAP_M_URI,null,'0','1','false'}; + private String[] enableCacheAndAutocomplete_type_info = new String[]{'enableCacheAndAutocomplete',SOAP_M_URI,null,'0','1','false'}; + private String[] enableClickjackNonsetupSFDC_type_info = new String[]{'enableClickjackNonsetupSFDC',SOAP_M_URI,null,'0','1','false'}; + private String[] enableClickjackNonsetupUser_type_info = new String[]{'enableClickjackNonsetupUser',SOAP_M_URI,null,'0','1','false'}; + private String[] enableClickjackNonsetupUserHeaderless_type_info = new String[]{'enableClickjackNonsetupUserHeaderless',SOAP_M_URI,null,'0','1','false'}; + private String[] enableClickjackSetup_type_info = new String[]{'enableClickjackSetup',SOAP_M_URI,null,'0','1','false'}; + private String[] enableContentSniffingProtection_type_info = new String[]{'enableContentSniffingProtection',SOAP_M_URI,null,'0','1','false'}; + private String[] enablePostForSessions_type_info = new String[]{'enablePostForSessions',SOAP_M_URI,null,'0','1','false'}; + private String[] enableSMSIdentity_type_info = new String[]{'enableSMSIdentity',SOAP_M_URI,null,'0','1','false'}; + private String[] enableUpgradeInsecureRequests_type_info = new String[]{'enableUpgradeInsecureRequests',SOAP_M_URI,null,'0','1','false'}; + private String[] enableXssProtection_type_info = new String[]{'enableXssProtection',SOAP_M_URI,null,'0','1','false'}; + private String[] enforceIpRangesEveryRequest_type_info = new String[]{'enforceIpRangesEveryRequest',SOAP_M_URI,null,'0','1','false'}; + private String[] forceLogoutOnSessionTimeout_type_info = new String[]{'forceLogoutOnSessionTimeout',SOAP_M_URI,null,'0','1','false'}; + private String[] forceRelogin_type_info = new String[]{'forceRelogin',SOAP_M_URI,null,'0','1','false'}; + private String[] hstsOnForcecomSites_type_info = new String[]{'hstsOnForcecomSites',SOAP_M_URI,null,'0','1','false'}; + private String[] identityConfirmationOnEmailChange_type_info = new String[]{'identityConfirmationOnEmailChange',SOAP_M_URI,null,'0','1','false'}; + private String[] identityConfirmationOnTwoFactorRegistrationEnabled_type_info = new String[]{'identityConfirmationOnTwoFactorRegistrationEnabled',SOAP_M_URI,null,'0','1','false'}; + private String[] lockSessionsToDomain_type_info = new String[]{'lockSessionsToDomain',SOAP_M_URI,null,'0','1','false'}; + private String[] lockSessionsToIp_type_info = new String[]{'lockSessionsToIp',SOAP_M_URI,null,'0','1','false'}; + private String[] logoutURL_type_info = new String[]{'logoutURL',SOAP_M_URI,null,'0','1','false'}; + private String[] redirectionWarning_type_info = new String[]{'redirectionWarning',SOAP_M_URI,null,'0','1','false'}; + private String[] referrerPolicy_type_info = new String[]{'referrerPolicy',SOAP_M_URI,null,'0','1','false'}; + private String[] requireHttpOnly_type_info = new String[]{'requireHttpOnly',SOAP_M_URI,null,'0','1','false'}; + private String[] requireHttps_type_info = new String[]{'requireHttps',SOAP_M_URI,null,'0','1','false'}; + private String[] securityCentralKillSession_type_info = new String[]{'securityCentralKillSession',SOAP_M_URI,null,'0','1','false'}; + private String[] sessionTimeout_type_info = new String[]{'sessionTimeout',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'disableTimeoutWarning','enableCSPOnEmail','enableCSRFOnGet','enableCSRFOnPost','enableCacheAndAutocomplete','enableClickjackNonsetupSFDC','enableClickjackNonsetupUser','enableClickjackNonsetupUserHeaderless','enableClickjackSetup','enableContentSniffingProtection','enablePostForSessions','enableSMSIdentity','enableUpgradeInsecureRequests','enableXssProtection','enforceIpRangesEveryRequest','forceLogoutOnSessionTimeout','forceRelogin','hstsOnForcecomSites','identityConfirmationOnEmailChange','identityConfirmationOnTwoFactorRegistrationEnabled','lockSessionsToDomain','lockSessionsToIp','logoutURL','redirectionWarning','referrerPolicy','requireHttpOnly','requireHttps','securityCentralKillSession','sessionTimeout'}; + } + public class SharingOwnerRule extends SharingBaseRule { + public String type = 'SharingOwnerRule'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String accessLevel; + public MetadataService.AccountSharingRuleSettings accountSettings; + public String description; + public String label; + public MetadataService.SharedTo sharedTo; + private String[] accessLevel_type_info = new String[]{'accessLevel',SOAP_M_URI,null,'1','1','false'}; + private String[] accountSettings_type_info = new String[]{'accountSettings',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] sharedTo_type_info = new String[]{'sharedTo',SOAP_M_URI,null,'1','1','false'}; + public MetadataService.SharedTo sharedFrom; + private String[] sharedFrom_type_info = new String[]{'sharedFrom',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','accessLevel','accountSettings','description','label','sharedTo', 'sharedFrom'}; + } + public class CustomExperienceTabSet { + public String[] customTab; + public String defaultTab; + public String[] standardTab; + private String[] customTab_type_info = new String[]{'customTab',SOAP_M_URI,null,'0','-1','false'}; + private String[] defaultTab_type_info = new String[]{'defaultTab',SOAP_M_URI,null,'1','1','false'}; + private String[] standardTab_type_info = new String[]{'standardTab',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'customTab','defaultTab','standardTab'}; + } + public class FieldMappingField { + public String dataServiceField; + public String dataServiceObjectName; + public Integer priority; + private String[] dataServiceField_type_info = new String[]{'dataServiceField',SOAP_M_URI,null,'1','1','false'}; + private String[] dataServiceObjectName_type_info = new String[]{'dataServiceObjectName',SOAP_M_URI,null,'1','1','false'}; + private String[] priority_type_info = new String[]{'priority',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'dataServiceField','dataServiceObjectName','priority'}; + } + public class CaseSettings extends Metadata { + public String type = 'CaseSettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String caseAssignNotificationTemplate; + public String caseCloseNotificationTemplate; + public String caseCommentNotificationTemplate; + public String caseCreateNotificationTemplate; + public MetadataService.FeedItemSettings[] caseFeedItemSettings; + public Boolean closeCaseThroughStatusChange; + public String defaultCaseOwner; + public String defaultCaseOwnerType; + public String defaultCaseUser; + public String emailActionDefaultsHandlerClass; + public MetadataService.EmailToCaseSettings emailToCase; + public Boolean enableCaseFeed; + public Boolean enableDraftEmails; + public Boolean enableEarlyEscalationRuleTriggers; + public Boolean enableEmailActionDefaultsHandler; + public Boolean enableSuggestedArticlesApplication; + public Boolean enableSuggestedArticlesCustomerPortal; + public Boolean enableSuggestedArticlesPartnerPortal; + public Boolean enableSuggestedSolutions; + public Boolean keepRecordTypeOnAssignmentRule; + public Boolean notifyContactOnCaseComment; + public Boolean notifyDefaultCaseOwner; + public Boolean notifyOwnerOnCaseComment; + public Boolean notifyOwnerOnCaseOwnerChange; + public Boolean showEmailAttachmentsInCaseAttachmentsRL; + public Boolean showFewerCloseActions; + public String systemUserEmail; + public Boolean useSystemEmailAddress; + public Boolean useSystemUserAsDefaultCaseUser; + public MetadataService.WebToCaseSettings webToCase; + private String[] caseAssignNotificationTemplate_type_info = new String[]{'caseAssignNotificationTemplate',SOAP_M_URI,null,'0','1','false'}; + private String[] caseCloseNotificationTemplate_type_info = new String[]{'caseCloseNotificationTemplate',SOAP_M_URI,null,'0','1','false'}; + private String[] caseCommentNotificationTemplate_type_info = new String[]{'caseCommentNotificationTemplate',SOAP_M_URI,null,'0','1','false'}; + private String[] caseCreateNotificationTemplate_type_info = new String[]{'caseCreateNotificationTemplate',SOAP_M_URI,null,'0','1','false'}; + private String[] caseFeedItemSettings_type_info = new String[]{'caseFeedItemSettings',SOAP_M_URI,null,'0','-1','false'}; + private String[] closeCaseThroughStatusChange_type_info = new String[]{'closeCaseThroughStatusChange',SOAP_M_URI,null,'0','1','false'}; + private String[] defaultCaseOwner_type_info = new String[]{'defaultCaseOwner',SOAP_M_URI,null,'0','1','false'}; + private String[] defaultCaseOwnerType_type_info = new String[]{'defaultCaseOwnerType',SOAP_M_URI,null,'0','1','false'}; + private String[] defaultCaseUser_type_info = new String[]{'defaultCaseUser',SOAP_M_URI,null,'0','1','false'}; + private String[] emailActionDefaultsHandlerClass_type_info = new String[]{'emailActionDefaultsHandlerClass',SOAP_M_URI,null,'0','1','false'}; + private String[] emailToCase_type_info = new String[]{'emailToCase',SOAP_M_URI,null,'0','1','false'}; + private String[] enableCaseFeed_type_info = new String[]{'enableCaseFeed',SOAP_M_URI,null,'0','1','false'}; + private String[] enableDraftEmails_type_info = new String[]{'enableDraftEmails',SOAP_M_URI,null,'0','1','false'}; + private String[] enableEarlyEscalationRuleTriggers_type_info = new String[]{'enableEarlyEscalationRuleTriggers',SOAP_M_URI,null,'0','1','false'}; + private String[] enableEmailActionDefaultsHandler_type_info = new String[]{'enableEmailActionDefaultsHandler',SOAP_M_URI,null,'0','1','false'}; + private String[] enableSuggestedArticlesApplication_type_info = new String[]{'enableSuggestedArticlesApplication',SOAP_M_URI,null,'0','1','false'}; + private String[] enableSuggestedArticlesCustomerPortal_type_info = new String[]{'enableSuggestedArticlesCustomerPortal',SOAP_M_URI,null,'0','1','false'}; + private String[] enableSuggestedArticlesPartnerPortal_type_info = new String[]{'enableSuggestedArticlesPartnerPortal',SOAP_M_URI,null,'0','1','false'}; + private String[] enableSuggestedSolutions_type_info = new String[]{'enableSuggestedSolutions',SOAP_M_URI,null,'0','1','false'}; + private String[] keepRecordTypeOnAssignmentRule_type_info = new String[]{'keepRecordTypeOnAssignmentRule',SOAP_M_URI,null,'0','1','false'}; + private String[] notifyContactOnCaseComment_type_info = new String[]{'notifyContactOnCaseComment',SOAP_M_URI,null,'0','1','false'}; + private String[] notifyDefaultCaseOwner_type_info = new String[]{'notifyDefaultCaseOwner',SOAP_M_URI,null,'0','1','false'}; + private String[] notifyOwnerOnCaseComment_type_info = new String[]{'notifyOwnerOnCaseComment',SOAP_M_URI,null,'0','1','false'}; + private String[] notifyOwnerOnCaseOwnerChange_type_info = new String[]{'notifyOwnerOnCaseOwnerChange',SOAP_M_URI,null,'0','1','false'}; + private String[] showEmailAttachmentsInCaseAttachmentsRL_type_info = new String[]{'showEmailAttachmentsInCaseAttachmentsRL',SOAP_M_URI,null,'0','1','false'}; + private String[] showFewerCloseActions_type_info = new String[]{'showFewerCloseActions',SOAP_M_URI,null,'0','1','false'}; + private String[] systemUserEmail_type_info = new String[]{'systemUserEmail',SOAP_M_URI,null,'0','1','false'}; + private String[] useSystemEmailAddress_type_info = new String[]{'useSystemEmailAddress',SOAP_M_URI,null,'0','1','false'}; + private String[] useSystemUserAsDefaultCaseUser_type_info = new String[]{'useSystemUserAsDefaultCaseUser',SOAP_M_URI,null,'0','1','false'}; + private String[] webToCase_type_info = new String[]{'webToCase',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'caseAssignNotificationTemplate','caseCloseNotificationTemplate','caseCommentNotificationTemplate','caseCreateNotificationTemplate','caseFeedItemSettings','closeCaseThroughStatusChange','defaultCaseOwner','defaultCaseOwnerType','defaultCaseUser','emailActionDefaultsHandlerClass','emailToCase','enableCaseFeed','enableDraftEmails','enableEarlyEscalationRuleTriggers','enableEmailActionDefaultsHandler','enableSuggestedArticlesApplication','enableSuggestedArticlesCustomerPortal','enableSuggestedArticlesPartnerPortal','enableSuggestedSolutions','keepRecordTypeOnAssignmentRule','notifyContactOnCaseComment','notifyDefaultCaseOwner','notifyOwnerOnCaseComment','notifyOwnerOnCaseOwnerChange','showEmailAttachmentsInCaseAttachmentsRL','showFewerCloseActions','systemUserEmail','useSystemEmailAddress','useSystemUserAsDefaultCaseUser','webToCase'}; + } + public class readMetadataResponse_element { + public MetadataService.ReadResult result; + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class RecommendationDefinition { + public MetadataService.RecommendationDefinitionDetail[] recommendationDefinitionDetails; + private String[] recommendationDefinitionDetails_type_info = new String[]{'recommendationDefinitionDetails',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'recommendationDefinitionDetails'}; + } + public class MiniLayout { + public String[] fields; + public MetadataService.RelatedListItem[] relatedLists; + private String[] fields_type_info = new String[]{'fields',SOAP_M_URI,null,'0','-1','false'}; + private String[] relatedLists_type_info = new String[]{'relatedLists',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'fields','relatedLists'}; + } + public class FieldValue { + public String name; + public String value; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'1','1','true'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'name','value'}; + } + public class LicensedCustomPermissions { + public String customPermission; + public String licenseDefinition; + private String[] customPermission_type_info = new String[]{'customPermission',SOAP_M_URI,null,'1','1','false'}; + private String[] licenseDefinition_type_info = new String[]{'licenseDefinition',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'customPermission','licenseDefinition'}; + } + public class UpsertResult { + public Boolean created; + public MetadataService.Error[] errors; + public String fullName; + public Boolean success; + private String[] created_type_info = new String[]{'created',SOAP_M_URI,null,'1','1','false'}; + private String[] errors_type_info = new String[]{'errors',SOAP_M_URI,null,'0','-1','false'}; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'1','1','false'}; + private String[] success_type_info = new String[]{'success',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'created','errors','fullName','success'}; + } + public class WaveXmdDimension { + public MetadataService.WaveXmdDimensionCustomAction[] customActions; + public Boolean customActionsEnabled; + public String dateFormat; + public String description; + public String field; + public String fullyQualifiedName; + public String imageTemplate; + public Boolean isDerived; + public Boolean isMultiValue; + public String label; + public String linkTemplate; + public Boolean linkTemplateEnabled; + public String linkTooltip; + public MetadataService.WaveXmdDimensionMember[] members; + public String origin; + public MetadataService.WaveXmdRecordDisplayLookup[] recordDisplayFields; + public String recordIdField; + public String recordOrganizationIdField; + public MetadataService.WaveXmdDimensionSalesforceAction[] salesforceActions; + public Boolean salesforceActionsEnabled; + public Integer showDetailsDefaultFieldIndex; + public Boolean showInExplorer; + public Integer sortIndex; + private String[] customActions_type_info = new String[]{'customActions',SOAP_M_URI,null,'0','-1','false'}; + private String[] customActionsEnabled_type_info = new String[]{'customActionsEnabled',SOAP_M_URI,null,'0','1','false'}; + private String[] dateFormat_type_info = new String[]{'dateFormat',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'1','1','false'}; + private String[] fullyQualifiedName_type_info = new String[]{'fullyQualifiedName',SOAP_M_URI,null,'0','1','false'}; + private String[] imageTemplate_type_info = new String[]{'imageTemplate',SOAP_M_URI,null,'0','1','false'}; + private String[] isDerived_type_info = new String[]{'isDerived',SOAP_M_URI,null,'1','1','false'}; + private String[] isMultiValue_type_info = new String[]{'isMultiValue',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'0','1','false'}; + private String[] linkTemplate_type_info = new String[]{'linkTemplate',SOAP_M_URI,null,'0','1','false'}; + private String[] linkTemplateEnabled_type_info = new String[]{'linkTemplateEnabled',SOAP_M_URI,null,'0','1','false'}; + private String[] linkTooltip_type_info = new String[]{'linkTooltip',SOAP_M_URI,null,'0','1','false'}; + private String[] members_type_info = new String[]{'members',SOAP_M_URI,null,'0','-1','false'}; + private String[] origin_type_info = new String[]{'origin',SOAP_M_URI,null,'0','1','false'}; + private String[] recordDisplayFields_type_info = new String[]{'recordDisplayFields',SOAP_M_URI,null,'0','-1','false'}; + private String[] recordIdField_type_info = new String[]{'recordIdField',SOAP_M_URI,null,'0','1','false'}; + private String[] recordOrganizationIdField_type_info = new String[]{'recordOrganizationIdField',SOAP_M_URI,null,'0','1','false'}; + private String[] salesforceActions_type_info = new String[]{'salesforceActions',SOAP_M_URI,null,'0','-1','false'}; + private String[] salesforceActionsEnabled_type_info = new String[]{'salesforceActionsEnabled',SOAP_M_URI,null,'0','1','false'}; + private String[] showDetailsDefaultFieldIndex_type_info = new String[]{'showDetailsDefaultFieldIndex',SOAP_M_URI,null,'0','1','false'}; + private String[] showInExplorer_type_info = new String[]{'showInExplorer',SOAP_M_URI,null,'0','1','false'}; + private String[] sortIndex_type_info = new String[]{'sortIndex',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'customActions','customActionsEnabled','dateFormat','description','field','fullyQualifiedName','imageTemplate','isDerived','isMultiValue','label','linkTemplate','linkTemplateEnabled','linkTooltip','members','origin','recordDisplayFields','recordIdField','recordOrganizationIdField','salesforceActions','salesforceActionsEnabled','showDetailsDefaultFieldIndex','showInExplorer','sortIndex'}; + } + public class ConnectedAppAttribute { + public String formula; + public String key; + private String[] formula_type_info = new String[]{'formula',SOAP_M_URI,null,'1','1','false'}; + private String[] key_type_info = new String[]{'key',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'formula','key'}; + } + public class WorkflowFieldUpdate extends WorkflowAction { + public String type = 'WorkflowFieldUpdate'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String description; + public String field; + public String formula; + public String literalValue; + public String lookupValue; + public String lookupValueType; + public String name; + public Boolean notifyAssignee; + public String operation; + public Boolean protected_x; + public Boolean reevaluateOnChange; + public String targetObject; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'1','1','false'}; + private String[] formula_type_info = new String[]{'formula',SOAP_M_URI,null,'0','1','false'}; + private String[] literalValue_type_info = new String[]{'literalValue',SOAP_M_URI,null,'0','1','false'}; + private String[] lookupValue_type_info = new String[]{'lookupValue',SOAP_M_URI,null,'0','1','false'}; + private String[] lookupValueType_type_info = new String[]{'lookupValueType',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] notifyAssignee_type_info = new String[]{'notifyAssignee',SOAP_M_URI,null,'1','1','false'}; + private String[] operation_type_info = new String[]{'operation',SOAP_M_URI,null,'1','1','false'}; + private String[] protected_x_type_info = new String[]{'protected',SOAP_M_URI,null,'1','1','false'}; + private String[] reevaluateOnChange_type_info = new String[]{'reevaluateOnChange',SOAP_M_URI,null,'0','1','false'}; + private String[] targetObject_type_info = new String[]{'targetObject',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'description','field','formula','literalValue','lookupValue','lookupValueType','name','notifyAssignee','operation','protected_x','reevaluateOnChange','targetObject'}; + } + public class AssignmentRule extends Metadata { + public String type = 'AssignmentRule'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean active; + public MetadataService.RuleEntry[] ruleEntry; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'0','1','false'}; + private String[] ruleEntry_type_info = new String[]{'ruleEntry',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'active','ruleEntry'}; + } + public class ValueSettings { + public String[] controllingFieldValue; + public String valueName; + private String[] controllingFieldValue_type_info = new String[]{'controllingFieldValue',SOAP_M_URI,null,'0','-1','false'}; + private String[] valueName_type_info = new String[]{'valueName',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'controllingFieldValue','valueName'}; + } + public class LiveChatButtonDeployments { + public String[] deployment; + private String[] deployment_type_info = new String[]{'deployment',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'deployment'}; + } + public class DataCategoryGroup extends Metadata { + public String type = 'DataCategoryGroup'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean active; + public MetadataService.DataCategory dataCategory; + public String description; + public String label; + public MetadataService.ObjectUsage objectUsage; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'1','1','false'}; + private String[] dataCategory_type_info = new String[]{'dataCategory',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] objectUsage_type_info = new String[]{'objectUsage',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'active','dataCategory','description','label','objectUsage'}; + } + public class DashboardGridComponent { + public Integer colSpan; + public Integer columnIndex; + public MetadataService.DashboardComponent dashboardComponent; + public Integer rowIndex; + public Integer rowSpan; + private String[] colSpan_type_info = new String[]{'colSpan',SOAP_M_URI,null,'1','1','false'}; + private String[] columnIndex_type_info = new String[]{'columnIndex',SOAP_M_URI,null,'1','1','false'}; + private String[] dashboardComponent_type_info = new String[]{'dashboardComponent',SOAP_M_URI,null,'1','1','false'}; + private String[] rowIndex_type_info = new String[]{'rowIndex',SOAP_M_URI,null,'1','1','false'}; + private String[] rowSpan_type_info = new String[]{'rowSpan',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'colSpan','columnIndex','dashboardComponent','rowIndex','rowSpan'}; + } + public class CustomDataTypeComponent { + public String developerSuffix; + public Boolean enforceFieldRequiredness; + public String label; + public Integer length; + public Integer precision; + public Integer scale; + public String sortOrder; + public Integer sortPriority; + public String type_x; + private String[] developerSuffix_type_info = new String[]{'developerSuffix',SOAP_M_URI,null,'1','1','false'}; + private String[] enforceFieldRequiredness_type_info = new String[]{'enforceFieldRequiredness',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] length_type_info = new String[]{'length',SOAP_M_URI,null,'0','1','false'}; + private String[] precision_type_info = new String[]{'precision',SOAP_M_URI,null,'0','1','false'}; + private String[] scale_type_info = new String[]{'scale',SOAP_M_URI,null,'0','1','false'}; + private String[] sortOrder_type_info = new String[]{'sortOrder',SOAP_M_URI,null,'0','1','false'}; + private String[] sortPriority_type_info = new String[]{'sortPriority',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'developerSuffix','enforceFieldRequiredness','label','length','precision','scale','sortOrder','sortPriority','type_x'}; + } + public class NetworkBranding extends MetadataWithContent { + public String type = 'NetworkBranding'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String content; + private String[] content_type_info = new String[]{'content',SOAP_M_URI,null,'0','1','false'}; + public String loginFooterText; + public String loginLogo; + public String loginLogoName; + public String loginPrimaryColor; + public String loginQuaternaryColor; + public String loginRightFrameUrl; + public String network; + public String pageFooter; + public String pageHeader; + public String primaryColor; + public String primaryComplementColor; + public String quaternaryColor; + public String quaternaryComplementColor; + public String secondaryColor; + public String staticLogoImageUrl; + public String tertiaryColor; + public String tertiaryComplementColor; + public String zeronaryColor; + public String zeronaryComplementColor; + private String[] loginFooterText_type_info = new String[]{'loginFooterText',SOAP_M_URI,null,'0','1','false'}; + private String[] loginLogo_type_info = new String[]{'loginLogo',SOAP_M_URI,null,'0','1','false'}; + private String[] loginLogoName_type_info = new String[]{'loginLogoName',SOAP_M_URI,null,'0','1','false'}; + private String[] loginPrimaryColor_type_info = new String[]{'loginPrimaryColor',SOAP_M_URI,null,'0','1','false'}; + private String[] loginQuaternaryColor_type_info = new String[]{'loginQuaternaryColor',SOAP_M_URI,null,'0','1','false'}; + private String[] loginRightFrameUrl_type_info = new String[]{'loginRightFrameUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] network_type_info = new String[]{'network',SOAP_M_URI,null,'0','1','false'}; + private String[] pageFooter_type_info = new String[]{'pageFooter',SOAP_M_URI,null,'0','1','false'}; + private String[] pageHeader_type_info = new String[]{'pageHeader',SOAP_M_URI,null,'0','1','false'}; + private String[] primaryColor_type_info = new String[]{'primaryColor',SOAP_M_URI,null,'1','1','false'}; + private String[] primaryComplementColor_type_info = new String[]{'primaryComplementColor',SOAP_M_URI,null,'1','1','false'}; + private String[] quaternaryColor_type_info = new String[]{'quaternaryColor',SOAP_M_URI,null,'1','1','false'}; + private String[] quaternaryComplementColor_type_info = new String[]{'quaternaryComplementColor',SOAP_M_URI,null,'1','1','false'}; + private String[] secondaryColor_type_info = new String[]{'secondaryColor',SOAP_M_URI,null,'1','1','false'}; + private String[] staticLogoImageUrl_type_info = new String[]{'staticLogoImageUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] tertiaryColor_type_info = new String[]{'tertiaryColor',SOAP_M_URI,null,'1','1','false'}; + private String[] tertiaryComplementColor_type_info = new String[]{'tertiaryComplementColor',SOAP_M_URI,null,'1','1','false'}; + private String[] zeronaryColor_type_info = new String[]{'zeronaryColor',SOAP_M_URI,null,'1','1','false'}; + private String[] zeronaryComplementColor_type_info = new String[]{'zeronaryComplementColor',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','content', 'loginFooterText','loginLogo','loginLogoName','loginPrimaryColor','loginQuaternaryColor','loginRightFrameUrl','network','pageFooter','pageHeader','primaryColor','primaryComplementColor','quaternaryColor','quaternaryComplementColor','secondaryColor','staticLogoImageUrl','tertiaryColor','tertiaryComplementColor','zeronaryColor','zeronaryComplementColor'}; + } + public class UserCriteria extends Metadata { + public String type = 'UserCriteria'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Integer creationAgeInSeconds; + public String description; + public Integer lastChatterActivityAgeInSeconds; + public String masterLabel; + public String[] profiles; + public String[] userTypes; + private String[] creationAgeInSeconds_type_info = new String[]{'creationAgeInSeconds',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] lastChatterActivityAgeInSeconds_type_info = new String[]{'lastChatterActivityAgeInSeconds',SOAP_M_URI,null,'0','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] profiles_type_info = new String[]{'profiles',SOAP_M_URI,null,'0','-1','false'}; + private String[] userTypes_type_info = new String[]{'userTypes',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'creationAgeInSeconds','description','lastChatterActivityAgeInSeconds','masterLabel','profiles','userTypes'}; + } + public class KnowledgeSitesSettings { + public String[] site; + private String[] site_type_info = new String[]{'site',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'site'}; + } + public class LightningBoltImages { + public String image; + public Integer order; + private String[] image_type_info = new String[]{'image',SOAP_M_URI,null,'1','1','false'}; + private String[] order_type_info = new String[]{'order',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'image','order'}; + } + public class SearchLayouts { + public String[] customTabListAdditionalFields; + public String[] excludedStandardButtons; + public String[] listViewButtons; + public String[] lookupDialogsAdditionalFields; + public String[] lookupFilterFields; + public String[] lookupPhoneDialogsAdditionalFields; + public String[] searchFilterFields; + public String[] searchResultsAdditionalFields; + public String[] searchResultsCustomButtons; + private String[] customTabListAdditionalFields_type_info = new String[]{'customTabListAdditionalFields',SOAP_M_URI,null,'0','-1','false'}; + private String[] excludedStandardButtons_type_info = new String[]{'excludedStandardButtons',SOAP_M_URI,null,'0','-1','false'}; + private String[] listViewButtons_type_info = new String[]{'listViewButtons',SOAP_M_URI,null,'0','-1','false'}; + private String[] lookupDialogsAdditionalFields_type_info = new String[]{'lookupDialogsAdditionalFields',SOAP_M_URI,null,'0','-1','false'}; + private String[] lookupFilterFields_type_info = new String[]{'lookupFilterFields',SOAP_M_URI,null,'0','-1','false'}; + private String[] lookupPhoneDialogsAdditionalFields_type_info = new String[]{'lookupPhoneDialogsAdditionalFields',SOAP_M_URI,null,'0','-1','false'}; + private String[] searchFilterFields_type_info = new String[]{'searchFilterFields',SOAP_M_URI,null,'0','-1','false'}; + private String[] searchResultsAdditionalFields_type_info = new String[]{'searchResultsAdditionalFields',SOAP_M_URI,null,'0','-1','false'}; + private String[] searchResultsCustomButtons_type_info = new String[]{'searchResultsCustomButtons',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'customTabListAdditionalFields','excludedStandardButtons','listViewButtons','lookupDialogsAdditionalFields','lookupFilterFields','lookupPhoneDialogsAdditionalFields','searchFilterFields','searchResultsAdditionalFields','searchResultsCustomButtons'}; + } + public class retrieve_element { + public MetadataService.RetrieveRequest retrieveRequest; + private String[] retrieveRequest_type_info = new String[]{'retrieveRequest',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'retrieveRequest'}; + } + public class AssignmentRules extends Metadata { + public String type = 'AssignmentRules'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.AssignmentRule[] assignmentRule; + private String[] assignmentRule_type_info = new String[]{'assignmentRule',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'assignmentRule'}; + } + public class DeleteResult { + public MetadataService.Error[] errors; + public String fullName; + public Boolean success; + private String[] errors_type_info = new String[]{'errors',SOAP_M_URI,null,'0','-1','false'}; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'1','1','false'}; + private String[] success_type_info = new String[]{'success',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'errors','fullName','success'}; + } + public class PackageTypeMembers { + public String[] members; + public String name; + private String[] members_type_info = new String[]{'members',SOAP_M_URI,null,'0','-1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'members','name'}; + } + public class DashboardFilter { + public MetadataService.DashboardFilterOption[] dashboardFilterOptions; + public String name; + private String[] dashboardFilterOptions_type_info = new String[]{'dashboardFilterOptions',SOAP_M_URI,null,'0','-1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'dashboardFilterOptions','name'}; + } + public class RecommendationAudience { + public MetadataService.RecommendationAudienceDetail[] recommendationAudienceDetails; + private String[] recommendationAudienceDetails_type_info = new String[]{'recommendationAudienceDetails',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'recommendationAudienceDetails'}; + } + public class ProfileApplicationVisibility { + public String application; + public Boolean default_x; + public Boolean visible; + private String[] application_type_info = new String[]{'application',SOAP_M_URI,null,'1','1','false'}; + private String[] default_x_type_info = new String[]{'default',SOAP_M_URI,null,'1','1','false'}; + private String[] visible_type_info = new String[]{'visible',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'application','default_x','visible'}; + } + public class ReportParam { + public String name; + public String value; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'name','value'}; + } + public class RelatedListItem { + public String[] customButtons; + public String[] excludeButtons; + public String[] fields; + public String relatedList; + public String sortField; + public String sortOrder; + private String[] customButtons_type_info = new String[]{'customButtons',SOAP_M_URI,null,'0','-1','false'}; + private String[] excludeButtons_type_info = new String[]{'excludeButtons',SOAP_M_URI,null,'0','-1','false'}; + private String[] fields_type_info = new String[]{'fields',SOAP_M_URI,null,'0','-1','false'}; + private String[] relatedList_type_info = new String[]{'relatedList',SOAP_M_URI,null,'1','1','false'}; + private String[] sortField_type_info = new String[]{'sortField',SOAP_M_URI,null,'0','1','false'}; + private String[] sortOrder_type_info = new String[]{'sortOrder',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'customButtons','excludeButtons','fields','relatedList','sortField','sortOrder'}; + } + public class SynonymDictionary extends Metadata { + public String type = 'SynonymDictionary'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.SynonymGroup[] groups; + public Boolean isProtected; + public String label; + private String[] groups_type_info = new String[]{'groups',SOAP_M_URI,null,'0','-1','false'}; + private String[] isProtected_type_info = new String[]{'isProtected',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'groups','isProtected','label'}; + } + public class WaveXmd extends Metadata{ + public String application; + public String dataset; + public String datasetConnector; + public String datasetFullyQualifiedName; + public MetadataService.WaveXmdDate[] dates; + public MetadataService.WaveXmdDimension[] dimensions; + public MetadataService.WaveXmdMeasure[] measures; + public MetadataService.WaveXmdOrganization[] organizations; + public String origin; + public String type_x; + public String waveVisualization; + private String[] application_type_info = new String[]{'application',SOAP_M_URI,null,'0','1','false'}; + private String[] dataset_type_info = new String[]{'dataset',SOAP_M_URI,null,'1','1','false'}; + private String[] datasetConnector_type_info = new String[]{'datasetConnector',SOAP_M_URI,null,'0','1','false'}; + private String[] datasetFullyQualifiedName_type_info = new String[]{'datasetFullyQualifiedName',SOAP_M_URI,null,'0','1','false'}; + private String[] dates_type_info = new String[]{'dates',SOAP_M_URI,null,'0','-1','false'}; + private String[] dimensions_type_info = new String[]{'dimensions',SOAP_M_URI,null,'0','-1','false'}; + private String[] measures_type_info = new String[]{'measures',SOAP_M_URI,null,'0','-1','false'}; + private String[] organizations_type_info = new String[]{'organizations',SOAP_M_URI,null,'0','-1','false'}; + private String[] origin_type_info = new String[]{'origin',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'0','1','false'}; + private String[] waveVisualization_type_info = new String[]{'waveVisualization',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'application','dataset','datasetConnector','datasetFullyQualifiedName','dates','dimensions','measures','organizations','origin','type_x','waveVisualization'}; + } + public class WebLinkTranslation { + public String label; + public String name; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'label','name'}; + } + public class LightningExperienceTheme { + public String defaultBrandingSet; + public String description; + public String masterLabel; + public Boolean shouldOverrideLoadingImage; + private String[] defaultBrandingSet_type_info = new String[]{'defaultBrandingSet',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] shouldOverrideLoadingImage_type_info = new String[]{'shouldOverrideLoadingImage',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'defaultBrandingSet','description','masterLabel','shouldOverrideLoadingImage'}; + } + public class ProfileCategoryGroupVisibility { + public String[] dataCategories; + public String dataCategoryGroup; + public String visibility; + private String[] dataCategories_type_info = new String[]{'dataCategories',SOAP_M_URI,null,'0','-1','false'}; + private String[] dataCategoryGroup_type_info = new String[]{'dataCategoryGroup',SOAP_M_URI,null,'1','1','false'}; + private String[] visibility_type_info = new String[]{'visibility',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'dataCategories','dataCategoryGroup','visibility'}; + } + public class CustomTabTranslation { + public String label; + public String name; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'label','name'}; + } + public class PackageVersion { + public Integer majorNumber; + public Integer minorNumber; + public String namespace; + private String[] majorNumber_type_info = new String[]{'majorNumber',SOAP_M_URI,null,'1','1','false'}; + private String[] minorNumber_type_info = new String[]{'minorNumber',SOAP_M_URI,null,'1','1','false'}; + private String[] namespace_type_info = new String[]{'namespace',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'majorNumber','minorNumber','namespace'}; + } + public class DescribeMetadataObject { + public String[] childXmlNames; + public String directoryName; + public Boolean inFolder; + public Boolean metaFile; + public String suffix; + public String xmlName; + private String[] childXmlNames_type_info = new String[]{'childXmlNames',SOAP_M_URI,null,'0','-1','false'}; + private String[] directoryName_type_info = new String[]{'directoryName',SOAP_M_URI,null,'1','1','false'}; + private String[] inFolder_type_info = new String[]{'inFolder',SOAP_M_URI,null,'1','1','false'}; + private String[] metaFile_type_info = new String[]{'metaFile',SOAP_M_URI,null,'1','1','false'}; + private String[] suffix_type_info = new String[]{'suffix',SOAP_M_URI,null,'0','1','false'}; + private String[] xmlName_type_info = new String[]{'xmlName',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'childXmlNames','directoryName','inFolder','metaFile','suffix','xmlName'}; + } + public class LiveAgentSettings extends Metadata { + public String type = 'LiveAgentSettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean enableLiveAgent; + private String[] enableLiveAgent_type_info = new String[]{'enableLiveAgent',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'enableLiveAgent'}; + } + public class WorkflowFlowAction { + public String description; + public String flow; + public MetadataService.WorkflowFlowActionParameter[] flowInputs; + public String label; + public String language; + public Boolean protected_x; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] flow_type_info = new String[]{'flow',SOAP_M_URI,null,'1','1','false'}; + private String[] flowInputs_type_info = new String[]{'flowInputs',SOAP_M_URI,null,'0','-1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] language_type_info = new String[]{'language',SOAP_M_URI,null,'0','1','false'}; + private String[] protected_x_type_info = new String[]{'protected',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'description','flow','flowInputs','label','language','protected_x'}; + } + public class WaveApplication extends Metadata { + public String type = 'WaveApplication'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String assetIcon; + public String description; + public String folder; + public String masterLabel; + public MetadataService.FolderShare[] shares; + public String templateOrigin; + public String templateVersion; + private String[] assetIcon_type_info = new String[]{'assetIcon',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] folder_type_info = new String[]{'folder',SOAP_M_URI,null,'1','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] shares_type_info = new String[]{'shares',SOAP_M_URI,null,'0','-1','false'}; + private String[] templateOrigin_type_info = new String[]{'templateOrigin',SOAP_M_URI,null,'0','1','false'}; + private String[] templateVersion_type_info = new String[]{'templateVersion',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'assetIcon','description','folder','masterLabel','shares','templateOrigin','templateVersion'}; + } + public class AllOrNoneHeader_element { + public Boolean allOrNone; + private String[] allOrNone_type_info = new String[]{'allOrNone',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'allOrNone'}; + } + public class WorkflowTaskTranslation { + public String description; + public String name; + public String subject; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] subject_type_info = new String[]{'subject',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'description','name','subject'}; + } + public class SearchSettings extends Metadata { + public String type = 'SearchSettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean documentContentSearchEnabled; + public Boolean optimizeSearchForCJKEnabled; + public Boolean recentlyViewedUsersForBlankLookupEnabled; + public MetadataService.SearchSettingsByObject searchSettingsByObject; + public Boolean sidebarAutoCompleteEnabled; + public Boolean sidebarDropDownListEnabled; + public Boolean sidebarLimitToItemsIOwnCheckboxEnabled; + public Boolean singleSearchResultShortcutEnabled; + public Boolean spellCorrectKnowledgeSearchEnabled; + private String[] documentContentSearchEnabled_type_info = new String[]{'documentContentSearchEnabled',SOAP_M_URI,null,'1','1','false'}; + private String[] optimizeSearchForCJKEnabled_type_info = new String[]{'optimizeSearchForCJKEnabled',SOAP_M_URI,null,'1','1','false'}; + private String[] recentlyViewedUsersForBlankLookupEnabled_type_info = new String[]{'recentlyViewedUsersForBlankLookupEnabled',SOAP_M_URI,null,'1','1','false'}; + private String[] searchSettingsByObject_type_info = new String[]{'searchSettingsByObject',SOAP_M_URI,null,'1','1','false'}; + private String[] sidebarAutoCompleteEnabled_type_info = new String[]{'sidebarAutoCompleteEnabled',SOAP_M_URI,null,'1','1','false'}; + private String[] sidebarDropDownListEnabled_type_info = new String[]{'sidebarDropDownListEnabled',SOAP_M_URI,null,'1','1','false'}; + private String[] sidebarLimitToItemsIOwnCheckboxEnabled_type_info = new String[]{'sidebarLimitToItemsIOwnCheckboxEnabled',SOAP_M_URI,null,'1','1','false'}; + private String[] singleSearchResultShortcutEnabled_type_info = new String[]{'singleSearchResultShortcutEnabled',SOAP_M_URI,null,'1','1','false'}; + private String[] spellCorrectKnowledgeSearchEnabled_type_info = new String[]{'spellCorrectKnowledgeSearchEnabled',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'documentContentSearchEnabled','optimizeSearchForCJKEnabled','recentlyViewedUsersForBlankLookupEnabled','searchSettingsByObject','sidebarAutoCompleteEnabled','sidebarDropDownListEnabled','sidebarLimitToItemsIOwnCheckboxEnabled','singleSearchResultShortcutEnabled','spellCorrectKnowledgeSearchEnabled'}; + } + public class listMetadata_element { + public MetadataService.ListMetadataQuery[] queries; + public Double asOfVersion; + private String[] queries_type_info = new String[]{'queries',SOAP_M_URI,null,'0','-1','false'}; + private String[] asOfVersion_type_info = new String[]{'asOfVersion',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'queries','asOfVersion'}; + } + public class AuraDefinitionBundle extends Metadata { + public String type = 'AuraDefinitionBundle'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String SVGContent; + public Double apiVersion; + public String controllerContent; + public String description; + public String designContent; + public String documentationContent; + public String helperContent; + public String markup; + public String modelContent; + public MetadataService.PackageVersion[] packageVersions; + public String rendererContent; + public String styleContent; + public String testsuiteContent; + public String type_x; + private String[] SVGContent_type_info = new String[]{'SVGContent',SOAP_M_URI,null,'0','1','false'}; + private String[] apiVersion_type_info = new String[]{'apiVersion',SOAP_M_URI,null,'0','1','false'}; + private String[] controllerContent_type_info = new String[]{'controllerContent',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] designContent_type_info = new String[]{'designContent',SOAP_M_URI,null,'0','1','false'}; + private String[] documentationContent_type_info = new String[]{'documentationContent',SOAP_M_URI,null,'0','1','false'}; + private String[] helperContent_type_info = new String[]{'helperContent',SOAP_M_URI,null,'0','1','false'}; + private String[] markup_type_info = new String[]{'markup',SOAP_M_URI,null,'0','1','false'}; + private String[] modelContent_type_info = new String[]{'modelContent',SOAP_M_URI,null,'0','1','false'}; + private String[] packageVersions_type_info = new String[]{'packageVersions',SOAP_M_URI,null,'0','-1','false'}; + private String[] rendererContent_type_info = new String[]{'rendererContent',SOAP_M_URI,null,'0','1','false'}; + private String[] styleContent_type_info = new String[]{'styleContent',SOAP_M_URI,null,'0','1','false'}; + private String[] testsuiteContent_type_info = new String[]{'testsuiteContent',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'SVGContent','apiVersion','controllerContent','description','designContent','documentationContent','helperContent','markup','modelContent','packageVersions','rendererContent','styleContent','testsuiteContent','type_x'}; + } + public class Queue extends Metadata { + public String type = 'Queue'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean doesSendEmailToMembers; + public String email; + public String name; + public MetadataService.QueueMembers queueMembers; + public String queueRoutingConfig; + public MetadataService.QueueSobject[] queueSobject; + private String[] doesSendEmailToMembers_type_info = new String[]{'doesSendEmailToMembers',SOAP_M_URI,null,'0','1','false'}; + private String[] email_type_info = new String[]{'email',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] queueMembers_type_info = new String[]{'queueMembers',SOAP_M_URI,null,'0','1','false'}; + private String[] queueRoutingConfig_type_info = new String[]{'queueRoutingConfig',SOAP_M_URI,null,'0','1','false'}; + private String[] queueSobject_type_info = new String[]{'queueSobject',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'doesSendEmailToMembers','email','name','queueMembers','queueRoutingConfig','queueSobject'}; + } + public class CleanDataService { + public MetadataService.CleanRule[] cleanRules; + public String description; + public String masterLabel; + public String matchEngine; + private String[] cleanRules_type_info = new String[]{'cleanRules',SOAP_M_URI,null,'0','-1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'1','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] matchEngine_type_info = new String[]{'matchEngine',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'cleanRules','description','masterLabel','matchEngine'}; + } + public class HomePageLayout extends Metadata { + public String type = 'HomePageLayout'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String[] narrowComponents; + public String[] wideComponents; + private String[] narrowComponents_type_info = new String[]{'narrowComponents',SOAP_M_URI,null,'0','-1','false'}; + private String[] wideComponents_type_info = new String[]{'wideComponents',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'narrowComponents','wideComponents'}; + } + public class WaveLens extends MetadataWithContent { + public String type = 'WaveLens'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String content; + private String[] content_type_info = new String[]{'content',SOAP_M_URI,null,'0','1','false'}; + public String application; + public String[] datasets; + public String description; + public String masterLabel; + public String templateAssetSourceName; + public String visualizationType; + private String[] application_type_info = new String[]{'application',SOAP_M_URI,null,'1','1','false'}; + private String[] datasets_type_info = new String[]{'datasets',SOAP_M_URI,null,'0','-1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] templateAssetSourceName_type_info = new String[]{'templateAssetSourceName',SOAP_M_URI,null,'0','1','false'}; + private String[] visualizationType_type_info = new String[]{'visualizationType',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','content', 'application','datasets','description','masterLabel','templateAssetSourceName','visualizationType'}; + } + public class QuickActionSendEmailOptions { + public String defaultEmailTemplateName; + public Boolean ignoreDefaultEmailTemplateSubject; + private String[] defaultEmailTemplateName_type_info = new String[]{'defaultEmailTemplateName',SOAP_M_URI,null,'0','1','false'}; + private String[] ignoreDefaultEmailTemplateSubject_type_info = new String[]{'ignoreDefaultEmailTemplateSubject',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'defaultEmailTemplateName','ignoreDefaultEmailTemplateSubject'}; + } + public class FlowCategoryItems { + public String flow; + private String[] flow_type_info = new String[]{'flow',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'flow'}; + } + public class AppPreferences { + public Boolean enableCustomizeMyTabs; + public Boolean enableKeyboardShortcuts; + public Boolean enableListViewHover; + public Boolean enableListViewReskin; + public Boolean enableMultiMonitorComponents; + public Boolean enablePinTabs; + public Boolean enableTabHover; + public Boolean enableTabLimits; + public Boolean saveUserSessions; + private String[] enableCustomizeMyTabs_type_info = new String[]{'enableCustomizeMyTabs',SOAP_M_URI,null,'1','1','false'}; + private String[] enableKeyboardShortcuts_type_info = new String[]{'enableKeyboardShortcuts',SOAP_M_URI,null,'1','1','false'}; + private String[] enableListViewHover_type_info = new String[]{'enableListViewHover',SOAP_M_URI,null,'1','1','false'}; + private String[] enableListViewReskin_type_info = new String[]{'enableListViewReskin',SOAP_M_URI,null,'1','1','false'}; + private String[] enableMultiMonitorComponents_type_info = new String[]{'enableMultiMonitorComponents',SOAP_M_URI,null,'1','1','false'}; + private String[] enablePinTabs_type_info = new String[]{'enablePinTabs',SOAP_M_URI,null,'1','1','false'}; + private String[] enableTabHover_type_info = new String[]{'enableTabHover',SOAP_M_URI,null,'1','1','false'}; + private String[] enableTabLimits_type_info = new String[]{'enableTabLimits',SOAP_M_URI,null,'1','1','false'}; + private String[] saveUserSessions_type_info = new String[]{'saveUserSessions',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'enableCustomizeMyTabs','enableKeyboardShortcuts','enableListViewHover','enableListViewReskin','enableMultiMonitorComponents','enablePinTabs','enableTabHover','enableTabLimits','saveUserSessions'}; + } + public class SocialCustomerServiceSettings extends Metadata { + public String type = 'SocialCustomerServiceSettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String caseSubjectOption; + private String[] caseSubjectOption_type_info = new String[]{'caseSubjectOption',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'caseSubjectOption'}; + } + public class MilestoneType extends Metadata { + public String type = 'MilestoneType'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String description; + public String recurrenceType; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] recurrenceType_type_info = new String[]{'recurrenceType',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'description','recurrenceType'}; + } + public class WeightedSourceCategory { + public String sourceCategoryApiName; + public Double weight; + private String[] sourceCategoryApiName_type_info = new String[]{'sourceCategoryApiName',SOAP_M_URI,null,'1','1','false'}; + private String[] weight_type_info = new String[]{'weight',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'sourceCategoryApiName','weight'}; + } + public class ApprovalProcess extends Metadata { + public String type = 'ApprovalProcess'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean active; + public Boolean allowRecall; + public MetadataService.ApprovalSubmitter[] allowedSubmitters; + public MetadataService.ApprovalPageField approvalPageFields; + public MetadataService.ApprovalStep[] approvalStep; + public String description; + public String emailTemplate; + public Boolean enableMobileDeviceAccess; + public MetadataService.ApprovalEntryCriteria entryCriteria; + public MetadataService.ApprovalAction finalApprovalActions; + public Boolean finalApprovalRecordLock; + public MetadataService.ApprovalAction finalRejectionActions; + public Boolean finalRejectionRecordLock; + public MetadataService.ApprovalAction initialSubmissionActions; + public String label; + public MetadataService.NextAutomatedApprover nextAutomatedApprover; + public String postTemplate; + public MetadataService.ApprovalAction recallActions; + public String recordEditability; + public Boolean showApprovalHistory; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'1','1','false'}; + private String[] allowRecall_type_info = new String[]{'allowRecall',SOAP_M_URI,null,'0','1','false'}; + private String[] allowedSubmitters_type_info = new String[]{'allowedSubmitters',SOAP_M_URI,null,'0','-1','false'}; + private String[] approvalPageFields_type_info = new String[]{'approvalPageFields',SOAP_M_URI,null,'0','1','false'}; + private String[] approvalStep_type_info = new String[]{'approvalStep',SOAP_M_URI,null,'0','-1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] emailTemplate_type_info = new String[]{'emailTemplate',SOAP_M_URI,null,'0','1','false'}; + private String[] enableMobileDeviceAccess_type_info = new String[]{'enableMobileDeviceAccess',SOAP_M_URI,null,'0','1','false'}; + private String[] entryCriteria_type_info = new String[]{'entryCriteria',SOAP_M_URI,null,'0','1','false'}; + private String[] finalApprovalActions_type_info = new String[]{'finalApprovalActions',SOAP_M_URI,null,'0','1','false'}; + private String[] finalApprovalRecordLock_type_info = new String[]{'finalApprovalRecordLock',SOAP_M_URI,null,'0','1','false'}; + private String[] finalRejectionActions_type_info = new String[]{'finalRejectionActions',SOAP_M_URI,null,'0','1','false'}; + private String[] finalRejectionRecordLock_type_info = new String[]{'finalRejectionRecordLock',SOAP_M_URI,null,'0','1','false'}; + private String[] initialSubmissionActions_type_info = new String[]{'initialSubmissionActions',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] nextAutomatedApprover_type_info = new String[]{'nextAutomatedApprover',SOAP_M_URI,null,'0','1','false'}; + private String[] postTemplate_type_info = new String[]{'postTemplate',SOAP_M_URI,null,'0','1','false'}; + private String[] recallActions_type_info = new String[]{'recallActions',SOAP_M_URI,null,'0','1','false'}; + private String[] recordEditability_type_info = new String[]{'recordEditability',SOAP_M_URI,null,'1','1','false'}; + private String[] showApprovalHistory_type_info = new String[]{'showApprovalHistory',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'active','allowRecall','allowedSubmitters','approvalPageFields','approvalStep','description','emailTemplate','enableMobileDeviceAccess','entryCriteria','finalApprovalActions','finalApprovalRecordLock','finalRejectionActions','finalRejectionRecordLock','initialSubmissionActions','label','nextAutomatedApprover','postTemplate','recallActions','recordEditability','showApprovalHistory'}; + } + public class EmbeddedServiceQuickAction { + public String embeddedServiceLiveAgent; + public Integer order; + public String quickActionDefinition; + private String[] embeddedServiceLiveAgent_type_info = new String[]{'embeddedServiceLiveAgent',SOAP_M_URI,null,'1','1','false'}; + private String[] order_type_info = new String[]{'order',SOAP_M_URI,null,'1','1','false'}; + private String[] quickActionDefinition_type_info = new String[]{'quickActionDefinition',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'embeddedServiceLiveAgent','order','quickActionDefinition'}; + } + public class EntitlementProcess extends Metadata { + public String type = 'EntitlementProcess'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String SObjectType; + public Boolean active; + public String businessHours; + public String description; + public String entryStartDateField; + public String exitCriteriaBooleanFilter; + public MetadataService.FilterItem[] exitCriteriaFilterItems; + public String exitCriteriaFormula; + public Boolean isRecordTypeApplied; + public Boolean isVersionDefault; + public MetadataService.EntitlementProcessMilestoneItem[] milestones; + public String name; + public String recordType; + public String versionMaster; + public String versionNotes; + public Integer versionNumber; + private String[] SObjectType_type_info = new String[]{'SObjectType',SOAP_M_URI,null,'0','1','false'}; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'0','1','false'}; + private String[] businessHours_type_info = new String[]{'businessHours',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] entryStartDateField_type_info = new String[]{'entryStartDateField',SOAP_M_URI,null,'0','1','false'}; + private String[] exitCriteriaBooleanFilter_type_info = new String[]{'exitCriteriaBooleanFilter',SOAP_M_URI,null,'0','1','false'}; + private String[] exitCriteriaFilterItems_type_info = new String[]{'exitCriteriaFilterItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] exitCriteriaFormula_type_info = new String[]{'exitCriteriaFormula',SOAP_M_URI,null,'0','1','false'}; + private String[] isRecordTypeApplied_type_info = new String[]{'isRecordTypeApplied',SOAP_M_URI,null,'0','1','false'}; + private String[] isVersionDefault_type_info = new String[]{'isVersionDefault',SOAP_M_URI,null,'0','1','false'}; + private String[] milestones_type_info = new String[]{'milestones',SOAP_M_URI,null,'0','-1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'0','1','false'}; + private String[] recordType_type_info = new String[]{'recordType',SOAP_M_URI,null,'0','1','false'}; + private String[] versionMaster_type_info = new String[]{'versionMaster',SOAP_M_URI,null,'0','1','false'}; + private String[] versionNotes_type_info = new String[]{'versionNotes',SOAP_M_URI,null,'0','1','false'}; + private String[] versionNumber_type_info = new String[]{'versionNumber',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'SObjectType','active','businessHours','description','entryStartDateField','exitCriteriaBooleanFilter','exitCriteriaFilterItems','exitCriteriaFormula','isRecordTypeApplied','isVersionDefault','milestones','name','recordType','versionMaster','versionNotes','versionNumber'}; + } + public class FlowRecordDelete extends FlowNode { + public String type = 'FlowRecordDelete'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String description; + public String name; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + public String label; + public Integer locationX; + public Integer locationY; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] locationX_type_info = new String[]{'locationX',SOAP_M_URI,null,'1','1','false'}; + private String[] locationY_type_info = new String[]{'locationY',SOAP_M_URI,null,'1','1','false'}; + public MetadataService.FlowConnector connector; + public MetadataService.FlowConnector faultConnector; + public MetadataService.FlowRecordFilter[] filters; + public String inputReference; + public String object_x; + private String[] connector_type_info = new String[]{'connector',SOAP_M_URI,null,'0','1','false'}; + private String[] faultConnector_type_info = new String[]{'faultConnector',SOAP_M_URI,null,'0','1','false'}; + private String[] filters_type_info = new String[]{'filters',SOAP_M_URI,null,'0','-1','false'}; + private String[] inputReference_type_info = new String[]{'inputReference',SOAP_M_URI,null,'0','1','false'}; + private String[] object_x_type_info = new String[]{'object',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues','description','name','label','locationX','locationY', 'connector','faultConnector','filters','inputReference','object_x'}; + } + public class FlowScreenFieldTranslation { + public String fieldText; + public String helpText; + public String name; + public MetadataService.FlowInputValidationRuleTranslation validationRule; + private String[] fieldText_type_info = new String[]{'fieldText',SOAP_M_URI,null,'0','1','false'}; + private String[] helpText_type_info = new String[]{'helpText',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] validationRule_type_info = new String[]{'validationRule',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'fieldText','helpText','name','validationRule'}; + } + public class ApexTestSuite extends Metadata { + public String type = 'ApexTestSuite'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String[] testClassName; + private String[] testClassName_type_info = new String[]{'testClassName',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'testClassName'}; + } + public class GlobalQuickActionTranslation { + public String label; + public String name; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'label','name'}; + } + public class Holiday { + public Date activityDate; + public String[] businessHours; + public String description; + public DateTime endTime; + public Boolean isRecurring; + public String name; + public Integer recurrenceDayOfMonth; + public String[] recurrenceDayOfWeek; + public Integer recurrenceDayOfWeekMask; + public Date recurrenceEndDate; + public String recurrenceInstance; + public Integer recurrenceInterval; + public String recurrenceMonthOfYear; + public Date recurrenceStartDate; + public String recurrenceType; + public DateTime startTime; + private String[] activityDate_type_info = new String[]{'activityDate',SOAP_M_URI,null,'0','1','false'}; + private String[] businessHours_type_info = new String[]{'businessHours',SOAP_M_URI,null,'0','-1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] endTime_type_info = new String[]{'endTime',SOAP_M_URI,null,'0','1','false'}; + private String[] isRecurring_type_info = new String[]{'isRecurring',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'0','1','false'}; + private String[] recurrenceDayOfMonth_type_info = new String[]{'recurrenceDayOfMonth',SOAP_M_URI,null,'0','1','false'}; + private String[] recurrenceDayOfWeek_type_info = new String[]{'recurrenceDayOfWeek',SOAP_M_URI,null,'0','-1','false'}; + private String[] recurrenceDayOfWeekMask_type_info = new String[]{'recurrenceDayOfWeekMask',SOAP_M_URI,null,'0','1','false'}; + private String[] recurrenceEndDate_type_info = new String[]{'recurrenceEndDate',SOAP_M_URI,null,'0','1','false'}; + private String[] recurrenceInstance_type_info = new String[]{'recurrenceInstance',SOAP_M_URI,null,'0','1','false'}; + private String[] recurrenceInterval_type_info = new String[]{'recurrenceInterval',SOAP_M_URI,null,'0','1','false'}; + private String[] recurrenceMonthOfYear_type_info = new String[]{'recurrenceMonthOfYear',SOAP_M_URI,null,'0','1','false'}; + private String[] recurrenceStartDate_type_info = new String[]{'recurrenceStartDate',SOAP_M_URI,null,'0','1','false'}; + private String[] recurrenceType_type_info = new String[]{'recurrenceType',SOAP_M_URI,null,'0','1','false'}; + private String[] startTime_type_info = new String[]{'startTime',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'activityDate','businessHours','description','endTime','isRecurring','name','recurrenceDayOfMonth','recurrenceDayOfWeek','recurrenceDayOfWeekMask','recurrenceEndDate','recurrenceInstance','recurrenceInterval','recurrenceMonthOfYear','recurrenceStartDate','recurrenceType','startTime'}; + } + public class Layout extends Metadata { + public String type = 'Layout'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String[] customButtons; + public MetadataService.CustomConsoleComponents customConsoleComponents; + public Boolean emailDefault; + public String[] excludeButtons; + public MetadataService.FeedLayout feedLayout; + public String[] headers; + public MetadataService.LayoutSection[] layoutSections; + public MetadataService.MiniLayout miniLayout; + public String[] multilineLayoutFields; + public MetadataService.PlatformActionList platformActionList; + public MetadataService.QuickActionList quickActionList; + public MetadataService.RelatedContent relatedContent; + public MetadataService.RelatedListItem[] relatedLists; + public String[] relatedObjects; + public Boolean runAssignmentRulesDefault; + public Boolean showEmailCheckbox; + public Boolean showHighlightsPanel; + public Boolean showInteractionLogPanel; + public Boolean showKnowledgeComponent; + public Boolean showRunAssignmentRulesCheckbox; + public Boolean showSolutionSection; + public Boolean showSubmitAndAttachButton; + public MetadataService.SummaryLayout summaryLayout; + private String[] customButtons_type_info = new String[]{'customButtons',SOAP_M_URI,null,'0','-1','false'}; + private String[] customConsoleComponents_type_info = new String[]{'customConsoleComponents',SOAP_M_URI,null,'0','1','false'}; + private String[] emailDefault_type_info = new String[]{'emailDefault',SOAP_M_URI,null,'0','1','false'}; + private String[] excludeButtons_type_info = new String[]{'excludeButtons',SOAP_M_URI,null,'0','-1','false'}; + private String[] feedLayout_type_info = new String[]{'feedLayout',SOAP_M_URI,null,'0','1','false'}; + private String[] headers_type_info = new String[]{'headers',SOAP_M_URI,null,'0','-1','false'}; + private String[] layoutSections_type_info = new String[]{'layoutSections',SOAP_M_URI,null,'0','-1','false'}; + private String[] miniLayout_type_info = new String[]{'miniLayout',SOAP_M_URI,null,'0','1','false'}; + private String[] multilineLayoutFields_type_info = new String[]{'multilineLayoutFields',SOAP_M_URI,null,'0','-1','false'}; + private String[] platformActionList_type_info = new String[]{'platformActionList',SOAP_M_URI,null,'0','1','false'}; + private String[] quickActionList_type_info = new String[]{'quickActionList',SOAP_M_URI,null,'0','1','false'}; + private String[] relatedContent_type_info = new String[]{'relatedContent',SOAP_M_URI,null,'0','1','false'}; + private String[] relatedLists_type_info = new String[]{'relatedLists',SOAP_M_URI,null,'0','-1','false'}; + private String[] relatedObjects_type_info = new String[]{'relatedObjects',SOAP_M_URI,null,'0','-1','false'}; + private String[] runAssignmentRulesDefault_type_info = new String[]{'runAssignmentRulesDefault',SOAP_M_URI,null,'0','1','false'}; + private String[] showEmailCheckbox_type_info = new String[]{'showEmailCheckbox',SOAP_M_URI,null,'0','1','false'}; + private String[] showHighlightsPanel_type_info = new String[]{'showHighlightsPanel',SOAP_M_URI,null,'0','1','false'}; + private String[] showInteractionLogPanel_type_info = new String[]{'showInteractionLogPanel',SOAP_M_URI,null,'0','1','false'}; + private String[] showKnowledgeComponent_type_info = new String[]{'showKnowledgeComponent',SOAP_M_URI,null,'0','1','false'}; + private String[] showRunAssignmentRulesCheckbox_type_info = new String[]{'showRunAssignmentRulesCheckbox',SOAP_M_URI,null,'0','1','false'}; + private String[] showSolutionSection_type_info = new String[]{'showSolutionSection',SOAP_M_URI,null,'0','1','false'}; + private String[] showSubmitAndAttachButton_type_info = new String[]{'showSubmitAndAttachButton',SOAP_M_URI,null,'0','1','false'}; + private String[] summaryLayout_type_info = new String[]{'summaryLayout',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'customButtons','customConsoleComponents','emailDefault','excludeButtons','feedLayout','headers','layoutSections','miniLayout','multilineLayoutFields','platformActionList','quickActionList','relatedContent','relatedLists','relatedObjects','runAssignmentRulesDefault','showEmailCheckbox','showHighlightsPanel','showInteractionLogPanel','showKnowledgeComponent','showRunAssignmentRulesCheckbox','showSolutionSection','showSubmitAndAttachButton','summaryLayout'}; + } + public class LiveChatButton extends Metadata { + public String type = 'LiveChatButton'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String animation; + public String autoGreeting; + public Integer chasitorIdleTimeout; + public Integer chasitorIdleTimeoutWarning; + public String chatPage; + public String customAgentName; + public MetadataService.LiveChatButtonDeployments deployments; + public Boolean enableQueue; + public String inviteEndPosition; + public String inviteImage; + public String inviteStartPosition; + public Boolean isActive; + public String label; + public Integer numberOfReroutingAttempts; + public String offlineImage; + public String onlineImage; + public Boolean optionsCustomRoutingIsEnabled; + public Boolean optionsHasChasitorIdleTimeout; + public Boolean optionsHasInviteAfterAccept; + public Boolean optionsHasInviteAfterReject; + public Boolean optionsHasRerouteDeclinedRequest; + public Boolean optionsIsAutoAccept; + public Boolean optionsIsInviteAutoRemove; + public Integer overallQueueLength; + public Integer perAgentQueueLength; + public String postChatPage; + public String postChatUrl; + public String preChatFormPage; + public String preChatFormUrl; + public Integer pushTimeOut; + public String routingType; + public String site; + public MetadataService.LiveChatButtonSkills skills; + public Integer timeToRemoveInvite; + public String type_x; + public String windowLanguage; + private String[] animation_type_info = new String[]{'animation',SOAP_M_URI,null,'0','1','false'}; + private String[] autoGreeting_type_info = new String[]{'autoGreeting',SOAP_M_URI,null,'0','1','false'}; + private String[] chasitorIdleTimeout_type_info = new String[]{'chasitorIdleTimeout',SOAP_M_URI,null,'0','1','false'}; + private String[] chasitorIdleTimeoutWarning_type_info = new String[]{'chasitorIdleTimeoutWarning',SOAP_M_URI,null,'0','1','false'}; + private String[] chatPage_type_info = new String[]{'chatPage',SOAP_M_URI,null,'0','1','false'}; + private String[] customAgentName_type_info = new String[]{'customAgentName',SOAP_M_URI,null,'0','1','false'}; + private String[] deployments_type_info = new String[]{'deployments',SOAP_M_URI,null,'0','1','false'}; + private String[] enableQueue_type_info = new String[]{'enableQueue',SOAP_M_URI,null,'0','1','false'}; + private String[] inviteEndPosition_type_info = new String[]{'inviteEndPosition',SOAP_M_URI,null,'0','1','false'}; + private String[] inviteImage_type_info = new String[]{'inviteImage',SOAP_M_URI,null,'0','1','false'}; + private String[] inviteStartPosition_type_info = new String[]{'inviteStartPosition',SOAP_M_URI,null,'0','1','false'}; + private String[] isActive_type_info = new String[]{'isActive',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] numberOfReroutingAttempts_type_info = new String[]{'numberOfReroutingAttempts',SOAP_M_URI,null,'0','1','false'}; + private String[] offlineImage_type_info = new String[]{'offlineImage',SOAP_M_URI,null,'0','1','false'}; + private String[] onlineImage_type_info = new String[]{'onlineImage',SOAP_M_URI,null,'0','1','false'}; + private String[] optionsCustomRoutingIsEnabled_type_info = new String[]{'optionsCustomRoutingIsEnabled',SOAP_M_URI,null,'0','1','false'}; + private String[] optionsHasChasitorIdleTimeout_type_info = new String[]{'optionsHasChasitorIdleTimeout',SOAP_M_URI,null,'1','1','false'}; + private String[] optionsHasInviteAfterAccept_type_info = new String[]{'optionsHasInviteAfterAccept',SOAP_M_URI,null,'0','1','false'}; + private String[] optionsHasInviteAfterReject_type_info = new String[]{'optionsHasInviteAfterReject',SOAP_M_URI,null,'0','1','false'}; + private String[] optionsHasRerouteDeclinedRequest_type_info = new String[]{'optionsHasRerouteDeclinedRequest',SOAP_M_URI,null,'0','1','false'}; + private String[] optionsIsAutoAccept_type_info = new String[]{'optionsIsAutoAccept',SOAP_M_URI,null,'0','1','false'}; + private String[] optionsIsInviteAutoRemove_type_info = new String[]{'optionsIsInviteAutoRemove',SOAP_M_URI,null,'0','1','false'}; + private String[] overallQueueLength_type_info = new String[]{'overallQueueLength',SOAP_M_URI,null,'0','1','false'}; + private String[] perAgentQueueLength_type_info = new String[]{'perAgentQueueLength',SOAP_M_URI,null,'0','1','false'}; + private String[] postChatPage_type_info = new String[]{'postChatPage',SOAP_M_URI,null,'0','1','false'}; + private String[] postChatUrl_type_info = new String[]{'postChatUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] preChatFormPage_type_info = new String[]{'preChatFormPage',SOAP_M_URI,null,'0','1','false'}; + private String[] preChatFormUrl_type_info = new String[]{'preChatFormUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] pushTimeOut_type_info = new String[]{'pushTimeOut',SOAP_M_URI,null,'0','1','false'}; + private String[] routingType_type_info = new String[]{'routingType',SOAP_M_URI,null,'1','1','false'}; + private String[] site_type_info = new String[]{'site',SOAP_M_URI,null,'0','1','false'}; + private String[] skills_type_info = new String[]{'skills',SOAP_M_URI,null,'0','1','false'}; + private String[] timeToRemoveInvite_type_info = new String[]{'timeToRemoveInvite',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] windowLanguage_type_info = new String[]{'windowLanguage',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'animation','autoGreeting','chasitorIdleTimeout','chasitorIdleTimeoutWarning','chatPage','customAgentName','deployments','enableQueue','inviteEndPosition','inviteImage','inviteStartPosition','isActive','label','numberOfReroutingAttempts','offlineImage','onlineImage','optionsCustomRoutingIsEnabled','optionsHasChasitorIdleTimeout','optionsHasInviteAfterAccept','optionsHasInviteAfterReject','optionsHasRerouteDeclinedRequest','optionsIsAutoAccept','optionsIsInviteAutoRemove','overallQueueLength','perAgentQueueLength','postChatPage','postChatUrl','preChatFormPage','preChatFormUrl','pushTimeOut','routingType','site','skills','timeToRemoveInvite','type_x','windowLanguage'}; + } + public class FlowDefinitionTranslation { + public MetadataService.FlowTranslation[] flows; + public String fullName; + public String label; + private String[] flows_type_info = new String[]{'flows',SOAP_M_URI,null,'0','-1','false'}; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'1','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'flows','fullName','label'}; + } + public class Territory2SettingsOpportunityFilter { + public String apexClassName; + public Boolean enableFilter; + public Boolean runOnCreate; + private String[] apexClassName_type_info = new String[]{'apexClassName',SOAP_M_URI,null,'1','1','true'}; + private String[] enableFilter_type_info = new String[]{'enableFilter',SOAP_M_URI,null,'1','1','false'}; + private String[] runOnCreate_type_info = new String[]{'runOnCreate',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'apexClassName','enableFilter','runOnCreate'}; + } + public class ActivitiesSettings extends Metadata { + public String type = 'ActivitiesSettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean allowUsersToRelateMultipleContactsToTasksAndEvents; + public Boolean autoRelateEventAttendees; + public Boolean enableActivityReminders; + public Boolean enableClickCreateEvents; + public Boolean enableDragAndDropScheduling; + public Boolean enableEmailTracking; + public Boolean enableGroupTasks; + public Boolean enableListViewScheduling; + public Boolean enableLogNote; + public Boolean enableMultidayEvents; + public Boolean enableRecurringEvents; + public Boolean enableRecurringTasks; + public Boolean enableSidebarCalendarShortcut; + public Boolean enableSimpleTaskCreateUI; + public Boolean enableUNSTaskDelegatedToNotifications; + public String meetingRequestsLogo; + public Boolean showCustomLogoMeetingRequests; + public Boolean showEventDetailsMultiUserCalendar; + public Boolean showHomePageHoverLinksForEvents; + public Boolean showMyTasksHoverLinks; + private String[] allowUsersToRelateMultipleContactsToTasksAndEvents_type_info = new String[]{'allowUsersToRelateMultipleContactsToTasksAndEvents',SOAP_M_URI,null,'0','1','false'}; + private String[] autoRelateEventAttendees_type_info = new String[]{'autoRelateEventAttendees',SOAP_M_URI,null,'0','1','false'}; + private String[] enableActivityReminders_type_info = new String[]{'enableActivityReminders',SOAP_M_URI,null,'0','1','false'}; + private String[] enableClickCreateEvents_type_info = new String[]{'enableClickCreateEvents',SOAP_M_URI,null,'0','1','false'}; + private String[] enableDragAndDropScheduling_type_info = new String[]{'enableDragAndDropScheduling',SOAP_M_URI,null,'0','1','false'}; + private String[] enableEmailTracking_type_info = new String[]{'enableEmailTracking',SOAP_M_URI,null,'0','1','false'}; + private String[] enableGroupTasks_type_info = new String[]{'enableGroupTasks',SOAP_M_URI,null,'0','1','false'}; + private String[] enableListViewScheduling_type_info = new String[]{'enableListViewScheduling',SOAP_M_URI,null,'0','1','false'}; + private String[] enableLogNote_type_info = new String[]{'enableLogNote',SOAP_M_URI,null,'0','1','false'}; + private String[] enableMultidayEvents_type_info = new String[]{'enableMultidayEvents',SOAP_M_URI,null,'0','1','false'}; + private String[] enableRecurringEvents_type_info = new String[]{'enableRecurringEvents',SOAP_M_URI,null,'0','1','false'}; + private String[] enableRecurringTasks_type_info = new String[]{'enableRecurringTasks',SOAP_M_URI,null,'0','1','false'}; + private String[] enableSidebarCalendarShortcut_type_info = new String[]{'enableSidebarCalendarShortcut',SOAP_M_URI,null,'0','1','false'}; + private String[] enableSimpleTaskCreateUI_type_info = new String[]{'enableSimpleTaskCreateUI',SOAP_M_URI,null,'0','1','false'}; + private String[] enableUNSTaskDelegatedToNotifications_type_info = new String[]{'enableUNSTaskDelegatedToNotifications',SOAP_M_URI,null,'0','1','false'}; + private String[] meetingRequestsLogo_type_info = new String[]{'meetingRequestsLogo',SOAP_M_URI,null,'0','1','false'}; + private String[] showCustomLogoMeetingRequests_type_info = new String[]{'showCustomLogoMeetingRequests',SOAP_M_URI,null,'0','1','false'}; + private String[] showEventDetailsMultiUserCalendar_type_info = new String[]{'showEventDetailsMultiUserCalendar',SOAP_M_URI,null,'0','1','false'}; + private String[] showHomePageHoverLinksForEvents_type_info = new String[]{'showHomePageHoverLinksForEvents',SOAP_M_URI,null,'0','1','false'}; + private String[] showMyTasksHoverLinks_type_info = new String[]{'showMyTasksHoverLinks',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'allowUsersToRelateMultipleContactsToTasksAndEvents','autoRelateEventAttendees','enableActivityReminders','enableClickCreateEvents','enableDragAndDropScheduling','enableEmailTracking','enableGroupTasks','enableListViewScheduling','enableLogNote','enableMultidayEvents','enableRecurringEvents','enableRecurringTasks','enableSidebarCalendarShortcut','enableSimpleTaskCreateUI','enableUNSTaskDelegatedToNotifications','meetingRequestsLogo','showCustomLogoMeetingRequests','showEventDetailsMultiUserCalendar','showHomePageHoverLinksForEvents','showMyTasksHoverLinks'}; + } + public class FlowWaitEvent extends FlowElement { + public String type = 'FlowWaitEvent'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String description; + public String name; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + public String conditionLogic; + public MetadataService.FlowCondition[] conditions; + public MetadataService.FlowConnector connector; + public String eventType; + public MetadataService.FlowWaitEventInputParameter[] inputParameters; + public String label; + public MetadataService.FlowWaitEventOutputParameter[] outputParameters; + private String[] conditionLogic_type_info = new String[]{'conditionLogic',SOAP_M_URI,null,'0','1','false'}; + private String[] conditions_type_info = new String[]{'conditions',SOAP_M_URI,null,'0','-1','false'}; + private String[] connector_type_info = new String[]{'connector',SOAP_M_URI,null,'1','1','false'}; + private String[] eventType_type_info = new String[]{'eventType',SOAP_M_URI,null,'1','1','false'}; + private String[] inputParameters_type_info = new String[]{'inputParameters',SOAP_M_URI,null,'0','-1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] outputParameters_type_info = new String[]{'outputParameters',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues','description','name', 'conditionLogic','conditions','connector','eventType','inputParameters','label','outputParameters'}; + } + public class ApexComponent extends MetadataWithContent { + public String type = 'ApexComponent'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String content; + private String[] content_type_info = new String[]{'content',SOAP_M_URI,null,'0','1','false'}; + public Double apiVersion; + public String description; + public String label; + public MetadataService.PackageVersion[] packageVersions; + private String[] apiVersion_type_info = new String[]{'apiVersion',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] packageVersions_type_info = new String[]{'packageVersions',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','content', 'apiVersion','description','label','packageVersions'}; + } + public class StrategyNode { + public String definition; + public String description; + public String name; + public String parentNode; + public Integer type_x; + private String[] definition_type_info = new String[]{'definition',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] parentNode_type_info = new String[]{'parentNode',SOAP_M_URI,null,'1','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'definition','description','name','parentNode','type_x'}; + } + public class AutoResponseRule extends Metadata { + public String type = 'AutoResponseRule'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean active; + public MetadataService.RuleEntry[] ruleEntry; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'0','1','false'}; + private String[] ruleEntry_type_info = new String[]{'ruleEntry',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'active','ruleEntry'}; + } + public class NamedCredential extends Metadata { + public String type = 'NamedCredential'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean allowMergeFieldsInBody; + public Boolean allowMergeFieldsInHeader; + public String authProvider; + public String certificate; + public String endpoint; + public Boolean generateAuthorizationHeader; + public String label; + public String oauthRefreshToken; + public String oauthScope; + public String oauthToken; + public String password; + public String principalType; + public String protocol; + public String username; + private String[] allowMergeFieldsInBody_type_info = new String[]{'allowMergeFieldsInBody',SOAP_M_URI,null,'0','1','false'}; + private String[] allowMergeFieldsInHeader_type_info = new String[]{'allowMergeFieldsInHeader',SOAP_M_URI,null,'0','1','false'}; + private String[] authProvider_type_info = new String[]{'authProvider',SOAP_M_URI,null,'0','1','false'}; + private String[] certificate_type_info = new String[]{'certificate',SOAP_M_URI,null,'0','1','false'}; + private String[] endpoint_type_info = new String[]{'endpoint',SOAP_M_URI,null,'0','1','false'}; + private String[] generateAuthorizationHeader_type_info = new String[]{'generateAuthorizationHeader',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] oauthRefreshToken_type_info = new String[]{'oauthRefreshToken',SOAP_M_URI,null,'0','1','false'}; + private String[] oauthScope_type_info = new String[]{'oauthScope',SOAP_M_URI,null,'0','1','false'}; + private String[] oauthToken_type_info = new String[]{'oauthToken',SOAP_M_URI,null,'0','1','false'}; + private String[] password_type_info = new String[]{'password',SOAP_M_URI,null,'0','1','false'}; + private String[] principalType_type_info = new String[]{'principalType',SOAP_M_URI,null,'1','1','false'}; + private String[] protocol_type_info = new String[]{'protocol',SOAP_M_URI,null,'1','1','false'}; + private String[] username_type_info = new String[]{'username',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'allowMergeFieldsInBody','allowMergeFieldsInHeader','authProvider','certificate','endpoint','generateAuthorizationHeader','label','oauthRefreshToken','oauthScope','oauthToken','password','principalType','protocol','username'}; + } + public class QuickAction extends Metadata { + public String type = 'QuickAction'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String canvas; + public String description; + public MetadataService.FieldOverride[] fieldOverrides; + public String flowDefinition; + public Integer height; + public String icon; + public Boolean isProtected; + public String label; + public String lightningComponent; + public Boolean optionsCreateFeedItem; + public String page_x; + public MetadataService.QuickActionLayout quickActionLayout; + public MetadataService.QuickActionSendEmailOptions quickActionSendEmailOptions; + public String standardLabel; + public String successMessage; + public String targetObject; + public String targetParentField; + public String targetRecordType; + public String type_x; + public Integer width; + private String[] canvas_type_info = new String[]{'canvas',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] fieldOverrides_type_info = new String[]{'fieldOverrides',SOAP_M_URI,null,'0','-1','false'}; + private String[] flowDefinition_type_info = new String[]{'flowDefinition',SOAP_M_URI,null,'0','1','false'}; + private String[] height_type_info = new String[]{'height',SOAP_M_URI,null,'0','1','false'}; + private String[] icon_type_info = new String[]{'icon',SOAP_M_URI,null,'0','1','false'}; + private String[] isProtected_type_info = new String[]{'isProtected',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'0','1','false'}; + private String[] lightningComponent_type_info = new String[]{'lightningComponent',SOAP_M_URI,null,'0','1','false'}; + private String[] optionsCreateFeedItem_type_info = new String[]{'optionsCreateFeedItem',SOAP_M_URI,null,'1','1','false'}; + private String[] page_x_type_info = new String[]{'page',SOAP_M_URI,null,'0','1','false'}; + private String[] quickActionLayout_type_info = new String[]{'quickActionLayout',SOAP_M_URI,null,'0','1','false'}; + private String[] quickActionSendEmailOptions_type_info = new String[]{'quickActionSendEmailOptions',SOAP_M_URI,null,'0','1','false'}; + private String[] standardLabel_type_info = new String[]{'standardLabel',SOAP_M_URI,null,'0','1','false'}; + private String[] successMessage_type_info = new String[]{'successMessage',SOAP_M_URI,null,'0','1','false'}; + private String[] targetObject_type_info = new String[]{'targetObject',SOAP_M_URI,null,'0','1','false'}; + private String[] targetParentField_type_info = new String[]{'targetParentField',SOAP_M_URI,null,'0','1','false'}; + private String[] targetRecordType_type_info = new String[]{'targetRecordType',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] width_type_info = new String[]{'width',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'canvas','description','fieldOverrides','flowDefinition','height','icon','isProtected','label','lightningComponent','optionsCreateFeedItem','page_x','quickActionLayout','quickActionSendEmailOptions','standardLabel','successMessage','targetObject','targetParentField','targetRecordType','type_x','width'}; + } + public class SharingCriteriaRule extends SharingBaseRule { + public String type = 'SharingCriteriaRule'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String accessLevel; + public MetadataService.AccountSharingRuleSettings accountSettings; + public String description; + public String label; + public MetadataService.SharedTo sharedTo; + private String[] accessLevel_type_info = new String[]{'accessLevel',SOAP_M_URI,null,'1','1','false'}; + private String[] accountSettings_type_info = new String[]{'accountSettings',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] sharedTo_type_info = new String[]{'sharedTo',SOAP_M_URI,null,'1','1','false'}; + public String booleanFilter; + public MetadataService.FilterItem[] criteriaItems; + private String[] booleanFilter_type_info = new String[]{'booleanFilter',SOAP_M_URI,null,'0','1','false'}; + private String[] criteriaItems_type_info = new String[]{'criteriaItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','accessLevel','accountSettings','description','label','sharedTo', 'booleanFilter','criteriaItems'}; + } + public class FlowAssignment extends FlowNode { + public String type = 'FlowAssignment'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String description; + public String name; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + public String label; + public Integer locationX; + public Integer locationY; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] locationX_type_info = new String[]{'locationX',SOAP_M_URI,null,'1','1','false'}; + private String[] locationY_type_info = new String[]{'locationY',SOAP_M_URI,null,'1','1','false'}; + public MetadataService.FlowAssignmentItem[] assignmentItems; + public MetadataService.FlowConnector connector; + private String[] assignmentItems_type_info = new String[]{'assignmentItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] connector_type_info = new String[]{'connector',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues','description','name','label','locationX','locationY', 'assignmentItems','connector'}; + } + public class MatchingRules extends Metadata { + public String type = 'MatchingRules'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.MatchingRule[] matchingRules; + private String[] matchingRules_type_info = new String[]{'matchingRules',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'matchingRules'}; + } + public class Index { + public MetadataService.IndexField[] fields; + public String label; + private String[] fields_type_info = new String[]{'fields',SOAP_M_URI,null,'0','-1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'fields','label'}; + } + public class Attachment { + public String content; + public String name; + private String[] content_type_info = new String[]{'content',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'content','name'}; + } + public class PathAssistantStep { + public String[] fieldNames; + public String info; + public String picklistValueName; + private String[] fieldNames_type_info = new String[]{'fieldNames',SOAP_M_URI,null,'0','-1','false'}; + private String[] info_type_info = new String[]{'info',SOAP_M_URI,null,'0','1','false'}; + private String[] picklistValueName_type_info = new String[]{'picklistValueName',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'fieldNames','info','picklistValueName'}; + } + public class ChannelLayoutItem { + public String field; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'field'}; + } + public virtual class CustomValue extends Metadata { + public String color; + public Boolean default_x; + public String description; + public Boolean isActive; + public String label; + } + public class ListView extends Metadata { + public String type = 'ListView'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String booleanFilter; + public String[] columns; + public String division; + public String filterScope; + public MetadataService.ListViewFilter[] filters; + public String label; + public String language; + public String queue; + public MetadataService.SharedTo sharedTo; + private String[] booleanFilter_type_info = new String[]{'booleanFilter',SOAP_M_URI,null,'0','1','false'}; + private String[] columns_type_info = new String[]{'columns',SOAP_M_URI,null,'0','-1','false'}; + private String[] division_type_info = new String[]{'division',SOAP_M_URI,null,'0','1','false'}; + private String[] filterScope_type_info = new String[]{'filterScope',SOAP_M_URI,null,'1','1','false'}; + private String[] filters_type_info = new String[]{'filters',SOAP_M_URI,null,'0','-1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] language_type_info = new String[]{'language',SOAP_M_URI,null,'0','1','false'}; + private String[] queue_type_info = new String[]{'queue',SOAP_M_URI,null,'0','1','false'}; + private String[] sharedTo_type_info = new String[]{'sharedTo',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'booleanFilter','columns','division','filterScope','filters','label','language','queue','sharedTo'}; + } + public class CustomApplicationTranslation { + public String label; + public String name; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'label','name'}; + } + public class KnowledgeCaseSettings { + public String articlePDFCreationProfile; + public MetadataService.KnowledgeCommunitiesSettings articlePublicSharingCommunities; + public MetadataService.KnowledgeSitesSettings articlePublicSharingSites; + public MetadataService.KnowledgeSitesSettings articlePublicSharingSitesChatterAnswers; + public String assignTo; + public String customizationClass; + public String defaultContributionArticleType; + public String editor; + public Boolean enableArticleCreation; + public Boolean enableArticlePublicSharingSites; + public Boolean enableCaseDataCategoryMapping; + public Boolean useProfileForPDFCreation; + private String[] articlePDFCreationProfile_type_info = new String[]{'articlePDFCreationProfile',SOAP_M_URI,null,'0','1','false'}; + private String[] articlePublicSharingCommunities_type_info = new String[]{'articlePublicSharingCommunities',SOAP_M_URI,null,'0','1','false'}; + private String[] articlePublicSharingSites_type_info = new String[]{'articlePublicSharingSites',SOAP_M_URI,null,'0','1','false'}; + private String[] articlePublicSharingSitesChatterAnswers_type_info = new String[]{'articlePublicSharingSitesChatterAnswers',SOAP_M_URI,null,'0','1','false'}; + private String[] assignTo_type_info = new String[]{'assignTo',SOAP_M_URI,null,'0','1','false'}; + private String[] customizationClass_type_info = new String[]{'customizationClass',SOAP_M_URI,null,'0','1','false'}; + private String[] defaultContributionArticleType_type_info = new String[]{'defaultContributionArticleType',SOAP_M_URI,null,'0','1','false'}; + private String[] editor_type_info = new String[]{'editor',SOAP_M_URI,null,'0','1','false'}; + private String[] enableArticleCreation_type_info = new String[]{'enableArticleCreation',SOAP_M_URI,null,'0','1','false'}; + private String[] enableArticlePublicSharingSites_type_info = new String[]{'enableArticlePublicSharingSites',SOAP_M_URI,null,'0','1','false'}; + private String[] enableCaseDataCategoryMapping_type_info = new String[]{'enableCaseDataCategoryMapping',SOAP_M_URI,null,'0','1','false'}; + private String[] useProfileForPDFCreation_type_info = new String[]{'useProfileForPDFCreation',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'articlePDFCreationProfile','articlePublicSharingCommunities','articlePublicSharingSites','articlePublicSharingSitesChatterAnswers','assignTo','customizationClass','defaultContributionArticleType','editor','enableArticleCreation','enableArticlePublicSharingSites','enableCaseDataCategoryMapping','useProfileForPDFCreation'}; + } + public class FiscalYearSettings { + public String fiscalYearNameBasedOn; + public String startMonth; + private String[] fiscalYearNameBasedOn_type_info = new String[]{'fiscalYearNameBasedOn',SOAP_M_URI,null,'0','1','false'}; + private String[] startMonth_type_info = new String[]{'startMonth',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'fiscalYearNameBasedOn','startMonth'}; + } + public class Approver { + public String name; + public String type_x; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'name','type_x'}; + } + public class ObjectNameCaseValue { + public String article; + public String caseType; + public Boolean plural; + public String possessive; + public String value; + private String[] article_type_info = new String[]{'article',SOAP_M_URI,null,'0','1','false'}; + private String[] caseType_type_info = new String[]{'caseType',SOAP_M_URI,null,'0','1','false'}; + private String[] plural_type_info = new String[]{'plural',SOAP_M_URI,null,'0','1','false'}; + private String[] possessive_type_info = new String[]{'possessive',SOAP_M_URI,null,'0','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'article','caseType','plural','possessive','value'}; + } + public class SiteWebAddress { + public String certificate; + public String domainName; + public Boolean primary; + private String[] certificate_type_info = new String[]{'certificate',SOAP_M_URI,null,'0','1','false'}; + private String[] domainName_type_info = new String[]{'domainName',SOAP_M_URI,null,'1','1','false'}; + private String[] primary_type_info = new String[]{'primary',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'certificate','domainName','primary'}; + } + public class FlowInputValidationRule { + public String errorMessage; + public String formulaExpression; + private String[] errorMessage_type_info = new String[]{'errorMessage',SOAP_M_URI,null,'1','1','false'}; + private String[] formulaExpression_type_info = new String[]{'formulaExpression',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'errorMessage','formulaExpression'}; + } + public class CompanySettings extends Metadata { + public String type = 'CompanySettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.FiscalYearSettings fiscalYear; + private String[] fiscalYear_type_info = new String[]{'fiscalYear',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'fiscalYear'}; + } + public class FlowScreenField extends FlowElement { + public String type = 'FlowScreenField'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String description; + public String name; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + public String[] choiceReferences; + public String dataType; + public String defaultSelectedChoiceReference; + public MetadataService.FlowElementReferenceOrValue defaultValue; + public String extensionName; + public String fieldText; + public String fieldType; + public String helpText; + public MetadataService.FlowScreenFieldInputParameter[] inputParameters; + public Boolean isRequired; + public Boolean isVisible; + public MetadataService.FlowScreenFieldOutputParameter[] outputParameters; + public Integer scale; + public MetadataService.FlowInputValidationRule validationRule; + private String[] choiceReferences_type_info = new String[]{'choiceReferences',SOAP_M_URI,null,'0','-1','false'}; + private String[] dataType_type_info = new String[]{'dataType',SOAP_M_URI,null,'0','1','false'}; + private String[] defaultSelectedChoiceReference_type_info = new String[]{'defaultSelectedChoiceReference',SOAP_M_URI,null,'0','1','false'}; + private String[] defaultValue_type_info = new String[]{'defaultValue',SOAP_M_URI,null,'0','1','false'}; + private String[] extensionName_type_info = new String[]{'extensionName',SOAP_M_URI,null,'0','1','false'}; + private String[] fieldText_type_info = new String[]{'fieldText',SOAP_M_URI,null,'0','1','false'}; + private String[] fieldType_type_info = new String[]{'fieldType',SOAP_M_URI,null,'1','1','false'}; + private String[] helpText_type_info = new String[]{'helpText',SOAP_M_URI,null,'0','1','false'}; + private String[] inputParameters_type_info = new String[]{'inputParameters',SOAP_M_URI,null,'0','-1','false'}; + private String[] isRequired_type_info = new String[]{'isRequired',SOAP_M_URI,null,'0','1','false'}; + private String[] isVisible_type_info = new String[]{'isVisible',SOAP_M_URI,null,'0','1','false'}; + private String[] outputParameters_type_info = new String[]{'outputParameters',SOAP_M_URI,null,'0','-1','false'}; + private String[] scale_type_info = new String[]{'scale',SOAP_M_URI,null,'0','1','false'}; + private String[] validationRule_type_info = new String[]{'validationRule',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues','description','name', 'choiceReferences','dataType','defaultSelectedChoiceReference','defaultValue','extensionName','fieldText','fieldType','helpText','inputParameters','isRequired','isVisible','outputParameters','scale','validationRule'}; + } + public class LookupFilterTranslation { + public String errorMessage; + public String informationalMessage; + private String[] errorMessage_type_info = new String[]{'errorMessage',SOAP_M_URI,null,'1','1','false'}; + private String[] informationalMessage_type_info = new String[]{'informationalMessage',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'errorMessage','informationalMessage'}; + } + public class LetterheadLine { + public String color; + public Integer height; + private String[] color_type_info = new String[]{'color',SOAP_M_URI,null,'1','1','false'}; + private String[] height_type_info = new String[]{'height',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'color','height'}; + } + public class ValidationRule extends Metadata { + public String type = 'ValidationRule'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean active; + public String description; + public String errorConditionFormula; + public String errorDisplayField; + public String errorMessage; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] errorConditionFormula_type_info = new String[]{'errorConditionFormula',SOAP_M_URI,null,'1','1','false'}; + private String[] errorDisplayField_type_info = new String[]{'errorDisplayField',SOAP_M_URI,null,'0','1','false'}; + private String[] errorMessage_type_info = new String[]{'errorMessage',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'active','description','errorConditionFormula','errorDisplayField','errorMessage'}; + } + public class ChatterAnswersReputationLevel { + public String name; + public Integer value; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'name','value'}; + } + public class Role { + public String parentRole; + private String[] parentRole_type_info = new String[]{'parentRole',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'parentRole'}; + } + public class WaveXmdDate { + public String alias; + public Boolean compact; + public String dateFieldDay; + public String dateFieldEpochDay; + public String dateFieldEpochSecond; + public String dateFieldFiscalMonth; + public String dateFieldFiscalQuarter; + public String dateFieldFiscalWeek; + public String dateFieldFiscalYear; + public String dateFieldFullYear; + public String dateFieldHour; + public String dateFieldMinute; + public String dateFieldMonth; + public String dateFieldQuarter; + public String dateFieldSecond; + public String dateFieldWeek; + public String dateFieldYear; + public String description; + public Integer firstDayOfWeek; + public Integer fiscalMonthOffset; + public Boolean isYearEndFiscalYear; + public String label; + public Boolean showInExplorer; + public Integer sortIndex; + private String[] alias_type_info = new String[]{'alias',SOAP_M_URI,null,'1','1','false'}; + private String[] compact_type_info = new String[]{'compact',SOAP_M_URI,null,'0','1','false'}; + private String[] dateFieldDay_type_info = new String[]{'dateFieldDay',SOAP_M_URI,null,'0','1','false'}; + private String[] dateFieldEpochDay_type_info = new String[]{'dateFieldEpochDay',SOAP_M_URI,null,'0','1','false'}; + private String[] dateFieldEpochSecond_type_info = new String[]{'dateFieldEpochSecond',SOAP_M_URI,null,'0','1','false'}; + private String[] dateFieldFiscalMonth_type_info = new String[]{'dateFieldFiscalMonth',SOAP_M_URI,null,'0','1','false'}; + private String[] dateFieldFiscalQuarter_type_info = new String[]{'dateFieldFiscalQuarter',SOAP_M_URI,null,'0','1','false'}; + private String[] dateFieldFiscalWeek_type_info = new String[]{'dateFieldFiscalWeek',SOAP_M_URI,null,'0','1','false'}; + private String[] dateFieldFiscalYear_type_info = new String[]{'dateFieldFiscalYear',SOAP_M_URI,null,'0','1','false'}; + private String[] dateFieldFullYear_type_info = new String[]{'dateFieldFullYear',SOAP_M_URI,null,'0','1','false'}; + private String[] dateFieldHour_type_info = new String[]{'dateFieldHour',SOAP_M_URI,null,'0','1','false'}; + private String[] dateFieldMinute_type_info = new String[]{'dateFieldMinute',SOAP_M_URI,null,'0','1','false'}; + private String[] dateFieldMonth_type_info = new String[]{'dateFieldMonth',SOAP_M_URI,null,'0','1','false'}; + private String[] dateFieldQuarter_type_info = new String[]{'dateFieldQuarter',SOAP_M_URI,null,'0','1','false'}; + private String[] dateFieldSecond_type_info = new String[]{'dateFieldSecond',SOAP_M_URI,null,'0','1','false'}; + private String[] dateFieldWeek_type_info = new String[]{'dateFieldWeek',SOAP_M_URI,null,'0','1','false'}; + private String[] dateFieldYear_type_info = new String[]{'dateFieldYear',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] firstDayOfWeek_type_info = new String[]{'firstDayOfWeek',SOAP_M_URI,null,'1','1','false'}; + private String[] fiscalMonthOffset_type_info = new String[]{'fiscalMonthOffset',SOAP_M_URI,null,'1','1','false'}; + private String[] isYearEndFiscalYear_type_info = new String[]{'isYearEndFiscalYear',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'0','1','false'}; + private String[] showInExplorer_type_info = new String[]{'showInExplorer',SOAP_M_URI,null,'0','1','false'}; + private String[] sortIndex_type_info = new String[]{'sortIndex',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'alias','compact','dateFieldDay','dateFieldEpochDay','dateFieldEpochSecond','dateFieldFiscalMonth','dateFieldFiscalQuarter','dateFieldFiscalWeek','dateFieldFiscalYear','dateFieldFullYear','dateFieldHour','dateFieldMinute','dateFieldMonth','dateFieldQuarter','dateFieldSecond','dateFieldWeek','dateFieldYear','description','firstDayOfWeek','fiscalMonthOffset','isYearEndFiscalYear','label','showInExplorer','sortIndex'}; + } + public class PublicGroups { + public String[] publicGroup; + private String[] publicGroup_type_info = new String[]{'publicGroup',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'publicGroup'}; + } + public class FeedLayoutFilter { + public String feedFilterName; + public String feedFilterType; + public String feedItemType; + private String[] feedFilterName_type_info = new String[]{'feedFilterName',SOAP_M_URI,null,'0','1','false'}; + private String[] feedFilterType_type_info = new String[]{'feedFilterType',SOAP_M_URI,null,'1','1','false'}; + private String[] feedItemType_type_info = new String[]{'feedItemType',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'feedFilterName','feedFilterType','feedItemType'}; + } + public virtual class WorkflowAction extends Metadata { + } + public class State { + public Boolean active; + public String integrationValue; + public String isoCode; + public String label; + public Boolean standard; + public Boolean visible; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'1','1','false'}; + private String[] integrationValue_type_info = new String[]{'integrationValue',SOAP_M_URI,null,'1','1','false'}; + private String[] isoCode_type_info = new String[]{'isoCode',SOAP_M_URI,null,'1','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] standard_type_info = new String[]{'standard',SOAP_M_URI,null,'1','1','false'}; + private String[] visible_type_info = new String[]{'visible',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'active','integrationValue','isoCode','label','standard','visible'}; + } + public class SupervisorAgentConfigSkills { + public String[] skill; + private String[] skill_type_info = new String[]{'skill',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'skill'}; + } + public class describeValueTypeResponse_element { + public MetadataService.DescribeValueTypeResult result; + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ActionOverride { + public String actionName; + public String comment; + public String content; + public String formFactor; + public Boolean skipRecordTypeSelect; + public String type_x; + private String[] actionName_type_info = new String[]{'actionName',SOAP_M_URI,null,'0','1','false'}; + private String[] comment_type_info = new String[]{'comment',SOAP_M_URI,null,'0','1','false'}; + private String[] content_type_info = new String[]{'content',SOAP_M_URI,null,'0','1','false'}; + private String[] formFactor_type_info = new String[]{'formFactor',SOAP_M_URI,null,'0','1','false'}; + private String[] skipRecordTypeSelect_type_info = new String[]{'skipRecordTypeSelect',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'actionName','comment','content','formFactor','skipRecordTypeSelect','type_x'}; + } + public class Translations extends Metadata { + public String type = 'Translations'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.CustomApplicationTranslation[] customApplications; + public MetadataService.CustomDataTypeTranslation[] customDataTypeTranslations; + public MetadataService.CustomLabelTranslation[] customLabels; + public MetadataService.CustomPageWebLinkTranslation[] customPageWebLinks; + public MetadataService.CustomTabTranslation[] customTabs; + public MetadataService.FlowDefinitionTranslation[] flowDefinitions; + public MetadataService.GlobalQuickActionTranslation[] quickActions; + public MetadataService.ReportTypeTranslation[] reportTypes; + public MetadataService.ScontrolTranslation[] scontrols; + private String[] customApplications_type_info = new String[]{'customApplications',SOAP_M_URI,null,'0','-1','false'}; + private String[] customDataTypeTranslations_type_info = new String[]{'customDataTypeTranslations',SOAP_M_URI,null,'0','-1','false'}; + private String[] customLabels_type_info = new String[]{'customLabels',SOAP_M_URI,null,'0','-1','false'}; + private String[] customPageWebLinks_type_info = new String[]{'customPageWebLinks',SOAP_M_URI,null,'0','-1','false'}; + private String[] customTabs_type_info = new String[]{'customTabs',SOAP_M_URI,null,'0','-1','false'}; + private String[] flowDefinitions_type_info = new String[]{'flowDefinitions',SOAP_M_URI,null,'0','-1','false'}; + private String[] quickActions_type_info = new String[]{'quickActions',SOAP_M_URI,null,'0','-1','false'}; + private String[] reportTypes_type_info = new String[]{'reportTypes',SOAP_M_URI,null,'0','-1','false'}; + private String[] scontrols_type_info = new String[]{'scontrols',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'customApplications','customDataTypeTranslations','customLabels','customPageWebLinks','customTabs','flowDefinitions','quickActions','reportTypes','scontrols'}; + } + public class WebToCaseSettings { + public String caseOrigin; + public String defaultResponseTemplate; + public Boolean enableWebToCase; + private String[] caseOrigin_type_info = new String[]{'caseOrigin',SOAP_M_URI,null,'0','1','false'}; + private String[] defaultResponseTemplate_type_info = new String[]{'defaultResponseTemplate',SOAP_M_URI,null,'0','1','false'}; + private String[] enableWebToCase_type_info = new String[]{'enableWebToCase',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'caseOrigin','defaultResponseTemplate','enableWebToCase'}; + } + public class CustomMetadata extends Metadata { + public String type = 'CustomMetadata'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String description; + public String label; + public Boolean protected_x; + public MetadataService.CustomMetadataValue[] values; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'0','1','false'}; + private String[] protected_x_type_info = new String[]{'protected',SOAP_M_URI,null,'0','1','false'}; + private String[] values_type_info = new String[]{'values',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'description','label','protected_x','values'}; + } + public virtual class FlowNode extends FlowElement { + public String label; + public Integer locationX; + public Integer locationY; + } + public class FileProperties { + public String createdById; + public String createdByName; + public DateTime createdDate; + public String fileName; + public String fullName; + public String id; + public String lastModifiedById; + public String lastModifiedByName; + public DateTime lastModifiedDate; + public String manageableState; + public String namespacePrefix; + public String type_x; + private String[] createdById_type_info = new String[]{'createdById',SOAP_M_URI,null,'1','1','false'}; + private String[] createdByName_type_info = new String[]{'createdByName',SOAP_M_URI,null,'1','1','false'}; + private String[] createdDate_type_info = new String[]{'createdDate',SOAP_M_URI,null,'1','1','false'}; + private String[] fileName_type_info = new String[]{'fileName',SOAP_M_URI,null,'1','1','false'}; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'1','1','false'}; + private String[] id_type_info = new String[]{'id',SOAP_M_URI,null,'1','1','false'}; + private String[] lastModifiedById_type_info = new String[]{'lastModifiedById',SOAP_M_URI,null,'1','1','false'}; + private String[] lastModifiedByName_type_info = new String[]{'lastModifiedByName',SOAP_M_URI,null,'1','1','false'}; + private String[] lastModifiedDate_type_info = new String[]{'lastModifiedDate',SOAP_M_URI,null,'1','1','false'}; + private String[] manageableState_type_info = new String[]{'manageableState',SOAP_M_URI,null,'0','1','false'}; + private String[] namespacePrefix_type_info = new String[]{'namespacePrefix',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'createdById','createdByName','createdDate','fileName','fullName','id','lastModifiedById','lastModifiedByName','lastModifiedDate','manageableState','namespacePrefix','type_x'}; + } + public class OrderSettings extends Metadata { + public String type = 'OrderSettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean enableNegativeQuantity; + public Boolean enableOrders; + public Boolean enableReductionOrders; + public Boolean enableZeroQuantity; + private String[] enableNegativeQuantity_type_info = new String[]{'enableNegativeQuantity',SOAP_M_URI,null,'0','1','false'}; + private String[] enableOrders_type_info = new String[]{'enableOrders',SOAP_M_URI,null,'0','1','false'}; + private String[] enableReductionOrders_type_info = new String[]{'enableReductionOrders',SOAP_M_URI,null,'0','1','false'}; + private String[] enableZeroQuantity_type_info = new String[]{'enableZeroQuantity',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'enableNegativeQuantity','enableOrders','enableReductionOrders','enableZeroQuantity'}; + } + public class ReportTimeFrameFilter { + public String dateColumn; + public Date endDate; + public String interval; + public Date startDate; + private String[] dateColumn_type_info = new String[]{'dateColumn',SOAP_M_URI,null,'1','1','false'}; + private String[] endDate_type_info = new String[]{'endDate',SOAP_M_URI,null,'0','1','false'}; + private String[] interval_type_info = new String[]{'interval',SOAP_M_URI,null,'1','1','false'}; + private String[] startDate_type_info = new String[]{'startDate',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'dateColumn','endDate','interval','startDate'}; + } + public class ContentAssetLink { + public String access; + public Boolean isManagingWorkspace; + public String name; + private String[] access_type_info = new String[]{'access',SOAP_M_URI,null,'1','1','false'}; + private String[] isManagingWorkspace_type_info = new String[]{'isManagingWorkspace',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'access','isManagingWorkspace','name'}; + } + public class StandardValue extends CustomValue { + public String type = 'StandardValue'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String color; + public Boolean default_x; + public String description; + public Boolean isActive; + public String label; + private String[] color_type_info = new String[]{'color',SOAP_M_URI,null,'0','1','false'}; + private String[] default_x_type_info = new String[]{'default',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] isActive_type_info = new String[]{'isActive',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'0','1','false'}; + public Boolean allowEmail; + public Boolean closed; + public Boolean converted; + public Boolean cssExposed; + public String forecastCategory; + public String groupingString; + public Boolean highPriority; + public Integer probability; + public String reverseRole; + public Boolean reviewed; + public Boolean won; + private String[] allowEmail_type_info = new String[]{'allowEmail',SOAP_M_URI,null,'0','1','false'}; + private String[] closed_type_info = new String[]{'closed',SOAP_M_URI,null,'0','1','false'}; + private String[] converted_type_info = new String[]{'converted',SOAP_M_URI,null,'0','1','false'}; + private String[] cssExposed_type_info = new String[]{'cssExposed',SOAP_M_URI,null,'0','1','false'}; + private String[] forecastCategory_type_info = new String[]{'forecastCategory',SOAP_M_URI,null,'0','1','false'}; + private String[] groupingString_type_info = new String[]{'groupingString',SOAP_M_URI,null,'0','1','false'}; + private String[] highPriority_type_info = new String[]{'highPriority',SOAP_M_URI,null,'0','1','false'}; + private String[] probability_type_info = new String[]{'probability',SOAP_M_URI,null,'0','1','false'}; + private String[] reverseRole_type_info = new String[]{'reverseRole',SOAP_M_URI,null,'0','1','false'}; + private String[] reviewed_type_info = new String[]{'reviewed',SOAP_M_URI,null,'0','1','false'}; + private String[] won_type_info = new String[]{'won',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','color','default_x','description','isActive','label', 'allowEmail','closed','converted','cssExposed','forecastCategory','groupingString','highPriority','probability','reverseRole','reviewed','won'}; + } + public class NavigationSubMenu { + public MetadataService.NavigationMenuItem[] navigationMenuItem; + private String[] navigationMenuItem_type_info = new String[]{'navigationMenuItem',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'navigationMenuItem'}; + } + public class ProductSettings extends Metadata { + public String type = 'ProductSettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean enableCascadeActivateToRelatedPrices; + public Boolean enableQuantitySchedule; + public Boolean enableRevenueSchedule; + private String[] enableCascadeActivateToRelatedPrices_type_info = new String[]{'enableCascadeActivateToRelatedPrices',SOAP_M_URI,null,'0','1','false'}; + private String[] enableQuantitySchedule_type_info = new String[]{'enableQuantitySchedule',SOAP_M_URI,null,'0','1','false'}; + private String[] enableRevenueSchedule_type_info = new String[]{'enableRevenueSchedule',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'enableCascadeActivateToRelatedPrices','enableQuantitySchedule','enableRevenueSchedule'}; + } + public class WorkflowTask extends WorkflowAction { + public String type = 'WorkflowTask'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String assignedTo; + public String assignedToType; + public String description; + public Integer dueDateOffset; + public Boolean notifyAssignee; + public String offsetFromField; + public String priority; + public Boolean protected_x; + public String status; + public String subject; + private String[] assignedTo_type_info = new String[]{'assignedTo',SOAP_M_URI,null,'0','1','false'}; + private String[] assignedToType_type_info = new String[]{'assignedToType',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] dueDateOffset_type_info = new String[]{'dueDateOffset',SOAP_M_URI,null,'1','1','false'}; + private String[] notifyAssignee_type_info = new String[]{'notifyAssignee',SOAP_M_URI,null,'1','1','false'}; + private String[] offsetFromField_type_info = new String[]{'offsetFromField',SOAP_M_URI,null,'0','1','false'}; + private String[] priority_type_info = new String[]{'priority',SOAP_M_URI,null,'1','1','false'}; + private String[] protected_x_type_info = new String[]{'protected',SOAP_M_URI,null,'1','1','false'}; + private String[] status_type_info = new String[]{'status',SOAP_M_URI,null,'1','1','false'}; + private String[] subject_type_info = new String[]{'subject',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'assignedTo','assignedToType','description','dueDateOffset','notifyAssignee','offsetFromField','priority','protected_x','status','subject'}; + } + public class GlobalValueSetTranslation { + public MetadataService.ValueTranslation[] valueTranslation; + private String[] valueTranslation_type_info = new String[]{'valueTranslation',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'valueTranslation'}; + } + public class deployResponse_element { + public MetadataService.AsyncResult result; + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class FeedItemSettings { + public Integer characterLimit; + public Boolean collapseThread; + public String displayFormat; + public String feedItemType; + private String[] characterLimit_type_info = new String[]{'characterLimit',SOAP_M_URI,null,'0','1','false'}; + private String[] collapseThread_type_info = new String[]{'collapseThread',SOAP_M_URI,null,'0','1','false'}; + private String[] displayFormat_type_info = new String[]{'displayFormat',SOAP_M_URI,null,'0','1','false'}; + private String[] feedItemType_type_info = new String[]{'feedItemType',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'characterLimit','collapseThread','displayFormat','feedItemType'}; + } + public class EmbeddedServiceFieldService { + public String appointmentBookingFlowName; + public String cancelApptBookingFlowName; + public String embeddedServiceConfig; + public Boolean enabled; + public String fieldServiceConfirmCardImg; + public String fieldServiceHomeImg; + public String fieldServiceLogoImg; + public String masterLabel; + public String modifyApptBookingFlowName; + public Boolean shouldShowExistingAppointment; + public Boolean shouldShowNewAppointment; + private String[] appointmentBookingFlowName_type_info = new String[]{'appointmentBookingFlowName',SOAP_M_URI,null,'0','1','false'}; + private String[] cancelApptBookingFlowName_type_info = new String[]{'cancelApptBookingFlowName',SOAP_M_URI,null,'0','1','false'}; + private String[] embeddedServiceConfig_type_info = new String[]{'embeddedServiceConfig',SOAP_M_URI,null,'1','1','false'}; + private String[] enabled_type_info = new String[]{'enabled',SOAP_M_URI,null,'1','1','false'}; + private String[] fieldServiceConfirmCardImg_type_info = new String[]{'fieldServiceConfirmCardImg',SOAP_M_URI,null,'0','1','false'}; + private String[] fieldServiceHomeImg_type_info = new String[]{'fieldServiceHomeImg',SOAP_M_URI,null,'0','1','false'}; + private String[] fieldServiceLogoImg_type_info = new String[]{'fieldServiceLogoImg',SOAP_M_URI,null,'0','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] modifyApptBookingFlowName_type_info = new String[]{'modifyApptBookingFlowName',SOAP_M_URI,null,'0','1','false'}; + private String[] shouldShowExistingAppointment_type_info = new String[]{'shouldShowExistingAppointment',SOAP_M_URI,null,'0','1','false'}; + private String[] shouldShowNewAppointment_type_info = new String[]{'shouldShowNewAppointment',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'appointmentBookingFlowName','cancelApptBookingFlowName','embeddedServiceConfig','enabled','fieldServiceConfirmCardImg','fieldServiceHomeImg','fieldServiceLogoImg','masterLabel','modifyApptBookingFlowName','shouldShowExistingAppointment','shouldShowNewAppointment'}; + } + public class AgentConfigAssignments { + public MetadataService.AgentConfigProfileAssignments profiles; + public MetadataService.AgentConfigUserAssignments users; + private String[] profiles_type_info = new String[]{'profiles',SOAP_M_URI,null,'0','1','false'}; + private String[] users_type_info = new String[]{'users',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'profiles','users'}; + } + public class ApprovalStepApprover { + public MetadataService.Approver[] approver; + public String whenMultipleApprovers; + private String[] approver_type_info = new String[]{'approver',SOAP_M_URI,null,'0','-1','false'}; + private String[] whenMultipleApprovers_type_info = new String[]{'whenMultipleApprovers',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'approver','whenMultipleApprovers'}; + } + public class ApexTrigger extends MetadataWithContent { + public String type = 'ApexTrigger'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String content; + private String[] content_type_info = new String[]{'content',SOAP_M_URI,null,'0','1','false'}; + public Double apiVersion; + public MetadataService.PackageVersion[] packageVersions; + public String status; + private String[] apiVersion_type_info = new String[]{'apiVersion',SOAP_M_URI,null,'1','1','false'}; + private String[] packageVersions_type_info = new String[]{'packageVersions',SOAP_M_URI,null,'0','-1','false'}; + private String[] status_type_info = new String[]{'status',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','content', 'apiVersion','packageVersions','status'}; + } + public class CustomConsoleComponents { + public MetadataService.PrimaryTabComponents primaryTabComponents; + public MetadataService.SubtabComponents subtabComponents; + private String[] primaryTabComponents_type_info = new String[]{'primaryTabComponents',SOAP_M_URI,null,'0','1','false'}; + private String[] subtabComponents_type_info = new String[]{'subtabComponents',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'primaryTabComponents','subtabComponents'}; + } + public class TouchMobileSettings { + public Boolean enableTouchAppIPad; + public Boolean enableTouchAppIPhone; + public Boolean enableTouchBrowserIPad; + public Boolean enableTouchIosPhone; + public Boolean enableVisualforceInTouch; + private String[] enableTouchAppIPad_type_info = new String[]{'enableTouchAppIPad',SOAP_M_URI,null,'0','1','false'}; + private String[] enableTouchAppIPhone_type_info = new String[]{'enableTouchAppIPhone',SOAP_M_URI,null,'0','1','false'}; + private String[] enableTouchBrowserIPad_type_info = new String[]{'enableTouchBrowserIPad',SOAP_M_URI,null,'0','1','false'}; + private String[] enableTouchIosPhone_type_info = new String[]{'enableTouchIosPhone',SOAP_M_URI,null,'0','1','false'}; + private String[] enableVisualforceInTouch_type_info = new String[]{'enableVisualforceInTouch',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'enableTouchAppIPad','enableTouchAppIPhone','enableTouchBrowserIPad','enableTouchIosPhone','enableVisualforceInTouch'}; + } + public class AppMenu extends Metadata { + public String type = 'AppMenu'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.AppMenuItem[] appMenuItems; + private String[] appMenuItems_type_info = new String[]{'appMenuItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'appMenuItems'}; + } + public class DebuggingInfo_element { + public String debugLog; + private String[] debugLog_type_info = new String[]{'debugLog',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'debugLog'}; + } + public class Report extends Metadata { + public String type = 'Report'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.ReportAggregate[] aggregates; + public MetadataService.Report[] block; + public MetadataService.ReportBlockInfo blockInfo; + public MetadataService.ReportBucketField[] buckets; + public MetadataService.ReportChart chart; + public MetadataService.ReportColorRange[] colorRanges; + public MetadataService.ReportColumn[] columns; + public MetadataService.ReportCrossFilter[] crossFilters; + public String currency_x; + public MetadataService.ReportDataCategoryFilter[] dataCategoryFilters; + public String description; + public String division; + public MetadataService.ReportFilter filter; + public String folderName; + public String format; + public MetadataService.ReportGrouping[] groupingsAcross; + public MetadataService.ReportGrouping[] groupingsDown; + public MetadataService.ReportHistoricalSelector historicalSelector; + public String name; + public Integer numSubscriptions; + public MetadataService.ReportParam[] params; + public String reportType; + public String roleHierarchyFilter; + public Integer rowLimit; + public String scope; + public Boolean showCurrentDate; + public Boolean showDetails; + public String sortColumn; + public String sortOrder; + public String territoryHierarchyFilter; + public MetadataService.ReportTimeFrameFilter timeFrameFilter; + public String userFilter; + private String[] aggregates_type_info = new String[]{'aggregates',SOAP_M_URI,null,'0','-1','false'}; + private String[] block_type_info = new String[]{'block',SOAP_M_URI,null,'0','-1','false'}; + private String[] blockInfo_type_info = new String[]{'blockInfo',SOAP_M_URI,null,'0','1','false'}; + private String[] buckets_type_info = new String[]{'buckets',SOAP_M_URI,null,'0','-1','false'}; + private String[] chart_type_info = new String[]{'chart',SOAP_M_URI,null,'0','1','false'}; + private String[] colorRanges_type_info = new String[]{'colorRanges',SOAP_M_URI,null,'0','-1','false'}; + private String[] columns_type_info = new String[]{'columns',SOAP_M_URI,null,'0','-1','false'}; + private String[] crossFilters_type_info = new String[]{'crossFilters',SOAP_M_URI,null,'0','-1','false'}; + private String[] currency_x_type_info = new String[]{'currency',SOAP_M_URI,null,'0','1','false'}; + private String[] dataCategoryFilters_type_info = new String[]{'dataCategoryFilters',SOAP_M_URI,null,'0','-1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] division_type_info = new String[]{'division',SOAP_M_URI,null,'0','1','false'}; + private String[] filter_type_info = new String[]{'filter',SOAP_M_URI,null,'0','1','false'}; + private String[] folderName_type_info = new String[]{'folderName',SOAP_M_URI,null,'0','1','false'}; + private String[] format_type_info = new String[]{'format',SOAP_M_URI,null,'1','1','false'}; + private String[] groupingsAcross_type_info = new String[]{'groupingsAcross',SOAP_M_URI,null,'0','-1','false'}; + private String[] groupingsDown_type_info = new String[]{'groupingsDown',SOAP_M_URI,null,'0','-1','false'}; + private String[] historicalSelector_type_info = new String[]{'historicalSelector',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] numSubscriptions_type_info = new String[]{'numSubscriptions',SOAP_M_URI,null,'0','1','false'}; + private String[] params_type_info = new String[]{'params',SOAP_M_URI,null,'0','-1','false'}; + private String[] reportType_type_info = new String[]{'reportType',SOAP_M_URI,null,'1','1','false'}; + private String[] roleHierarchyFilter_type_info = new String[]{'roleHierarchyFilter',SOAP_M_URI,null,'0','1','false'}; + private String[] rowLimit_type_info = new String[]{'rowLimit',SOAP_M_URI,null,'0','1','false'}; + private String[] scope_type_info = new String[]{'scope',SOAP_M_URI,null,'0','1','false'}; + private String[] showCurrentDate_type_info = new String[]{'showCurrentDate',SOAP_M_URI,null,'0','1','false'}; + private String[] showDetails_type_info = new String[]{'showDetails',SOAP_M_URI,null,'0','1','false'}; + private String[] sortColumn_type_info = new String[]{'sortColumn',SOAP_M_URI,null,'0','1','false'}; + private String[] sortOrder_type_info = new String[]{'sortOrder',SOAP_M_URI,null,'0','1','false'}; + private String[] territoryHierarchyFilter_type_info = new String[]{'territoryHierarchyFilter',SOAP_M_URI,null,'0','1','false'}; + private String[] timeFrameFilter_type_info = new String[]{'timeFrameFilter',SOAP_M_URI,null,'0','1','false'}; + private String[] userFilter_type_info = new String[]{'userFilter',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'aggregates','block','blockInfo','buckets','chart','colorRanges','columns','crossFilters','currency_x','dataCategoryFilters','description','division','filter','folderName','format','groupingsAcross','groupingsDown','historicalSelector','name','numSubscriptions','params','reportType','roleHierarchyFilter','rowLimit','scope','showCurrentDate','showDetails','sortColumn','sortOrder','territoryHierarchyFilter','timeFrameFilter','userFilter'}; + } + public class KnowledgeSettings extends Metadata { + public String type = 'KnowledgeSettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.KnowledgeAnswerSettings answers; + public MetadataService.KnowledgeCaseSettings cases; + public String defaultLanguage; + public Boolean enableChatterQuestionKBDeflection; + public Boolean enableCreateEditOnArticlesTab; + public Boolean enableExternalMediaContent; + public Boolean enableKnowledge; + public Boolean enableLightningKnowledge; + public MetadataService.KnowledgeLanguageSettings languages; + public Boolean showArticleSummariesCustomerPortal; + public Boolean showArticleSummariesInternalApp; + public Boolean showArticleSummariesPartnerPortal; + public Boolean showValidationStatusField; + public MetadataService.KnowledgeSuggestedArticlesSettings suggestedArticles; + private String[] answers_type_info = new String[]{'answers',SOAP_M_URI,null,'0','1','false'}; + private String[] cases_type_info = new String[]{'cases',SOAP_M_URI,null,'0','1','false'}; + private String[] defaultLanguage_type_info = new String[]{'defaultLanguage',SOAP_M_URI,null,'0','1','false'}; + private String[] enableChatterQuestionKBDeflection_type_info = new String[]{'enableChatterQuestionKBDeflection',SOAP_M_URI,null,'0','1','false'}; + private String[] enableCreateEditOnArticlesTab_type_info = new String[]{'enableCreateEditOnArticlesTab',SOAP_M_URI,null,'0','1','false'}; + private String[] enableExternalMediaContent_type_info = new String[]{'enableExternalMediaContent',SOAP_M_URI,null,'0','1','false'}; + private String[] enableKnowledge_type_info = new String[]{'enableKnowledge',SOAP_M_URI,null,'0','1','false'}; + private String[] enableLightningKnowledge_type_info = new String[]{'enableLightningKnowledge',SOAP_M_URI,null,'0','1','false'}; + private String[] languages_type_info = new String[]{'languages',SOAP_M_URI,null,'0','1','false'}; + private String[] showArticleSummariesCustomerPortal_type_info = new String[]{'showArticleSummariesCustomerPortal',SOAP_M_URI,null,'0','1','false'}; + private String[] showArticleSummariesInternalApp_type_info = new String[]{'showArticleSummariesInternalApp',SOAP_M_URI,null,'0','1','false'}; + private String[] showArticleSummariesPartnerPortal_type_info = new String[]{'showArticleSummariesPartnerPortal',SOAP_M_URI,null,'0','1','false'}; + private String[] showValidationStatusField_type_info = new String[]{'showValidationStatusField',SOAP_M_URI,null,'0','1','false'}; + private String[] suggestedArticles_type_info = new String[]{'suggestedArticles',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'answers','cases','defaultLanguage','enableChatterQuestionKBDeflection','enableCreateEditOnArticlesTab','enableExternalMediaContent','enableKnowledge','enableLightningKnowledge','languages','showArticleSummariesCustomerPortal','showArticleSummariesInternalApp','showArticleSummariesPartnerPortal','showValidationStatusField','suggestedArticles'}; + } + public class StaticResource extends MetadataWithContent { + public String type = 'StaticResource'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String content; + private String[] content_type_info = new String[]{'content',SOAP_M_URI,null,'0','1','false'}; + public String cacheControl; + public String contentType; + public String description; + private String[] cacheControl_type_info = new String[]{'cacheControl',SOAP_M_URI,null,'1','1','false'}; + private String[] contentType_type_info = new String[]{'contentType',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','content', 'cacheControl','contentType','description'}; + } + public class ReportTypeColumn { + public Boolean checkedByDefault; + public String displayNameOverride; + public String field; + public String table; + private String[] checkedByDefault_type_info = new String[]{'checkedByDefault',SOAP_M_URI,null,'1','1','false'}; + private String[] displayNameOverride_type_info = new String[]{'displayNameOverride',SOAP_M_URI,null,'0','1','false'}; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'1','1','false'}; + private String[] table_type_info = new String[]{'table',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'checkedByDefault','displayNameOverride','field','table'}; + } + public class ApprovalStep { + public Boolean allowDelegate; + public MetadataService.ApprovalAction approvalActions; + public MetadataService.ApprovalStepApprover assignedApprover; + public String description; + public MetadataService.ApprovalEntryCriteria entryCriteria; + public String ifCriteriaNotMet; + public String label; + public String name; + public MetadataService.ApprovalStepRejectBehavior rejectBehavior; + public MetadataService.ApprovalAction rejectionActions; + private String[] allowDelegate_type_info = new String[]{'allowDelegate',SOAP_M_URI,null,'0','1','false'}; + private String[] approvalActions_type_info = new String[]{'approvalActions',SOAP_M_URI,null,'0','1','false'}; + private String[] assignedApprover_type_info = new String[]{'assignedApprover',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] entryCriteria_type_info = new String[]{'entryCriteria',SOAP_M_URI,null,'0','1','false'}; + private String[] ifCriteriaNotMet_type_info = new String[]{'ifCriteriaNotMet',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] rejectBehavior_type_info = new String[]{'rejectBehavior',SOAP_M_URI,null,'0','1','false'}; + private String[] rejectionActions_type_info = new String[]{'rejectionActions',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'allowDelegate','approvalActions','assignedApprover','description','entryCriteria','ifCriteriaNotMet','label','name','rejectBehavior','rejectionActions'}; + } + public class RecordTypeTranslation { + public String description; + public String label; + public String name; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'description','label','name'}; + } + public class FlowInputFieldAssignment extends FlowBaseElement { + public String type = 'FlowInputFieldAssignment'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String field; + public MetadataService.FlowElementReferenceOrValue value; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'1','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues', 'field','value'}; + } + public class WorkflowActionReference { + public String name; + public String type_x; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'name','type_x'}; + } + public class FilterItem { + public String field; + public String operation; + public String value; + public String valueField; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'1','1','false'}; + private String[] operation_type_info = new String[]{'operation',SOAP_M_URI,null,'1','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'0','1','false'}; + private String[] valueField_type_info = new String[]{'valueField',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'field','operation','value','valueField'}; + } + public class OpportunityListFieldsUnselectedSettings { + public String[] field; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'field'}; + } + public class ReportChartComponentLayoutItem { + public Boolean cacheData; + public String contextFilterableField; + public String error; + public Boolean hideOnError; + public Boolean includeContext; + public String reportName; + public Boolean showTitle; + public String size; + private String[] cacheData_type_info = new String[]{'cacheData',SOAP_M_URI,null,'0','1','false'}; + private String[] contextFilterableField_type_info = new String[]{'contextFilterableField',SOAP_M_URI,null,'0','1','false'}; + private String[] error_type_info = new String[]{'error',SOAP_M_URI,null,'0','1','false'}; + private String[] hideOnError_type_info = new String[]{'hideOnError',SOAP_M_URI,null,'0','1','false'}; + private String[] includeContext_type_info = new String[]{'includeContext',SOAP_M_URI,null,'0','1','false'}; + private String[] reportName_type_info = new String[]{'reportName',SOAP_M_URI,null,'1','1','false'}; + private String[] showTitle_type_info = new String[]{'showTitle',SOAP_M_URI,null,'0','1','false'}; + private String[] size_type_info = new String[]{'size',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'cacheData','contextFilterableField','error','hideOnError','includeContext','reportName','showTitle','size'}; + } + public class StandardValueSetTranslation { + public MetadataService.ValueTranslation[] valueTranslation; + private String[] valueTranslation_type_info = new String[]{'valueTranslation',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'valueTranslation'}; + } + public class BrandingSet extends Metadata { + public String type = 'BrandingSet'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.BrandingSetProperty[] brandingSetProperty; + public String description; + public String masterLabel; + public String type_x; + private String[] brandingSetProperty_type_info = new String[]{'brandingSetProperty',SOAP_M_URI,null,'0','-1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'brandingSetProperty','description','masterLabel','type_x'}; + } + public class ChatterAnswersSettings extends Metadata { + public String type = 'ChatterAnswersSettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean emailFollowersOnBestAnswer; + public Boolean emailFollowersOnReply; + public Boolean emailOwnerOnPrivateReply; + public Boolean emailOwnerOnReply; + public Boolean enableAnswerViaEmail; + public Boolean enableChatterAnswers; + public Boolean enableFacebookSSO; + public Boolean enableInlinePublisher; + public Boolean enableReputation; + public Boolean enableRichTextEditor; + public String facebookAuthProvider; + public Boolean showInPortals; + private String[] emailFollowersOnBestAnswer_type_info = new String[]{'emailFollowersOnBestAnswer',SOAP_M_URI,null,'0','1','false'}; + private String[] emailFollowersOnReply_type_info = new String[]{'emailFollowersOnReply',SOAP_M_URI,null,'0','1','false'}; + private String[] emailOwnerOnPrivateReply_type_info = new String[]{'emailOwnerOnPrivateReply',SOAP_M_URI,null,'0','1','false'}; + private String[] emailOwnerOnReply_type_info = new String[]{'emailOwnerOnReply',SOAP_M_URI,null,'0','1','false'}; + private String[] enableAnswerViaEmail_type_info = new String[]{'enableAnswerViaEmail',SOAP_M_URI,null,'0','1','false'}; + private String[] enableChatterAnswers_type_info = new String[]{'enableChatterAnswers',SOAP_M_URI,null,'1','1','false'}; + private String[] enableFacebookSSO_type_info = new String[]{'enableFacebookSSO',SOAP_M_URI,null,'0','1','false'}; + private String[] enableInlinePublisher_type_info = new String[]{'enableInlinePublisher',SOAP_M_URI,null,'0','1','false'}; + private String[] enableReputation_type_info = new String[]{'enableReputation',SOAP_M_URI,null,'0','1','false'}; + private String[] enableRichTextEditor_type_info = new String[]{'enableRichTextEditor',SOAP_M_URI,null,'0','1','false'}; + private String[] facebookAuthProvider_type_info = new String[]{'facebookAuthProvider',SOAP_M_URI,null,'0','1','false'}; + private String[] showInPortals_type_info = new String[]{'showInPortals',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'emailFollowersOnBestAnswer','emailFollowersOnReply','emailOwnerOnPrivateReply','emailOwnerOnReply','enableAnswerViaEmail','enableChatterAnswers','enableFacebookSSO','enableInlinePublisher','enableReputation','enableRichTextEditor','facebookAuthProvider','showInPortals'}; + } + public class ConnectedAppCanvasConfig { + public String accessMethod; + public String canvasUrl; + public String lifecycleClass; + public String[] locations; + public String[] options; + public String samlInitiationMethod; + private String[] accessMethod_type_info = new String[]{'accessMethod',SOAP_M_URI,null,'1','1','false'}; + private String[] canvasUrl_type_info = new String[]{'canvasUrl',SOAP_M_URI,null,'1','1','false'}; + private String[] lifecycleClass_type_info = new String[]{'lifecycleClass',SOAP_M_URI,null,'0','1','false'}; + private String[] locations_type_info = new String[]{'locations',SOAP_M_URI,null,'0','-1','false'}; + private String[] options_type_info = new String[]{'options',SOAP_M_URI,null,'0','-1','false'}; + private String[] samlInitiationMethod_type_info = new String[]{'samlInitiationMethod',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'accessMethod','canvasUrl','lifecycleClass','locations','options','samlInitiationMethod'}; + } + public class QuotasSettings { + public Boolean showQuotas; + private String[] showQuotas_type_info = new String[]{'showQuotas',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'showQuotas'}; + } + public class OrgPreferenceSettings extends Metadata { + public String type = 'OrgPreferenceSettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.OrganizationSettingsDetail[] preferences; + private String[] preferences_type_info = new String[]{'preferences',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'preferences'}; + } + public class Community extends Metadata { + public String type = 'Community'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean active; + public String chatterAnswersFacebookSsoUrl; + public String communityFeedPage; + public String dataCategoryName; + public String description; + public String emailFooterDocument; + public String emailHeaderDocument; + public String emailNotificationUrl; + public Boolean enableChatterAnswers; + public Boolean enablePrivateQuestions; + public String expertsGroup; + public String portal; + public MetadataService.ReputationLevels reputationLevels; + public Boolean showInPortal; + public String site; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'0','1','false'}; + private String[] chatterAnswersFacebookSsoUrl_type_info = new String[]{'chatterAnswersFacebookSsoUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] communityFeedPage_type_info = new String[]{'communityFeedPage',SOAP_M_URI,null,'0','1','false'}; + private String[] dataCategoryName_type_info = new String[]{'dataCategoryName',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] emailFooterDocument_type_info = new String[]{'emailFooterDocument',SOAP_M_URI,null,'0','1','false'}; + private String[] emailHeaderDocument_type_info = new String[]{'emailHeaderDocument',SOAP_M_URI,null,'0','1','false'}; + private String[] emailNotificationUrl_type_info = new String[]{'emailNotificationUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] enableChatterAnswers_type_info = new String[]{'enableChatterAnswers',SOAP_M_URI,null,'0','1','false'}; + private String[] enablePrivateQuestions_type_info = new String[]{'enablePrivateQuestions',SOAP_M_URI,null,'0','1','false'}; + private String[] expertsGroup_type_info = new String[]{'expertsGroup',SOAP_M_URI,null,'0','1','false'}; + private String[] portal_type_info = new String[]{'portal',SOAP_M_URI,null,'0','1','false'}; + private String[] reputationLevels_type_info = new String[]{'reputationLevels',SOAP_M_URI,null,'0','1','false'}; + private String[] showInPortal_type_info = new String[]{'showInPortal',SOAP_M_URI,null,'0','1','false'}; + private String[] site_type_info = new String[]{'site',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'active','chatterAnswersFacebookSsoUrl','communityFeedPage','dataCategoryName','description','emailFooterDocument','emailHeaderDocument','emailNotificationUrl','enableChatterAnswers','enablePrivateQuestions','expertsGroup','portal','reputationLevels','showInPortal','site'}; + } + public class BusinessProcess extends Metadata { + public String type = 'BusinessProcess'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String description; + public Boolean isActive; + public MetadataService.PicklistValue[] values; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] isActive_type_info = new String[]{'isActive',SOAP_M_URI,null,'0','1','false'}; + private String[] values_type_info = new String[]{'values',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'description','isActive','values'}; + } + public class EmailToCaseRoutingAddress { + public String addressType; + public String authorizedSenders; + public String caseOrigin; + public String caseOwner; + public String caseOwnerType; + public String casePriority; + public Boolean createTask; + public String emailAddress; + public String emailServicesAddress; + public Boolean isVerified; + public String routingName; + public Boolean saveEmailHeaders; + public String taskStatus; + private String[] addressType_type_info = new String[]{'addressType',SOAP_M_URI,null,'0','1','false'}; + private String[] authorizedSenders_type_info = new String[]{'authorizedSenders',SOAP_M_URI,null,'0','1','false'}; + private String[] caseOrigin_type_info = new String[]{'caseOrigin',SOAP_M_URI,null,'0','1','false'}; + private String[] caseOwner_type_info = new String[]{'caseOwner',SOAP_M_URI,null,'0','1','false'}; + private String[] caseOwnerType_type_info = new String[]{'caseOwnerType',SOAP_M_URI,null,'0','1','false'}; + private String[] casePriority_type_info = new String[]{'casePriority',SOAP_M_URI,null,'0','1','false'}; + private String[] createTask_type_info = new String[]{'createTask',SOAP_M_URI,null,'0','1','false'}; + private String[] emailAddress_type_info = new String[]{'emailAddress',SOAP_M_URI,null,'0','1','false'}; + private String[] emailServicesAddress_type_info = new String[]{'emailServicesAddress',SOAP_M_URI,null,'0','1','false'}; + private String[] isVerified_type_info = new String[]{'isVerified',SOAP_M_URI,null,'0','1','false'}; + private String[] routingName_type_info = new String[]{'routingName',SOAP_M_URI,null,'0','1','false'}; + private String[] saveEmailHeaders_type_info = new String[]{'saveEmailHeaders',SOAP_M_URI,null,'0','1','false'}; + private String[] taskStatus_type_info = new String[]{'taskStatus',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'addressType','authorizedSenders','caseOrigin','caseOwner','caseOwnerType','casePriority','createTask','emailAddress','emailServicesAddress','isVerified','routingName','saveEmailHeaders','taskStatus'}; + } + public class DataCategory { + public MetadataService.DataCategory[] dataCategory; + public String label; + public String name; + private String[] dataCategory_type_info = new String[]{'dataCategory',SOAP_M_URI,null,'0','-1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'dataCategory','label','name'}; + } + public class PermissionSetTabSetting { + public String tab; + public String visibility; + private String[] tab_type_info = new String[]{'tab',SOAP_M_URI,null,'1','1','false'}; + private String[] visibility_type_info = new String[]{'visibility',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'tab','visibility'}; + } + public class ReportHistoricalSelector { + public String[] snapshot; + private String[] snapshot_type_info = new String[]{'snapshot',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'snapshot'}; + } + public class Users { + public String[] user_x; + private String[] user_x_type_info = new String[]{'user',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'user_x'}; + } + public class PermissionSetUserPermission { + public Boolean enabled; + public String name; + private String[] enabled_type_info = new String[]{'enabled',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'enabled','name'}; + } + public class SharingRules extends Metadata { + public String type = 'SharingRules'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.SharingCriteriaRule[] sharingCriteriaRules; + public MetadataService.SharingOwnerRule[] sharingOwnerRules; + public MetadataService.SharingTerritoryRule[] sharingTerritoryRules; + private String[] sharingCriteriaRules_type_info = new String[]{'sharingCriteriaRules',SOAP_M_URI,null,'0','-1','false'}; + private String[] sharingOwnerRules_type_info = new String[]{'sharingOwnerRules',SOAP_M_URI,null,'0','-1','false'}; + private String[] sharingTerritoryRules_type_info = new String[]{'sharingTerritoryRules',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'sharingCriteriaRules','sharingOwnerRules','sharingTerritoryRules'}; + } + public class SharingRecalculation { + public String className; + private String[] className_type_info = new String[]{'className',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'className'}; + } + public class CustomLabels extends Metadata { + public String type = 'CustomLabels'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.CustomLabel[] labels; + private String[] labels_type_info = new String[]{'labels',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'labels'}; + } + public class FieldSetTranslation { + public String label; + public String name; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'label','name'}; + } + public class RelatedContentItem { + public MetadataService.LayoutItem layoutItem; + private String[] layoutItem_type_info = new String[]{'layoutItem',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'layoutItem'}; + } + public class LiveAgentConfig { + public Boolean enableLiveChat; + public Boolean openNewAccountSubtab; + public Boolean openNewCaseSubtab; + public Boolean openNewContactSubtab; + public Boolean openNewLeadSubtab; + public Boolean openNewVFPageSubtab; + public String[] pageNamesToOpen; + public Boolean showKnowledgeArticles; + private String[] enableLiveChat_type_info = new String[]{'enableLiveChat',SOAP_M_URI,null,'0','1','false'}; + private String[] openNewAccountSubtab_type_info = new String[]{'openNewAccountSubtab',SOAP_M_URI,null,'0','1','false'}; + private String[] openNewCaseSubtab_type_info = new String[]{'openNewCaseSubtab',SOAP_M_URI,null,'0','1','false'}; + private String[] openNewContactSubtab_type_info = new String[]{'openNewContactSubtab',SOAP_M_URI,null,'0','1','false'}; + private String[] openNewLeadSubtab_type_info = new String[]{'openNewLeadSubtab',SOAP_M_URI,null,'0','1','false'}; + private String[] openNewVFPageSubtab_type_info = new String[]{'openNewVFPageSubtab',SOAP_M_URI,null,'0','1','false'}; + private String[] pageNamesToOpen_type_info = new String[]{'pageNamesToOpen',SOAP_M_URI,null,'0','-1','false'}; + private String[] showKnowledgeArticles_type_info = new String[]{'showKnowledgeArticles',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'enableLiveChat','openNewAccountSubtab','openNewCaseSubtab','openNewContactSubtab','openNewLeadSubtab','openNewVFPageSubtab','pageNamesToOpen','showKnowledgeArticles'}; + } + public class RunTestsResult { + public String apexLogId; + public MetadataService.CodeCoverageResult[] codeCoverage; + public MetadataService.CodeCoverageWarning[] codeCoverageWarnings; + public MetadataService.RunTestFailure[] failures; + public Integer numFailures; + public Integer numTestsRun; + public MetadataService.RunTestSuccess[] successes; + public Double totalTime; + private String[] apexLogId_type_info = new String[]{'apexLogId',SOAP_M_URI,null,'0','1','false'}; + private String[] codeCoverage_type_info = new String[]{'codeCoverage',SOAP_M_URI,null,'0','-1','false'}; + private String[] codeCoverageWarnings_type_info = new String[]{'codeCoverageWarnings',SOAP_M_URI,null,'0','-1','false'}; + private String[] failures_type_info = new String[]{'failures',SOAP_M_URI,null,'0','-1','false'}; + private String[] numFailures_type_info = new String[]{'numFailures',SOAP_M_URI,null,'1','1','false'}; + private String[] numTestsRun_type_info = new String[]{'numTestsRun',SOAP_M_URI,null,'1','1','false'}; + private String[] successes_type_info = new String[]{'successes',SOAP_M_URI,null,'0','-1','false'}; + private String[] totalTime_type_info = new String[]{'totalTime',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'apexLogId','codeCoverage','codeCoverageWarnings','failures','numFailures','numTestsRun','successes','totalTime'}; + } + public class CommunityThemeDefinition { + public MetadataService.CommunityCustomThemeLayoutType[] customThemeLayoutType; + public String description; + public Boolean enableExtendedCleanUpOnDelete; + public String masterLabel; + public MetadataService.CommunityThemeSetting[] themeSetting; + private String[] customThemeLayoutType_type_info = new String[]{'customThemeLayoutType',SOAP_M_URI,null,'0','-1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] enableExtendedCleanUpOnDelete_type_info = new String[]{'enableExtendedCleanUpOnDelete',SOAP_M_URI,null,'0','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] themeSetting_type_info = new String[]{'themeSetting',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'customThemeLayoutType','description','enableExtendedCleanUpOnDelete','masterLabel','themeSetting'}; + } + public class LicenseDefinition extends Metadata { + public String type = 'LicenseDefinition'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String aggregationGroup; + public String description; + public Boolean isPublished; + public String label; + public MetadataService.LicensedCustomPermissions[] licensedCustomPermissions; + public String licensingAuthority; + public String licensingAuthorityProvider; + public Integer minPlatformVersion; + public String origin; + public Integer revision; + public Integer trialLicenseDuration; + public Integer trialLicenseQuantity; + private String[] aggregationGroup_type_info = new String[]{'aggregationGroup',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] isPublished_type_info = new String[]{'isPublished',SOAP_M_URI,null,'1','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] licensedCustomPermissions_type_info = new String[]{'licensedCustomPermissions',SOAP_M_URI,null,'0','-1','false'}; + private String[] licensingAuthority_type_info = new String[]{'licensingAuthority',SOAP_M_URI,null,'1','1','false'}; + private String[] licensingAuthorityProvider_type_info = new String[]{'licensingAuthorityProvider',SOAP_M_URI,null,'1','1','false'}; + private String[] minPlatformVersion_type_info = new String[]{'minPlatformVersion',SOAP_M_URI,null,'1','1','false'}; + private String[] origin_type_info = new String[]{'origin',SOAP_M_URI,null,'1','1','false'}; + private String[] revision_type_info = new String[]{'revision',SOAP_M_URI,null,'1','1','false'}; + private String[] trialLicenseDuration_type_info = new String[]{'trialLicenseDuration',SOAP_M_URI,null,'1','1','false'}; + private String[] trialLicenseQuantity_type_info = new String[]{'trialLicenseQuantity',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'aggregationGroup','description','isPublished','label','licensedCustomPermissions','licensingAuthority','licensingAuthorityProvider','minPlatformVersion','origin','revision','trialLicenseDuration','trialLicenseQuantity'}; + } + public class FlowOutputFieldAssignment extends FlowBaseElement { + public String type = 'FlowOutputFieldAssignment'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String assignToReference; + public String field; + private String[] assignToReference_type_info = new String[]{'assignToReference',SOAP_M_URI,null,'1','1','false'}; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues', 'assignToReference','field'}; + } + public class FlowApexPluginCallOutputParameter extends FlowBaseElement { + public String type = 'FlowApexPluginCallOutputParameter'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String assignToReference; + public String name; + private String[] assignToReference_type_info = new String[]{'assignToReference',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues', 'assignToReference','name'}; + } + public class DashboardGridLayout { + public MetadataService.DashboardGridComponent[] dashboardGridComponents; + public Integer numberOfColumns; + public Integer rowHeight; + private String[] dashboardGridComponents_type_info = new String[]{'dashboardGridComponents',SOAP_M_URI,null,'0','-1','false'}; + private String[] numberOfColumns_type_info = new String[]{'numberOfColumns',SOAP_M_URI,null,'1','1','false'}; + private String[] rowHeight_type_info = new String[]{'rowHeight',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'dashboardGridComponents','numberOfColumns','rowHeight'}; + } + public class AdjustmentsSettings { + public Boolean enableAdjustments; + public Boolean enableOwnerAdjustments; + private String[] enableAdjustments_type_info = new String[]{'enableAdjustments',SOAP_M_URI,null,'1','1','false'}; + private String[] enableOwnerAdjustments_type_info = new String[]{'enableOwnerAdjustments',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'enableAdjustments','enableOwnerAdjustments'}; + } + public class SummaryLayoutItem { + public String customLink; + public String field; + public Integer posX; + public Integer posY; + public Integer posZ; + private String[] customLink_type_info = new String[]{'customLink',SOAP_M_URI,null,'0','1','false'}; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'0','1','false'}; + private String[] posX_type_info = new String[]{'posX',SOAP_M_URI,null,'1','1','false'}; + private String[] posY_type_info = new String[]{'posY',SOAP_M_URI,null,'0','1','false'}; + private String[] posZ_type_info = new String[]{'posZ',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'customLink','field','posX','posY','posZ'}; + } + public class QuickActionLayoutItem { + public Boolean emptySpace; + public String field; + public String uiBehavior; + private String[] emptySpace_type_info = new String[]{'emptySpace',SOAP_M_URI,null,'0','1','false'}; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'0','1','false'}; + private String[] uiBehavior_type_info = new String[]{'uiBehavior',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'emptySpace','field','uiBehavior'}; + } + public class DeployDetails { + public MetadataService.DeployMessage[] componentFailures; + public MetadataService.DeployMessage[] componentSuccesses; + public MetadataService.RetrieveResult retrieveResult; + public MetadataService.RunTestsResult runTestResult; + private String[] componentFailures_type_info = new String[]{'componentFailures',SOAP_M_URI,null,'0','-1','false'}; + private String[] componentSuccesses_type_info = new String[]{'componentSuccesses',SOAP_M_URI,null,'0','-1','false'}; + private String[] retrieveResult_type_info = new String[]{'retrieveResult',SOAP_M_URI,null,'0','1','false'}; + private String[] runTestResult_type_info = new String[]{'runTestResult',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'componentFailures','componentSuccesses','retrieveResult','runTestResult'}; + } + public class FlexiPage extends Metadata { + public String type = 'FlexiPage'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String description; + public MetadataService.FlexiPageRegion[] flexiPageRegions; + public String masterLabel; + public String parentFlexiPage; + public MetadataService.PlatformActionList platformActionlist; + public MetadataService.QuickActionList quickActionList; + public String sobjectType; + public MetadataService.FlexiPageTemplateInstance template; + public String type_x; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] flexiPageRegions_type_info = new String[]{'flexiPageRegions',SOAP_M_URI,null,'0','-1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] parentFlexiPage_type_info = new String[]{'parentFlexiPage',SOAP_M_URI,null,'0','1','false'}; + private String[] platformActionlist_type_info = new String[]{'platformActionlist',SOAP_M_URI,null,'0','1','false'}; + private String[] quickActionList_type_info = new String[]{'quickActionList',SOAP_M_URI,null,'0','1','false'}; + private String[] sobjectType_type_info = new String[]{'sobjectType',SOAP_M_URI,null,'0','1','false'}; + private String[] template_type_info = new String[]{'template',SOAP_M_URI,null,'1','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'description','flexiPageRegions','masterLabel','parentFlexiPage','platformActionlist','quickActionList','sobjectType','template','type_x'}; + } + public class EntitlementProcessMilestoneTimeTrigger { + public MetadataService.WorkflowActionReference[] actions; + public Integer timeLength; + public String workflowTimeTriggerUnit; + private String[] actions_type_info = new String[]{'actions',SOAP_M_URI,null,'0','-1','false'}; + private String[] timeLength_type_info = new String[]{'timeLength',SOAP_M_URI,null,'0','1','false'}; + private String[] workflowTimeTriggerUnit_type_info = new String[]{'workflowTimeTriggerUnit',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'actions','timeLength','workflowTimeTriggerUnit'}; + } + public class NavigationLinkSet { + public MetadataService.NavigationMenuItem[] navigationMenuItem; + private String[] navigationMenuItem_type_info = new String[]{'navigationMenuItem',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'navigationMenuItem'}; + } + public class CommunityTemplateBundleInfo { + public String description; + public String image; + public Integer order; + public String title; + public String type_x; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] image_type_info = new String[]{'image',SOAP_M_URI,null,'0','1','false'}; + private String[] order_type_info = new String[]{'order',SOAP_M_URI,null,'1','1','false'}; + private String[] title_type_info = new String[]{'title',SOAP_M_URI,null,'1','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'description','image','order','title','type_x'}; + } + public class UiFormulaCriterion { + public String leftValue; + public String operator; + public String rightValue; + private String[] leftValue_type_info = new String[]{'leftValue',SOAP_M_URI,null,'1','1','false'}; + private String[] operator_type_info = new String[]{'operator',SOAP_M_URI,null,'1','1','false'}; + private String[] rightValue_type_info = new String[]{'rightValue',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'leftValue','operator','rightValue'}; + } + public class PlatformActionList { + public String actionListContext; + public MetadataService.PlatformActionListItem[] platformActionListItems; + public String relatedSourceEntity; + private String[] actionListContext_type_info = new String[]{'actionListContext',SOAP_M_URI,null,'1','1','false'}; + private String[] platformActionListItems_type_info = new String[]{'platformActionListItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] relatedSourceEntity_type_info = new String[]{'relatedSourceEntity',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'actionListContext','platformActionListItems','relatedSourceEntity'}; + } + public class CallCenter extends Metadata { + public String type = 'CallCenter'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String adapterUrl; + public String customSettings; + public String displayName; + public String displayNameLabel; + public String internalNameLabel; + public MetadataService.CallCenterSection[] sections; + public String version; + private String[] adapterUrl_type_info = new String[]{'adapterUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] customSettings_type_info = new String[]{'customSettings',SOAP_M_URI,null,'0','1','false'}; + private String[] displayName_type_info = new String[]{'displayName',SOAP_M_URI,null,'1','1','false'}; + private String[] displayNameLabel_type_info = new String[]{'displayNameLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] internalNameLabel_type_info = new String[]{'internalNameLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] sections_type_info = new String[]{'sections',SOAP_M_URI,null,'0','-1','false'}; + private String[] version_type_info = new String[]{'version',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'adapterUrl','customSettings','displayName','displayNameLabel','internalNameLabel','sections','version'}; + } + public class LightningComponentBundle { + public Double apiVersion; + public Boolean isExposed; + private String[] apiVersion_type_info = new String[]{'apiVersion',SOAP_M_URI,null,'0','1','false'}; + private String[] isExposed_type_info = new String[]{'isExposed',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'apiVersion','isExposed'}; + } + public class MarketingActionSettings extends Metadata { + public String type = 'MarketingActionSettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean enableMarketingAction; + private String[] enableMarketingAction_type_info = new String[]{'enableMarketingAction',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'enableMarketingAction'}; + } + public class AccountSharingRuleSettings { + public String caseAccessLevel; + public String contactAccessLevel; + public String opportunityAccessLevel; + private String[] caseAccessLevel_type_info = new String[]{'caseAccessLevel',SOAP_M_URI,null,'1','1','false'}; + private String[] contactAccessLevel_type_info = new String[]{'contactAccessLevel',SOAP_M_URI,null,'1','1','false'}; + private String[] opportunityAccessLevel_type_info = new String[]{'opportunityAccessLevel',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'caseAccessLevel','contactAccessLevel','opportunityAccessLevel'}; + } + public class AgentConfigButtons { + public String[] button; + private String[] button_type_info = new String[]{'button',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'button'}; + } + public class CustomShortcut { + public String description; + public String eventName; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] eventName_type_info = new String[]{'eventName',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'description','eventName'}; + } + public class ArticleTypeChannelDisplay { + public MetadataService.ArticleTypeTemplate[] articleTypeTemplates; + private String[] articleTypeTemplates_type_info = new String[]{'articleTypeTemplates',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'articleTypeTemplates'}; + } + public class FlowWaitEventInputParameter extends FlowBaseElement { + public String type = 'FlowWaitEventInputParameter'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String name; + public MetadataService.FlowElementReferenceOrValue value; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues', 'name','value'}; + } + public class WorkflowOutboundMessage extends WorkflowAction { + public String type = 'WorkflowOutboundMessage'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Double apiVersion; + public String description; + public String endpointUrl; + public String[] fields; + public Boolean includeSessionId; + public String integrationUser; + public String name; + public Boolean protected_x; + public Boolean useDeadLetterQueue; + private String[] apiVersion_type_info = new String[]{'apiVersion',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] endpointUrl_type_info = new String[]{'endpointUrl',SOAP_M_URI,null,'1','1','false'}; + private String[] fields_type_info = new String[]{'fields',SOAP_M_URI,null,'0','-1','false'}; + private String[] includeSessionId_type_info = new String[]{'includeSessionId',SOAP_M_URI,null,'1','1','false'}; + private String[] integrationUser_type_info = new String[]{'integrationUser',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] protected_x_type_info = new String[]{'protected',SOAP_M_URI,null,'1','1','false'}; + private String[] useDeadLetterQueue_type_info = new String[]{'useDeadLetterQueue',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'apiVersion','description','endpointUrl','fields','includeSessionId','integrationUser','name','protected_x','useDeadLetterQueue'}; + } + public class WaveDataset extends Metadata { + public String type = 'WaveDataset'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String application; + public String description; + public String masterLabel; + public String templateAssetSourceName; + private String[] application_type_info = new String[]{'application',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] templateAssetSourceName_type_info = new String[]{'templateAssetSourceName',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'application','description','masterLabel','templateAssetSourceName'}; + } + public class CorsWhitelistOrigin extends Metadata { + public String type = 'CorsWhitelistOrigin'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String urlPattern; + private String[] urlPattern_type_info = new String[]{'urlPattern',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'urlPattern'}; + } + public class SessionHeader_element { + public String sessionId; + private String[] sessionId_type_info = new String[]{'sessionId',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'sessionId'}; + } + public class AnalyticSnapshot extends Metadata { + public String type = 'AnalyticSnapshot'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String description; + public String groupColumn; + public MetadataService.AnalyticSnapshotMapping[] mappings; + public String name; + public String runningUser; + public String sourceReport; + public String targetObject; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] groupColumn_type_info = new String[]{'groupColumn',SOAP_M_URI,null,'0','1','false'}; + private String[] mappings_type_info = new String[]{'mappings',SOAP_M_URI,null,'0','-1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] runningUser_type_info = new String[]{'runningUser',SOAP_M_URI,null,'0','1','false'}; + private String[] sourceReport_type_info = new String[]{'sourceReport',SOAP_M_URI,null,'1','1','false'}; + private String[] targetObject_type_info = new String[]{'targetObject',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'description','groupColumn','mappings','name','runningUser','sourceReport','targetObject'}; + } + public virtual class FlowElement extends FlowBaseElement { + public String description; + public String name; + } + public class ReputationPointsRules { + public MetadataService.ReputationPointsRule[] pointsRule; + private String[] pointsRule_type_info = new String[]{'pointsRule',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'pointsRule'}; + } + public class ProfileCustomPermissions { + public Boolean enabled; + public String name; + private String[] enabled_type_info = new String[]{'enabled',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'enabled','name'}; + } + public class FlowScreenFieldInputParameter { + public String name; + public MetadataService.FlowElementReferenceOrValue value; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'name','value'}; + } + public class deployRecentValidationResponse_element { + public String result; + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class Orchestration { + public String context; + public String masterLabel; + private String[] context_type_info = new String[]{'context',SOAP_M_URI,null,'1','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'context','masterLabel'}; + } + public class ScheduledRecommendation { + public MetadataService.ScheduledRecommendationDetail[] scheduledRecommendationDetails; + private String[] scheduledRecommendationDetails_type_info = new String[]{'scheduledRecommendationDetails',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'scheduledRecommendationDetails'}; + } + public class IpRange { + public String description; + public String end_x; + public String start; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] end_x_type_info = new String[]{'end',SOAP_M_URI,null,'0','1','false'}; + private String[] start_type_info = new String[]{'start',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'description','end_x','start'}; + } + public class deployRecentValidation_element { + public String validationId; + private String[] validationId_type_info = new String[]{'validationId',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'validationId'}; + } + public class FlowScreenRule { + public String conditionLogic; + public MetadataService.FlowCondition[] conditions; + public String label; + public MetadataService.FlowScreenRuleAction[] ruleActions; + private String[] conditionLogic_type_info = new String[]{'conditionLogic',SOAP_M_URI,null,'0','1','false'}; + private String[] conditions_type_info = new String[]{'conditions',SOAP_M_URI,null,'0','-1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] ruleActions_type_info = new String[]{'ruleActions',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'conditionLogic','conditions','label','ruleActions'}; + } + public class ManagedTopics extends Metadata { + public String type = 'ManagedTopics'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.ManagedTopic[] managedTopic; + private String[] managedTopic_type_info = new String[]{'managedTopic',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'managedTopic'}; + } + public class FeedFilterCriterion { + public String feedItemType; + public String feedItemVisibility; + public String relatedSObjectType; + private String[] feedItemType_type_info = new String[]{'feedItemType',SOAP_M_URI,null,'1','1','false'}; + private String[] feedItemVisibility_type_info = new String[]{'feedItemVisibility',SOAP_M_URI,null,'0','1','false'}; + private String[] relatedSObjectType_type_info = new String[]{'relatedSObjectType',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'feedItemType','feedItemVisibility','relatedSObjectType'}; + } + public class ReportBlockInfo { + public MetadataService.ReportAggregateReference[] aggregateReferences; + public String blockId; + public String joinTable; + private String[] aggregateReferences_type_info = new String[]{'aggregateReferences',SOAP_M_URI,null,'0','-1','false'}; + private String[] blockId_type_info = new String[]{'blockId',SOAP_M_URI,null,'1','1','false'}; + private String[] joinTable_type_info = new String[]{'joinTable',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'aggregateReferences','blockId','joinTable'}; + } + public virtual class Folder extends Metadata { + public String accessType; + public MetadataService.FolderShare[] folderShares; + public String name; + public String publicFolderAccess; + public MetadataService.SharedTo sharedTo; + } + public class Profile extends Metadata { + public String type = 'Profile'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.ProfileApplicationVisibility[] applicationVisibilities; + public MetadataService.ProfileCategoryGroupVisibility[] categoryGroupVisibilities; + public MetadataService.ProfileApexClassAccess[] classAccesses; + public Boolean custom; + public MetadataService.ProfileCustomPermissions[] customPermissions; + public String description; + public MetadataService.ProfileExternalDataSourceAccess[] externalDataSourceAccesses; + public MetadataService.ProfileFieldLevelSecurity[] fieldPermissions; + public MetadataService.ProfileLayoutAssignment[] layoutAssignments; + public MetadataService.ProfileLoginHours loginHours; + public MetadataService.ProfileLoginIpRange[] loginIpRanges; + public MetadataService.ProfileObjectPermissions[] objectPermissions; + public MetadataService.ProfileApexPageAccess[] pageAccesses; + public MetadataService.ProfileActionOverride[] profileActionOverrides; + public MetadataService.ProfileRecordTypeVisibility[] recordTypeVisibilities; + public MetadataService.ProfileTabVisibility[] tabVisibilities; + public String userLicense; + public MetadataService.ProfileUserPermission[] userPermissions; + private String[] applicationVisibilities_type_info = new String[]{'applicationVisibilities',SOAP_M_URI,null,'0','-1','false'}; + private String[] categoryGroupVisibilities_type_info = new String[]{'categoryGroupVisibilities',SOAP_M_URI,null,'0','-1','false'}; + private String[] classAccesses_type_info = new String[]{'classAccesses',SOAP_M_URI,null,'0','-1','false'}; + private String[] custom_type_info = new String[]{'custom',SOAP_M_URI,null,'0','1','false'}; + private String[] customPermissions_type_info = new String[]{'customPermissions',SOAP_M_URI,null,'0','-1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] externalDataSourceAccesses_type_info = new String[]{'externalDataSourceAccesses',SOAP_M_URI,null,'0','-1','false'}; + private String[] fieldPermissions_type_info = new String[]{'fieldPermissions',SOAP_M_URI,null,'0','-1','false'}; + private String[] layoutAssignments_type_info = new String[]{'layoutAssignments',SOAP_M_URI,null,'0','-1','false'}; + private String[] loginHours_type_info = new String[]{'loginHours',SOAP_M_URI,null,'0','1','false'}; + private String[] loginIpRanges_type_info = new String[]{'loginIpRanges',SOAP_M_URI,null,'0','-1','false'}; + private String[] objectPermissions_type_info = new String[]{'objectPermissions',SOAP_M_URI,null,'0','-1','false'}; + private String[] pageAccesses_type_info = new String[]{'pageAccesses',SOAP_M_URI,null,'0','-1','false'}; + private String[] profileActionOverrides_type_info = new String[]{'profileActionOverrides',SOAP_M_URI,null,'0','-1','false'}; + private String[] recordTypeVisibilities_type_info = new String[]{'recordTypeVisibilities',SOAP_M_URI,null,'0','-1','false'}; + private String[] tabVisibilities_type_info = new String[]{'tabVisibilities',SOAP_M_URI,null,'0','-1','false'}; + private String[] userLicense_type_info = new String[]{'userLicense',SOAP_M_URI,null,'0','1','false'}; + private String[] userPermissions_type_info = new String[]{'userPermissions',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'applicationVisibilities','categoryGroupVisibilities','classAccesses','custom','customPermissions','description','externalDataSourceAccesses','fieldPermissions','layoutAssignments','loginHours','loginIpRanges','objectPermissions','pageAccesses','profileActionOverrides','recordTypeVisibilities','tabVisibilities','userLicense','userPermissions'}; + } + public class KnowledgeLanguage { + public Boolean active; + public String defaultAssignee; + public String defaultAssigneeType; + public String defaultReviewer; + public String defaultReviewerType; + public String name; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'0','1','false'}; + private String[] defaultAssignee_type_info = new String[]{'defaultAssignee',SOAP_M_URI,null,'0','1','false'}; + private String[] defaultAssigneeType_type_info = new String[]{'defaultAssigneeType',SOAP_M_URI,null,'0','1','false'}; + private String[] defaultReviewer_type_info = new String[]{'defaultReviewer',SOAP_M_URI,null,'0','1','false'}; + private String[] defaultReviewerType_type_info = new String[]{'defaultReviewerType',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'active','defaultAssignee','defaultAssigneeType','defaultReviewer','defaultReviewerType','name'}; + } + public class DeployOptions { + public Boolean allowMissingFiles; + public Boolean autoUpdatePackage; + public Boolean checkOnly; + public Boolean ignoreWarnings; + public Boolean performRetrieve; + public Boolean purgeOnDelete; + public Boolean rollbackOnError; + public String[] runTests; + public Boolean singlePackage; + public String testLevel; + private String[] allowMissingFiles_type_info = new String[]{'allowMissingFiles',SOAP_M_URI,null,'1','1','false'}; + private String[] autoUpdatePackage_type_info = new String[]{'autoUpdatePackage',SOAP_M_URI,null,'1','1','false'}; + private String[] checkOnly_type_info = new String[]{'checkOnly',SOAP_M_URI,null,'1','1','false'}; + private String[] ignoreWarnings_type_info = new String[]{'ignoreWarnings',SOAP_M_URI,null,'1','1','false'}; + private String[] performRetrieve_type_info = new String[]{'performRetrieve',SOAP_M_URI,null,'1','1','false'}; + private String[] purgeOnDelete_type_info = new String[]{'purgeOnDelete',SOAP_M_URI,null,'1','1','false'}; + private String[] rollbackOnError_type_info = new String[]{'rollbackOnError',SOAP_M_URI,null,'1','1','false'}; + private String[] runTests_type_info = new String[]{'runTests',SOAP_M_URI,null,'0','-1','false'}; + private String[] singlePackage_type_info = new String[]{'singlePackage',SOAP_M_URI,null,'1','1','false'}; + private String[] testLevel_type_info = new String[]{'testLevel',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'allowMissingFiles','autoUpdatePackage','checkOnly','ignoreWarnings','performRetrieve','purgeOnDelete','rollbackOnError','runTests','singlePackage','testLevel'}; + } + public class InsightType { + public String defaultTrendType; + public String description; + public Boolean isProtected; + public String masterLabel; + public String parentType; + public String title; + private String[] defaultTrendType_type_info = new String[]{'defaultTrendType',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'1','1','false'}; + private String[] isProtected_type_info = new String[]{'isProtected',SOAP_M_URI,null,'0','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] parentType_type_info = new String[]{'parentType',SOAP_M_URI,null,'1','1','false'}; + private String[] title_type_info = new String[]{'title',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'defaultTrendType','description','isProtected','masterLabel','parentType','title'}; + } + public class FieldSet extends Metadata { + public String type = 'FieldSet'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.FieldSetItem[] availableFields; + public String description; + public MetadataService.FieldSetItem[] displayedFields; + public String label; + private String[] availableFields_type_info = new String[]{'availableFields',SOAP_M_URI,null,'0','-1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'1','1','false'}; + private String[] displayedFields_type_info = new String[]{'displayedFields',SOAP_M_URI,null,'0','-1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'availableFields','description','displayedFields','label'}; + } + public class ProfileLoginHours { + public String fridayEnd; + public String fridayStart; + public String mondayEnd; + public String mondayStart; + public String saturdayEnd; + public String saturdayStart; + public String sundayEnd; + public String sundayStart; + public String thursdayEnd; + public String thursdayStart; + public String tuesdayEnd; + public String tuesdayStart; + public String wednesdayEnd; + public String wednesdayStart; + private String[] fridayEnd_type_info = new String[]{'fridayEnd',SOAP_M_URI,null,'0','1','false'}; + private String[] fridayStart_type_info = new String[]{'fridayStart',SOAP_M_URI,null,'0','1','false'}; + private String[] mondayEnd_type_info = new String[]{'mondayEnd',SOAP_M_URI,null,'0','1','false'}; + private String[] mondayStart_type_info = new String[]{'mondayStart',SOAP_M_URI,null,'0','1','false'}; + private String[] saturdayEnd_type_info = new String[]{'saturdayEnd',SOAP_M_URI,null,'0','1','false'}; + private String[] saturdayStart_type_info = new String[]{'saturdayStart',SOAP_M_URI,null,'0','1','false'}; + private String[] sundayEnd_type_info = new String[]{'sundayEnd',SOAP_M_URI,null,'0','1','false'}; + private String[] sundayStart_type_info = new String[]{'sundayStart',SOAP_M_URI,null,'0','1','false'}; + private String[] thursdayEnd_type_info = new String[]{'thursdayEnd',SOAP_M_URI,null,'0','1','false'}; + private String[] thursdayStart_type_info = new String[]{'thursdayStart',SOAP_M_URI,null,'0','1','false'}; + private String[] tuesdayEnd_type_info = new String[]{'tuesdayEnd',SOAP_M_URI,null,'0','1','false'}; + private String[] tuesdayStart_type_info = new String[]{'tuesdayStart',SOAP_M_URI,null,'0','1','false'}; + private String[] wednesdayEnd_type_info = new String[]{'wednesdayEnd',SOAP_M_URI,null,'0','1','false'}; + private String[] wednesdayStart_type_info = new String[]{'wednesdayStart',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'fridayEnd','fridayStart','mondayEnd','mondayStart','saturdayEnd','saturdayStart','sundayEnd','sundayStart','thursdayEnd','thursdayStart','tuesdayEnd','tuesdayStart','wednesdayEnd','wednesdayStart'}; + } + public class FlowChoiceUserInput extends FlowBaseElement { + public String type = 'FlowChoiceUserInput'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public Boolean isRequired; + public String promptText; + public MetadataService.FlowInputValidationRule validationRule; + private String[] isRequired_type_info = new String[]{'isRequired',SOAP_M_URI,null,'0','1','false'}; + private String[] promptText_type_info = new String[]{'promptText',SOAP_M_URI,null,'0','1','false'}; + private String[] validationRule_type_info = new String[]{'validationRule',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues', 'isRequired','promptText','validationRule'}; + } + public class HomePageComponent extends Metadata { + public String type = 'HomePageComponent'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String body; + public Integer height; + public String[] links; + public String page_x; + public String pageComponentType; + public Boolean showLabel; + public Boolean showScrollbars; + public String width; + private String[] body_type_info = new String[]{'body',SOAP_M_URI,null,'0','1','false'}; + private String[] height_type_info = new String[]{'height',SOAP_M_URI,null,'0','1','false'}; + private String[] links_type_info = new String[]{'links',SOAP_M_URI,null,'0','-1','false'}; + private String[] page_x_type_info = new String[]{'page',SOAP_M_URI,null,'0','1','false'}; + private String[] pageComponentType_type_info = new String[]{'pageComponentType',SOAP_M_URI,null,'1','1','false'}; + private String[] showLabel_type_info = new String[]{'showLabel',SOAP_M_URI,null,'0','1','false'}; + private String[] showScrollbars_type_info = new String[]{'showScrollbars',SOAP_M_URI,null,'0','1','false'}; + private String[] width_type_info = new String[]{'width',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'body','height','links','page_x','pageComponentType','showLabel','showScrollbars','width'}; + } + public class PermissionSetFieldPermissions { + public Boolean editable; + public String field; + public Boolean readable; + private String[] editable_type_info = new String[]{'editable',SOAP_M_URI,null,'1','1','false'}; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'1','1','false'}; + private String[] readable_type_info = new String[]{'readable',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'editable','field','readable'}; + } + public class RetrieveRequest { + public Double apiVersion; + public String[] packageNames; + public Boolean singlePackage; + public String[] specificFiles; + public MetadataService.Package_x unpackaged; + private String[] apiVersion_type_info = new String[]{'apiVersion',SOAP_M_URI,null,'1','1','false'}; + private String[] packageNames_type_info = new String[]{'packageNames',SOAP_M_URI,null,'0','-1','false'}; + private String[] singlePackage_type_info = new String[]{'singlePackage',SOAP_M_URI,null,'1','1','false'}; + private String[] specificFiles_type_info = new String[]{'specificFiles',SOAP_M_URI,null,'0','-1','false'}; + private String[] unpackaged_type_info = new String[]{'unpackaged',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'apiVersion','packageNames','singlePackage','specificFiles','unpackaged'}; + } + public class ObjectRelationship { + public MetadataService.ObjectRelationship join_x; + public Boolean outerJoin; + public String relationship; + private String[] join_x_type_info = new String[]{'join',SOAP_M_URI,null,'0','1','false'}; + private String[] outerJoin_type_info = new String[]{'outerJoin',SOAP_M_URI,null,'1','1','false'}; + private String[] relationship_type_info = new String[]{'relationship',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'join_x','outerJoin','relationship'}; + } + public class ReportLayoutSection { + public MetadataService.ReportTypeColumn[] columns; + public String masterLabel; + private String[] columns_type_info = new String[]{'columns',SOAP_M_URI,null,'0','-1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'columns','masterLabel'}; + } + public class CompactLayout extends Metadata { + public String type = 'CompactLayout'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String[] fields; + public String label; + private String[] fields_type_info = new String[]{'fields',SOAP_M_URI,null,'0','-1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'fields','label'}; + } + public class VisualizationType { + public String description; + public String developerName; + public String icon; + public String masterLabel; + public String scriptBootstrapMethod; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] developerName_type_info = new String[]{'developerName',SOAP_M_URI,null,'1','1','false'}; + private String[] icon_type_info = new String[]{'icon',SOAP_M_URI,null,'1','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] scriptBootstrapMethod_type_info = new String[]{'scriptBootstrapMethod',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'description','developerName','icon','masterLabel','scriptBootstrapMethod'}; + } + public virtual class SharingBaseRule extends Metadata { + public String accessLevel; + public MetadataService.AccountSharingRuleSettings accountSettings; + public String description; + public String label; + public MetadataService.SharedTo sharedTo; + } + public class AuthProvider extends Metadata { + public String type = 'AuthProvider'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String authorizeUrl; + public String consumerKey; + public String consumerSecret; + public String customMetadataTypeRecord; + public String defaultScopes; + public String errorUrl; + public String executionUser; + public String friendlyName; + public String iconUrl; + public String idTokenIssuer; + public Boolean includeOrgIdInIdentifier; + public String logoutUrl; + public String plugin; + public String portal; + public String providerType; + public String registrationHandler; + public Boolean sendAccessTokenInHeader; + public Boolean sendClientCredentialsInHeader; + public String tokenUrl; + public String userInfoUrl; + private String[] authorizeUrl_type_info = new String[]{'authorizeUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] consumerKey_type_info = new String[]{'consumerKey',SOAP_M_URI,null,'0','1','false'}; + private String[] consumerSecret_type_info = new String[]{'consumerSecret',SOAP_M_URI,null,'0','1','false'}; + private String[] customMetadataTypeRecord_type_info = new String[]{'customMetadataTypeRecord',SOAP_M_URI,null,'0','1','false'}; + private String[] defaultScopes_type_info = new String[]{'defaultScopes',SOAP_M_URI,null,'0','1','false'}; + private String[] errorUrl_type_info = new String[]{'errorUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] executionUser_type_info = new String[]{'executionUser',SOAP_M_URI,null,'0','1','false'}; + private String[] friendlyName_type_info = new String[]{'friendlyName',SOAP_M_URI,null,'1','1','false'}; + private String[] iconUrl_type_info = new String[]{'iconUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] idTokenIssuer_type_info = new String[]{'idTokenIssuer',SOAP_M_URI,null,'0','1','false'}; + private String[] includeOrgIdInIdentifier_type_info = new String[]{'includeOrgIdInIdentifier',SOAP_M_URI,null,'0','1','false'}; + private String[] logoutUrl_type_info = new String[]{'logoutUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] plugin_type_info = new String[]{'plugin',SOAP_M_URI,null,'0','1','false'}; + private String[] portal_type_info = new String[]{'portal',SOAP_M_URI,null,'0','1','false'}; + private String[] providerType_type_info = new String[]{'providerType',SOAP_M_URI,null,'1','1','false'}; + private String[] registrationHandler_type_info = new String[]{'registrationHandler',SOAP_M_URI,null,'0','1','false'}; + private String[] sendAccessTokenInHeader_type_info = new String[]{'sendAccessTokenInHeader',SOAP_M_URI,null,'0','1','false'}; + private String[] sendClientCredentialsInHeader_type_info = new String[]{'sendClientCredentialsInHeader',SOAP_M_URI,null,'0','1','false'}; + private String[] tokenUrl_type_info = new String[]{'tokenUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] userInfoUrl_type_info = new String[]{'userInfoUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'authorizeUrl','consumerKey','consumerSecret','customMetadataTypeRecord','defaultScopes','errorUrl','executionUser','friendlyName','iconUrl','idTokenIssuer','includeOrgIdInIdentifier','logoutUrl','plugin','portal','providerType','registrationHandler','sendAccessTokenInHeader','sendClientCredentialsInHeader','tokenUrl','userInfoUrl'}; + } + public class FlowDynamicChoiceSet extends FlowElement { + public String type = 'FlowDynamicChoiceSet'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String description; + public String name; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + public String dataType; + public String displayField; + public MetadataService.FlowRecordFilter[] filters; + public Integer limit_x; + public String object_x; + public MetadataService.FlowOutputFieldAssignment[] outputAssignments; + public String picklistField; + public String picklistObject; + public String sortField; + public String sortOrder; + public String valueField; + private String[] dataType_type_info = new String[]{'dataType',SOAP_M_URI,null,'1','1','false'}; + private String[] displayField_type_info = new String[]{'displayField',SOAP_M_URI,null,'1','1','false'}; + private String[] filters_type_info = new String[]{'filters',SOAP_M_URI,null,'0','-1','false'}; + private String[] limit_x_type_info = new String[]{'limit',SOAP_M_URI,null,'0','1','false'}; + private String[] object_x_type_info = new String[]{'object',SOAP_M_URI,null,'1','1','false'}; + private String[] outputAssignments_type_info = new String[]{'outputAssignments',SOAP_M_URI,null,'0','-1','false'}; + private String[] picklistField_type_info = new String[]{'picklistField',SOAP_M_URI,null,'0','1','false'}; + private String[] picklistObject_type_info = new String[]{'picklistObject',SOAP_M_URI,null,'0','1','false'}; + private String[] sortField_type_info = new String[]{'sortField',SOAP_M_URI,null,'0','1','false'}; + private String[] sortOrder_type_info = new String[]{'sortOrder',SOAP_M_URI,null,'0','1','false'}; + private String[] valueField_type_info = new String[]{'valueField',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues','description','name', 'dataType','displayField','filters','limit_x','object_x','outputAssignments','picklistField','picklistObject','sortField','sortOrder','valueField'}; + } + public class RelatedContent { + public MetadataService.RelatedContentItem[] relatedContentItems; + private String[] relatedContentItems_type_info = new String[]{'relatedContentItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'relatedContentItems'}; + } + public class WebLink extends Metadata { + public String type = 'WebLink'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String availability; + public String description; + public String displayType; + public String encodingKey; + public Boolean hasMenubar; + public Boolean hasScrollbars; + public Boolean hasToolbar; + public Integer height; + public Boolean isResizable; + public String linkType; + public String masterLabel; + public String openType; + public String page_x; + public String position; + public Boolean protected_x; + public Boolean requireRowSelection; + public String scontrol; + public Boolean showsLocation; + public Boolean showsStatus; + public String url; + public Integer width; + private String[] availability_type_info = new String[]{'availability',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] displayType_type_info = new String[]{'displayType',SOAP_M_URI,null,'1','1','false'}; + private String[] encodingKey_type_info = new String[]{'encodingKey',SOAP_M_URI,null,'0','1','false'}; + private String[] hasMenubar_type_info = new String[]{'hasMenubar',SOAP_M_URI,null,'0','1','false'}; + private String[] hasScrollbars_type_info = new String[]{'hasScrollbars',SOAP_M_URI,null,'0','1','false'}; + private String[] hasToolbar_type_info = new String[]{'hasToolbar',SOAP_M_URI,null,'0','1','false'}; + private String[] height_type_info = new String[]{'height',SOAP_M_URI,null,'0','1','false'}; + private String[] isResizable_type_info = new String[]{'isResizable',SOAP_M_URI,null,'0','1','false'}; + private String[] linkType_type_info = new String[]{'linkType',SOAP_M_URI,null,'1','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'0','1','false'}; + private String[] openType_type_info = new String[]{'openType',SOAP_M_URI,null,'1','1','false'}; + private String[] page_x_type_info = new String[]{'page',SOAP_M_URI,null,'0','1','false'}; + private String[] position_type_info = new String[]{'position',SOAP_M_URI,null,'0','1','false'}; + private String[] protected_x_type_info = new String[]{'protected',SOAP_M_URI,null,'1','1','false'}; + private String[] requireRowSelection_type_info = new String[]{'requireRowSelection',SOAP_M_URI,null,'0','1','false'}; + private String[] scontrol_type_info = new String[]{'scontrol',SOAP_M_URI,null,'0','1','false'}; + private String[] showsLocation_type_info = new String[]{'showsLocation',SOAP_M_URI,null,'0','1','false'}; + private String[] showsStatus_type_info = new String[]{'showsStatus',SOAP_M_URI,null,'0','1','false'}; + private String[] url_type_info = new String[]{'url',SOAP_M_URI,null,'0','1','false'}; + private String[] width_type_info = new String[]{'width',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'availability','description','displayType','encodingKey','hasMenubar','hasScrollbars','hasToolbar','height','isResizable','linkType','masterLabel','openType','page_x','position','protected_x','requireRowSelection','scontrol','showsLocation','showsStatus','url','width'}; + } + public class Flow extends Metadata { + public String type = 'Flow'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.FlowActionCall[] actionCalls; + public MetadataService.FlowApexPluginCall[] apexPluginCalls; + public MetadataService.FlowAssignment[] assignments; + public MetadataService.FlowChoice[] choices; + public MetadataService.FlowConstant[] constants; + public MetadataService.FlowDecision[] decisions; + public String description; + public MetadataService.FlowDynamicChoiceSet[] dynamicChoiceSets; + public MetadataService.FlowFormula[] formulas; + public String interviewLabel; + public String label; + public MetadataService.FlowLoop[] loops; + public MetadataService.FlowMetadataValue[] processMetadataValues; + public String processType; + public MetadataService.FlowRecordCreate[] recordCreates; + public MetadataService.FlowRecordDelete[] recordDeletes; + public MetadataService.FlowRecordLookup[] recordLookups; + public MetadataService.FlowRecordUpdate[] recordUpdates; + public MetadataService.FlowScreen[] screens; + public MetadataService.FlowStage[] stages; + public String startElementReference; + public MetadataService.FlowStep[] steps; + public MetadataService.FlowSubflow[] subflows; + public MetadataService.FlowTextTemplate[] textTemplates; + public MetadataService.FlowVariable[] variables; + public MetadataService.FlowWait[] waits; + private String[] actionCalls_type_info = new String[]{'actionCalls',SOAP_M_URI,null,'0','-1','false'}; + private String[] apexPluginCalls_type_info = new String[]{'apexPluginCalls',SOAP_M_URI,null,'0','-1','false'}; + private String[] assignments_type_info = new String[]{'assignments',SOAP_M_URI,null,'0','-1','false'}; + private String[] choices_type_info = new String[]{'choices',SOAP_M_URI,null,'0','-1','false'}; + private String[] constants_type_info = new String[]{'constants',SOAP_M_URI,null,'0','-1','false'}; + private String[] decisions_type_info = new String[]{'decisions',SOAP_M_URI,null,'0','-1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] dynamicChoiceSets_type_info = new String[]{'dynamicChoiceSets',SOAP_M_URI,null,'0','-1','false'}; + private String[] formulas_type_info = new String[]{'formulas',SOAP_M_URI,null,'0','-1','false'}; + private String[] interviewLabel_type_info = new String[]{'interviewLabel',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] loops_type_info = new String[]{'loops',SOAP_M_URI,null,'0','-1','false'}; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + private String[] processType_type_info = new String[]{'processType',SOAP_M_URI,null,'0','1','false'}; + private String[] recordCreates_type_info = new String[]{'recordCreates',SOAP_M_URI,null,'0','-1','false'}; + private String[] recordDeletes_type_info = new String[]{'recordDeletes',SOAP_M_URI,null,'0','-1','false'}; + private String[] recordLookups_type_info = new String[]{'recordLookups',SOAP_M_URI,null,'0','-1','false'}; + private String[] recordUpdates_type_info = new String[]{'recordUpdates',SOAP_M_URI,null,'0','-1','false'}; + private String[] screens_type_info = new String[]{'screens',SOAP_M_URI,null,'0','-1','false'}; + private String[] stages_type_info = new String[]{'stages',SOAP_M_URI,null,'0','-1','false'}; + private String[] startElementReference_type_info = new String[]{'startElementReference',SOAP_M_URI,null,'0','1','false'}; + private String[] steps_type_info = new String[]{'steps',SOAP_M_URI,null,'0','-1','false'}; + private String[] subflows_type_info = new String[]{'subflows',SOAP_M_URI,null,'0','-1','false'}; + private String[] textTemplates_type_info = new String[]{'textTemplates',SOAP_M_URI,null,'0','-1','false'}; + private String[] variables_type_info = new String[]{'variables',SOAP_M_URI,null,'0','-1','false'}; + private String[] waits_type_info = new String[]{'waits',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'actionCalls','apexPluginCalls','assignments','choices','constants','decisions','description','dynamicChoiceSets','formulas','interviewLabel','label','loops','processMetadataValues','processType','recordCreates','recordDeletes','recordLookups','recordUpdates','screens','stages','startElementReference','steps','subflows','textTemplates','variables','waits'}; + } + public class CustomMetadataValue { + public String field; + public String value; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'1','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'1','1','true'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'field','value'}; + } + public class QueueMembers { + public MetadataService.PublicGroups publicGroups; + public MetadataService.RoleAndSubordinates roleAndSubordinates; + public MetadataService.RoleAndSubordinatesInternal roleAndSubordinatesInternal; + public MetadataService.Roles roles; + public MetadataService.Users users; + private String[] publicGroups_type_info = new String[]{'publicGroups',SOAP_M_URI,null,'0','1','false'}; + private String[] roleAndSubordinates_type_info = new String[]{'roleAndSubordinates',SOAP_M_URI,null,'0','1','false'}; + private String[] roleAndSubordinatesInternal_type_info = new String[]{'roleAndSubordinatesInternal',SOAP_M_URI,null,'0','1','false'}; + private String[] roles_type_info = new String[]{'roles',SOAP_M_URI,null,'0','1','false'}; + private String[] users_type_info = new String[]{'users',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'publicGroups','roleAndSubordinates','roleAndSubordinatesInternal','roles','users'}; + } + public class ArticleTypeTemplate { + public String channel; + public String page_x; + public String template; + private String[] channel_type_info = new String[]{'channel',SOAP_M_URI,null,'1','1','false'}; + private String[] page_x_type_info = new String[]{'page',SOAP_M_URI,null,'0','1','false'}; + private String[] template_type_info = new String[]{'template',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'channel','page_x','template'}; + } + public class WaveDataflow extends MetadataWithContent { + public String type = 'WaveDataflow'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String content; + private String[] content_type_info = new String[]{'content',SOAP_M_URI,null,'0','1','false'}; + public String dataflowType; + public String description; + public String masterLabel; + private String[] dataflowType_type_info = new String[]{'dataflowType',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','content', 'dataflowType','description','masterLabel'}; + } + public class StandardValueSet extends Metadata { + public String type = 'StandardValueSet'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String groupingStringEnum; + public Boolean sorted; + public MetadataService.StandardValue[] standardValue; + private String[] groupingStringEnum_type_info = new String[]{'groupingStringEnum',SOAP_M_URI,null,'0','1','false'}; + private String[] sorted_type_info = new String[]{'sorted',SOAP_M_URI,null,'1','1','false'}; + private String[] standardValue_type_info = new String[]{'standardValue',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'groupingStringEnum','sorted','standardValue'}; + } + public class FileUploadAndDownloadSecuritySettings extends Metadata { + public String type = 'FileUploadAndDownloadSecuritySettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.FileTypeDispositionAssignmentBean[] dispositions; + public Boolean noHtmlUploadAsAttachment; + private String[] dispositions_type_info = new String[]{'dispositions',SOAP_M_URI,null,'0','-1','false'}; + private String[] noHtmlUploadAsAttachment_type_info = new String[]{'noHtmlUploadAsAttachment',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'dispositions','noHtmlUploadAsAttachment'}; + } + public class LetterheadHeaderFooter { + public String backgroundColor; + public Integer height; + public String horizontalAlignment; + public String logo; + public String verticalAlignment; + private String[] backgroundColor_type_info = new String[]{'backgroundColor',SOAP_M_URI,null,'1','1','false'}; + private String[] height_type_info = new String[]{'height',SOAP_M_URI,null,'1','1','false'}; + private String[] horizontalAlignment_type_info = new String[]{'horizontalAlignment',SOAP_M_URI,null,'0','1','false'}; + private String[] logo_type_info = new String[]{'logo',SOAP_M_URI,null,'0','1','false'}; + private String[] verticalAlignment_type_info = new String[]{'verticalAlignment',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'backgroundColor','height','horizontalAlignment','logo','verticalAlignment'}; + } + public class PicklistValueTranslation { + public String masterLabel; + public String translation; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] translation_type_info = new String[]{'translation',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'masterLabel','translation'}; + } + public class CountriesAndStates { + public MetadataService.Country[] countries; + private String[] countries_type_info = new String[]{'countries',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'countries'}; + } + public class PathAssistant { + public Boolean active; + public String entityName; + public String fieldName; + public String masterLabel; + public MetadataService.PathAssistantStep[] pathAssistantSteps; + public String recordTypeName; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'1','1','false'}; + private String[] entityName_type_info = new String[]{'entityName',SOAP_M_URI,null,'1','1','false'}; + private String[] fieldName_type_info = new String[]{'fieldName',SOAP_M_URI,null,'1','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] pathAssistantSteps_type_info = new String[]{'pathAssistantSteps',SOAP_M_URI,null,'0','-1','false'}; + private String[] recordTypeName_type_info = new String[]{'recordTypeName',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'active','entityName','fieldName','masterLabel','pathAssistantSteps','recordTypeName'}; + } + public class AsyncResult { + public Boolean done; + public String id; + public String message; + public String state; + public String statusCode; + private String[] done_type_info = new String[]{'done',SOAP_M_URI,null,'1','1','false'}; + private String[] id_type_info = new String[]{'id',SOAP_M_URI,null,'1','1','false'}; + private String[] message_type_info = new String[]{'message',SOAP_M_URI,null,'0','1','false'}; + private String[] state_type_info = new String[]{'state',SOAP_M_URI,null,'1','1','false'}; + private String[] statusCode_type_info = new String[]{'statusCode',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'done','id','message','state','statusCode'}; + } + public class XOrgHub extends Metadata { + public String type = 'XOrgHub'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String label; + public Boolean lockSharedObjects; + public String[] permissionSets; + public MetadataService.XOrgHubSharedObject[] sharedObjects; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] lockSharedObjects_type_info = new String[]{'lockSharedObjects',SOAP_M_URI,null,'1','1','false'}; + private String[] permissionSets_type_info = new String[]{'permissionSets',SOAP_M_URI,null,'0','-1','false'}; + private String[] sharedObjects_type_info = new String[]{'sharedObjects',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'label','lockSharedObjects','permissionSets','sharedObjects'}; + } + public class LightningBoltItems { + public String name; + public String type_x; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'name','type_x'}; + } + public class CustomLabel extends Metadata { + public String type = 'CustomLabel'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String categories; + public String language; + public Boolean protected_x; + public String shortDescription; + public String value; + private String[] categories_type_info = new String[]{'categories',SOAP_M_URI,null,'0','1','false'}; + private String[] language_type_info = new String[]{'language',SOAP_M_URI,null,'1','1','false'}; + private String[] protected_x_type_info = new String[]{'protected',SOAP_M_URI,null,'1','1','false'}; + private String[] shortDescription_type_info = new String[]{'shortDescription',SOAP_M_URI,null,'1','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'categories','language','protected_x','shortDescription','value'}; + } + public class ChatterExtension { + public String compositionComponent; + public String description; + public String extensionName; + public String headerText; + public String hoverText; + public String icon; + public Boolean isProtected; + public String masterLabel; + public String renderComponent; + public String type_x; + private String[] compositionComponent_type_info = new String[]{'compositionComponent',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'1','1','false'}; + private String[] extensionName_type_info = new String[]{'extensionName',SOAP_M_URI,null,'1','1','false'}; + private String[] headerText_type_info = new String[]{'headerText',SOAP_M_URI,null,'0','1','false'}; + private String[] hoverText_type_info = new String[]{'hoverText',SOAP_M_URI,null,'0','1','false'}; + private String[] icon_type_info = new String[]{'icon',SOAP_M_URI,null,'1','1','false'}; + private String[] isProtected_type_info = new String[]{'isProtected',SOAP_M_URI,null,'0','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] renderComponent_type_info = new String[]{'renderComponent',SOAP_M_URI,null,'1','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'compositionComponent','description','extensionName','headerText','hoverText','icon','isProtected','masterLabel','renderComponent','type_x'}; + } + public class NameSettings extends Metadata { + public String type = 'NameSettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean enableMiddleName; + public Boolean enableNameSuffix; + private String[] enableMiddleName_type_info = new String[]{'enableMiddleName',SOAP_M_URI,null,'0','1','false'}; + private String[] enableNameSuffix_type_info = new String[]{'enableNameSuffix',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'enableMiddleName','enableNameSuffix'}; + } + public class EventType extends Metadata { + public String type = 'EventType'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String description; + public MetadataService.EventTypeParameter[] fields; + public String label; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] fields_type_info = new String[]{'fields',SOAP_M_URI,null,'0','-1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'description','fields','label'}; + } + public class checkRetrieveStatusResponse_element { + public MetadataService.RetrieveResult result; + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class Territory2Settings extends Metadata { + public String type = 'Territory2Settings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String defaultAccountAccessLevel; + public String defaultCaseAccessLevel; + public String defaultContactAccessLevel; + public String defaultOpportunityAccessLevel; + public MetadataService.Territory2SettingsOpportunityFilter opportunityFilterSettings; + private String[] defaultAccountAccessLevel_type_info = new String[]{'defaultAccountAccessLevel',SOAP_M_URI,null,'0','1','false'}; + private String[] defaultCaseAccessLevel_type_info = new String[]{'defaultCaseAccessLevel',SOAP_M_URI,null,'0','1','false'}; + private String[] defaultContactAccessLevel_type_info = new String[]{'defaultContactAccessLevel',SOAP_M_URI,null,'0','1','false'}; + private String[] defaultOpportunityAccessLevel_type_info = new String[]{'defaultOpportunityAccessLevel',SOAP_M_URI,null,'0','1','false'}; + private String[] opportunityFilterSettings_type_info = new String[]{'opportunityFilterSettings',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'defaultAccountAccessLevel','defaultCaseAccessLevel','defaultContactAccessLevel','defaultOpportunityAccessLevel','opportunityFilterSettings'}; + } + public class PlatformCachePartition { + public String description; + public Boolean isDefaultPartition; + public String masterLabel; + public MetadataService.PlatformCachePartitionType[] platformCachePartitionTypes; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] isDefaultPartition_type_info = new String[]{'isDefaultPartition',SOAP_M_URI,null,'1','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] platformCachePartitionTypes_type_info = new String[]{'platformCachePartitionTypes',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'description','isDefaultPartition','masterLabel','platformCachePartitionTypes'}; + } + public class ConnectedAppIpRange { + public String description; + public String end_x; + public String start; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] end_x_type_info = new String[]{'end',SOAP_M_URI,null,'1','1','false'}; + private String[] start_type_info = new String[]{'start',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'description','end_x','start'}; + } + public class ExternalDataSource extends Metadata { + public String type = 'ExternalDataSource'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String authProvider; + public String certificate; + public String customConfiguration; + public String endpoint; + public Boolean isWritable; + public String label; + public String oauthRefreshToken; + public String oauthScope; + public String oauthToken; + public String password; + public String principalType; + public String protocol; + public String repository; + public String type_x; + public String username; + public String version; + private String[] authProvider_type_info = new String[]{'authProvider',SOAP_M_URI,null,'0','1','false'}; + private String[] certificate_type_info = new String[]{'certificate',SOAP_M_URI,null,'0','1','false'}; + private String[] customConfiguration_type_info = new String[]{'customConfiguration',SOAP_M_URI,null,'0','1','false'}; + private String[] endpoint_type_info = new String[]{'endpoint',SOAP_M_URI,null,'0','1','false'}; + private String[] isWritable_type_info = new String[]{'isWritable',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] oauthRefreshToken_type_info = new String[]{'oauthRefreshToken',SOAP_M_URI,null,'0','1','false'}; + private String[] oauthScope_type_info = new String[]{'oauthScope',SOAP_M_URI,null,'0','1','false'}; + private String[] oauthToken_type_info = new String[]{'oauthToken',SOAP_M_URI,null,'0','1','false'}; + private String[] password_type_info = new String[]{'password',SOAP_M_URI,null,'0','1','false'}; + private String[] principalType_type_info = new String[]{'principalType',SOAP_M_URI,null,'1','1','false'}; + private String[] protocol_type_info = new String[]{'protocol',SOAP_M_URI,null,'1','1','false'}; + private String[] repository_type_info = new String[]{'repository',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] username_type_info = new String[]{'username',SOAP_M_URI,null,'0','1','false'}; + private String[] version_type_info = new String[]{'version',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'authProvider','certificate','customConfiguration','endpoint','isWritable','label','oauthRefreshToken','oauthScope','oauthToken','password','principalType','protocol','repository','type_x','username','version'}; + } + public class retrieveResponse_element { + public MetadataService.AsyncResult result; + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ComponentInstance { + public MetadataService.ComponentInstanceProperty[] componentInstanceProperties; + public String componentName; + public MetadataService.UiFormulaRule visibilityRule; + private String[] componentInstanceProperties_type_info = new String[]{'componentInstanceProperties',SOAP_M_URI,null,'0','-1','false'}; + private String[] componentName_type_info = new String[]{'componentName',SOAP_M_URI,null,'1','1','false'}; + private String[] visibilityRule_type_info = new String[]{'visibilityRule',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'componentInstanceProperties','componentName','visibilityRule'}; + } + public class LayoutSectionTranslation { + public String label; + public String section; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] section_type_info = new String[]{'section',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'label','section'}; + } + public class FlowActionCallOutputParameter extends FlowBaseElement { + public String type = 'FlowActionCallOutputParameter'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String assignToReference; + public String name; + private String[] assignToReference_type_info = new String[]{'assignToReference',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues', 'assignToReference','name'}; + } + public class MarketingResourceType extends Metadata { + public String type = 'MarketingResourceType'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String description; + public String masterLabel; + public String object_x; + public String provider; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] object_x_type_info = new String[]{'object',SOAP_M_URI,null,'1','1','false'}; + private String[] provider_type_info = new String[]{'provider',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'description','masterLabel','object_x','provider'}; + } + public class ApprovalSubmitter { + public String submitter; + public String type_x; + private String[] submitter_type_info = new String[]{'submitter',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'submitter','type_x'}; + } + public class FlowRecordCreate extends FlowNode { + public String type = 'FlowRecordCreate'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String description; + public String name; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + public String label; + public Integer locationX; + public Integer locationY; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] locationX_type_info = new String[]{'locationX',SOAP_M_URI,null,'1','1','false'}; + private String[] locationY_type_info = new String[]{'locationY',SOAP_M_URI,null,'1','1','false'}; + public String assignRecordIdToReference; + public MetadataService.FlowConnector connector; + public MetadataService.FlowConnector faultConnector; + public MetadataService.FlowInputFieldAssignment[] inputAssignments; + public String inputReference; + public String object_x; + private String[] assignRecordIdToReference_type_info = new String[]{'assignRecordIdToReference',SOAP_M_URI,null,'0','1','false'}; + private String[] connector_type_info = new String[]{'connector',SOAP_M_URI,null,'0','1','false'}; + private String[] faultConnector_type_info = new String[]{'faultConnector',SOAP_M_URI,null,'0','1','false'}; + private String[] inputAssignments_type_info = new String[]{'inputAssignments',SOAP_M_URI,null,'0','-1','false'}; + private String[] inputReference_type_info = new String[]{'inputReference',SOAP_M_URI,null,'0','1','false'}; + private String[] object_x_type_info = new String[]{'object',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues','description','name','label','locationX','locationY', 'assignRecordIdToReference','connector','faultConnector','inputAssignments','inputReference','object_x'}; + } + public class upsertMetadataResponse_element { + public MetadataService.UpsertResult[] result; + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ChannelLayout extends Metadata { + public String type = 'ChannelLayout'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String[] enabledChannels; + public String label; + public MetadataService.ChannelLayoutItem[] layoutItems; + public String recordType; + private String[] enabledChannels_type_info = new String[]{'enabledChannels',SOAP_M_URI,null,'0','-1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] layoutItems_type_info = new String[]{'layoutItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] recordType_type_info = new String[]{'recordType',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'enabledChannels','label','layoutItems','recordType'}; + } + public class LiveChatDeploymentDomainWhitelist { + public String[] domain; + private String[] domain_type_info = new String[]{'domain',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'domain'}; + } + public class PermissionSetRecordTypeVisibility { + public String recordType; + public Boolean visible; + private String[] recordType_type_info = new String[]{'recordType',SOAP_M_URI,null,'1','1','false'}; + private String[] visible_type_info = new String[]{'visible',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'recordType','visible'}; + } + public class WaveXmdOrganization { + public String instanceUrl; + public String label; + public String organizationIdentifier; + public Integer sortIndex; + private String[] instanceUrl_type_info = new String[]{'instanceUrl',SOAP_M_URI,null,'1','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] organizationIdentifier_type_info = new String[]{'organizationIdentifier',SOAP_M_URI,null,'1','1','false'}; + private String[] sortIndex_type_info = new String[]{'sortIndex',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'instanceUrl','label','organizationIdentifier','sortIndex'}; + } + public class cancelDeploy_element { + public String String_x; + private String[] String_x_type_info = new String[]{'String',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'String_x'}; + } + public class ReportFolder extends Folder { + public String type = 'ReportFolder'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String accessType; + public MetadataService.FolderShare[] folderShares; + public String name; + public String publicFolderAccess; + public MetadataService.SharedTo sharedTo; + private String[] accessType_type_info = new String[]{'accessType',SOAP_M_URI,null,'0','1','false'}; + private String[] folderShares_type_info = new String[]{'folderShares',SOAP_M_URI,null,'0','-1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] publicFolderAccess_type_info = new String[]{'publicFolderAccess',SOAP_M_URI,null,'0','1','false'}; + private String[] sharedTo_type_info = new String[]{'sharedTo',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','accessType','folderShares','name','publicFolderAccess','sharedTo'}; + } + public class DashboardComponentSection { + public String columnSize; + public MetadataService.DashboardComponent[] components; + private String[] columnSize_type_info = new String[]{'columnSize',SOAP_M_URI,null,'1','1','false'}; + private String[] components_type_info = new String[]{'components',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'columnSize','components'}; + } + public class EscalationRule extends Metadata { + public String type = 'EscalationRule'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean active; + public MetadataService.RuleEntry[] ruleEntry; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'0','1','false'}; + private String[] ruleEntry_type_info = new String[]{'ruleEntry',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'active','ruleEntry'}; + } + public class RunTestFailure { + public String id; + public String message; + public String methodName; + public String name; + public String namespace; + public String packageName; + public Boolean seeAllData; + public String stackTrace; + public Double time_x; + public String type_x; + private String[] id_type_info = new String[]{'id',SOAP_M_URI,null,'1','1','false'}; + private String[] message_type_info = new String[]{'message',SOAP_M_URI,null,'1','1','false'}; + private String[] methodName_type_info = new String[]{'methodName',SOAP_M_URI,null,'1','1','true'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] namespace_type_info = new String[]{'namespace',SOAP_M_URI,null,'1','1','true'}; + private String[] packageName_type_info = new String[]{'packageName',SOAP_M_URI,null,'1','1','false'}; + private String[] seeAllData_type_info = new String[]{'seeAllData',SOAP_M_URI,null,'0','1','false'}; + private String[] stackTrace_type_info = new String[]{'stackTrace',SOAP_M_URI,null,'1','1','true'}; + private String[] time_x_type_info = new String[]{'time',SOAP_M_URI,null,'1','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'id','message','methodName','name','namespace','packageName','seeAllData','stackTrace','time_x','type_x'}; + } + public class SubtabComponents { + public MetadataService.Container[] containers; + private String[] containers_type_info = new String[]{'containers',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'containers'}; + } + public class ConnectedAppMobileDetailConfig { + public String applicationBinaryFile; + public String applicationBinaryFileName; + public String applicationBundleIdentifier; + public Integer applicationFileLength; + public String applicationIconFile; + public String applicationIconFileName; + public String applicationInstallUrl; + public String devicePlatform; + public String deviceType; + public String minimumOsVersion; + public Boolean privateApp; + public String version; + private String[] applicationBinaryFile_type_info = new String[]{'applicationBinaryFile',SOAP_M_URI,null,'0','1','false'}; + private String[] applicationBinaryFileName_type_info = new String[]{'applicationBinaryFileName',SOAP_M_URI,null,'0','1','false'}; + private String[] applicationBundleIdentifier_type_info = new String[]{'applicationBundleIdentifier',SOAP_M_URI,null,'0','1','false'}; + private String[] applicationFileLength_type_info = new String[]{'applicationFileLength',SOAP_M_URI,null,'0','1','false'}; + private String[] applicationIconFile_type_info = new String[]{'applicationIconFile',SOAP_M_URI,null,'0','1','false'}; + private String[] applicationIconFileName_type_info = new String[]{'applicationIconFileName',SOAP_M_URI,null,'0','1','false'}; + private String[] applicationInstallUrl_type_info = new String[]{'applicationInstallUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] devicePlatform_type_info = new String[]{'devicePlatform',SOAP_M_URI,null,'1','1','false'}; + private String[] deviceType_type_info = new String[]{'deviceType',SOAP_M_URI,null,'0','1','false'}; + private String[] minimumOsVersion_type_info = new String[]{'minimumOsVersion',SOAP_M_URI,null,'0','1','false'}; + private String[] privateApp_type_info = new String[]{'privateApp',SOAP_M_URI,null,'0','1','false'}; + private String[] version_type_info = new String[]{'version',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'applicationBinaryFile','applicationBinaryFileName','applicationBundleIdentifier','applicationFileLength','applicationIconFile','applicationIconFileName','applicationInstallUrl','devicePlatform','deviceType','minimumOsVersion','privateApp','version'}; + } + public class PermissionSet extends Metadata { + public String type = 'PermissionSet'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.PermissionSetApplicationVisibility[] applicationVisibilities; + public MetadataService.PermissionSetApexClassAccess[] classAccesses; + public MetadataService.PermissionSetCustomPermissions[] customPermissions; + public String description; + public MetadataService.PermissionSetExternalDataSourceAccess[] externalDataSourceAccesses; + public MetadataService.PermissionSetFieldPermissions[] fieldPermissions; + public Boolean hasActivationRequired; + public String label; + public String license; + public MetadataService.PermissionSetObjectPermissions[] objectPermissions; + public MetadataService.PermissionSetApexPageAccess[] pageAccesses; + public MetadataService.PermissionSetRecordTypeVisibility[] recordTypeVisibilities; + public MetadataService.PermissionSetTabSetting[] tabSettings; + public MetadataService.PermissionSetUserPermission[] userPermissions; + private String[] applicationVisibilities_type_info = new String[]{'applicationVisibilities',SOAP_M_URI,null,'0','-1','false'}; + private String[] classAccesses_type_info = new String[]{'classAccesses',SOAP_M_URI,null,'0','-1','false'}; + private String[] customPermissions_type_info = new String[]{'customPermissions',SOAP_M_URI,null,'0','-1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] externalDataSourceAccesses_type_info = new String[]{'externalDataSourceAccesses',SOAP_M_URI,null,'0','-1','false'}; + private String[] fieldPermissions_type_info = new String[]{'fieldPermissions',SOAP_M_URI,null,'0','-1','false'}; + private String[] hasActivationRequired_type_info = new String[]{'hasActivationRequired',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] license_type_info = new String[]{'license',SOAP_M_URI,null,'0','1','false'}; + private String[] objectPermissions_type_info = new String[]{'objectPermissions',SOAP_M_URI,null,'0','-1','false'}; + private String[] pageAccesses_type_info = new String[]{'pageAccesses',SOAP_M_URI,null,'0','-1','false'}; + private String[] recordTypeVisibilities_type_info = new String[]{'recordTypeVisibilities',SOAP_M_URI,null,'0','-1','false'}; + private String[] tabSettings_type_info = new String[]{'tabSettings',SOAP_M_URI,null,'0','-1','false'}; + private String[] userPermissions_type_info = new String[]{'userPermissions',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'applicationVisibilities','classAccesses','customPermissions','description','externalDataSourceAccesses','fieldPermissions','hasActivationRequired','label','license','objectPermissions','pageAccesses','recordTypeVisibilities','tabSettings','userPermissions'}; + } + public class WorkflowRule extends Metadata { + public String type = 'WorkflowRule'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.WorkflowActionReference[] actions; + public Boolean active; + public String booleanFilter; + public MetadataService.FilterItem[] criteriaItems; + public String description; + public String formula; + public String triggerType; + public MetadataService.WorkflowTimeTrigger[] workflowTimeTriggers; + private String[] actions_type_info = new String[]{'actions',SOAP_M_URI,null,'0','-1','false'}; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'1','1','false'}; + private String[] booleanFilter_type_info = new String[]{'booleanFilter',SOAP_M_URI,null,'0','1','false'}; + private String[] criteriaItems_type_info = new String[]{'criteriaItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] formula_type_info = new String[]{'formula',SOAP_M_URI,null,'0','1','false'}; + private String[] triggerType_type_info = new String[]{'triggerType',SOAP_M_URI,null,'1','1','false'}; + private String[] workflowTimeTriggers_type_info = new String[]{'workflowTimeTriggers',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'actions','active','booleanFilter','criteriaItems','description','formula','triggerType','workflowTimeTriggers'}; + } + public class FlowRule extends FlowElement { + public String type = 'FlowRule'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String description; + public String name; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + public String conditionLogic; + public MetadataService.FlowCondition[] conditions; + public MetadataService.FlowConnector connector; + public String label; + private String[] conditionLogic_type_info = new String[]{'conditionLogic',SOAP_M_URI,null,'1','1','false'}; + private String[] conditions_type_info = new String[]{'conditions',SOAP_M_URI,null,'0','-1','false'}; + private String[] connector_type_info = new String[]{'connector',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues','description','name', 'conditionLogic','conditions','connector','label'}; + } + public class NetworkPageOverride { + public String changePasswordPageOverrideSetting; + public String forgotPasswordPageOverrideSetting; + public String homePageOverrideSetting; + public String loginPageOverrideSetting; + public String selfRegProfilePageOverrideSetting; + private String[] changePasswordPageOverrideSetting_type_info = new String[]{'changePasswordPageOverrideSetting',SOAP_M_URI,null,'0','1','false'}; + private String[] forgotPasswordPageOverrideSetting_type_info = new String[]{'forgotPasswordPageOverrideSetting',SOAP_M_URI,null,'0','1','false'}; + private String[] homePageOverrideSetting_type_info = new String[]{'homePageOverrideSetting',SOAP_M_URI,null,'0','1','false'}; + private String[] loginPageOverrideSetting_type_info = new String[]{'loginPageOverrideSetting',SOAP_M_URI,null,'0','1','false'}; + private String[] selfRegProfilePageOverrideSetting_type_info = new String[]{'selfRegProfilePageOverrideSetting',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'changePasswordPageOverrideSetting','forgotPasswordPageOverrideSetting','homePageOverrideSetting','loginPageOverrideSetting','selfRegProfilePageOverrideSetting'}; + } + public class ModerationRule extends Metadata { + public String type = 'ModerationRule'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String action; + public Integer actionLimit; + public Boolean active; + public String description; + public MetadataService.ModeratedEntityField[] entitiesAndFields; + public String masterLabel; + public Integer notifyLimit; + public String timePeriod; + public String type_x; + public String[] userCriteria; + public String userMessage; + private String[] action_type_info = new String[]{'action',SOAP_M_URI,null,'1','1','false'}; + private String[] actionLimit_type_info = new String[]{'actionLimit',SOAP_M_URI,null,'0','1','false'}; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] entitiesAndFields_type_info = new String[]{'entitiesAndFields',SOAP_M_URI,null,'0','-1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] notifyLimit_type_info = new String[]{'notifyLimit',SOAP_M_URI,null,'0','1','false'}; + private String[] timePeriod_type_info = new String[]{'timePeriod',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'0','1','false'}; + private String[] userCriteria_type_info = new String[]{'userCriteria',SOAP_M_URI,null,'0','-1','false'}; + private String[] userMessage_type_info = new String[]{'userMessage',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'action','actionLimit','active','description','entitiesAndFields','masterLabel','notifyLimit','timePeriod','type_x','userCriteria','userMessage'}; + } + public class ValueTranslation { + public String masterLabel; + public String translation; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] translation_type_info = new String[]{'translation',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'masterLabel','translation'}; + } + public class KnowledgeWorkOrderField { + public String name; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'name'}; + } + public class PermissionSetApexClassAccess { + public String apexClass; + public Boolean enabled; + private String[] apexClass_type_info = new String[]{'apexClass',SOAP_M_URI,null,'1','1','false'}; + private String[] enabled_type_info = new String[]{'enabled',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'apexClass','enabled'}; + } + public class CampaignInfluenceModel { + public Boolean isActive; + public Boolean isDefaultModel; + public Boolean isModelLocked; + public String modelDescription; + public String name; + public String recordPreference; + private String[] isActive_type_info = new String[]{'isActive',SOAP_M_URI,null,'0','1','false'}; + private String[] isDefaultModel_type_info = new String[]{'isDefaultModel',SOAP_M_URI,null,'1','1','false'}; + private String[] isModelLocked_type_info = new String[]{'isModelLocked',SOAP_M_URI,null,'1','1','false'}; + private String[] modelDescription_type_info = new String[]{'modelDescription',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] recordPreference_type_info = new String[]{'recordPreference',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'isActive','isDefaultModel','isModelLocked','modelDescription','name','recordPreference'}; + } + public class OrchestrationContextEvent { + public String eventType; + public String orchestrationEvent; + public String platformEvent; + public String platformEventPrimaryKey; + private String[] eventType_type_info = new String[]{'eventType',SOAP_M_URI,null,'1','1','false'}; + private String[] orchestrationEvent_type_info = new String[]{'orchestrationEvent',SOAP_M_URI,null,'1','1','false'}; + private String[] platformEvent_type_info = new String[]{'platformEvent',SOAP_M_URI,null,'1','1','false'}; + private String[] platformEventPrimaryKey_type_info = new String[]{'platformEventPrimaryKey',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'eventType','orchestrationEvent','platformEvent','platformEventPrimaryKey'}; + } + public class FlowScreenTranslation { + public MetadataService.FlowScreenFieldTranslation[] fields; + public String helpText; + public String name; + public String pausedText; + private String[] fields_type_info = new String[]{'fields',SOAP_M_URI,null,'0','-1','false'}; + private String[] helpText_type_info = new String[]{'helpText',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] pausedText_type_info = new String[]{'pausedText',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'fields','helpText','name','pausedText'}; + } + public class CommunityRoles { + public String customerUserRole; + public String employeeUserRole; + public String partnerUserRole; + private String[] customerUserRole_type_info = new String[]{'customerUserRole',SOAP_M_URI,null,'0','1','false'}; + private String[] employeeUserRole_type_info = new String[]{'employeeUserRole',SOAP_M_URI,null,'0','1','false'}; + private String[] partnerUserRole_type_info = new String[]{'partnerUserRole',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'customerUserRole','employeeUserRole','partnerUserRole'}; + } + public class RoleAndSubordinatesInternal { + public String[] roleAndSubordinateInternal; + private String[] roleAndSubordinateInternal_type_info = new String[]{'roleAndSubordinateInternal',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'roleAndSubordinateInternal'}; + } + public class CustomTab extends Metadata { + public String type = 'CustomTab'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.ActionOverride[] actionOverrides; + public String auraComponent; + public Boolean customObject; + public String description; + public String flexiPage; + public Integer frameHeight; + public Boolean hasSidebar; + public String icon; + public String label; + public Boolean mobileReady; + public String motif; + public String page_x; + public String scontrol; + public String splashPageLink; + public String url; + public String urlEncodingKey; + private String[] actionOverrides_type_info = new String[]{'actionOverrides',SOAP_M_URI,null,'0','-1','false'}; + private String[] auraComponent_type_info = new String[]{'auraComponent',SOAP_M_URI,null,'0','1','false'}; + private String[] customObject_type_info = new String[]{'customObject',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] flexiPage_type_info = new String[]{'flexiPage',SOAP_M_URI,null,'0','1','false'}; + private String[] frameHeight_type_info = new String[]{'frameHeight',SOAP_M_URI,null,'0','1','false'}; + private String[] hasSidebar_type_info = new String[]{'hasSidebar',SOAP_M_URI,null,'0','1','false'}; + private String[] icon_type_info = new String[]{'icon',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'0','1','false'}; + private String[] mobileReady_type_info = new String[]{'mobileReady',SOAP_M_URI,null,'0','1','false'}; + private String[] motif_type_info = new String[]{'motif',SOAP_M_URI,null,'0','1','false'}; + private String[] page_x_type_info = new String[]{'page',SOAP_M_URI,null,'0','1','false'}; + private String[] scontrol_type_info = new String[]{'scontrol',SOAP_M_URI,null,'0','1','false'}; + private String[] splashPageLink_type_info = new String[]{'splashPageLink',SOAP_M_URI,null,'0','1','false'}; + private String[] url_type_info = new String[]{'url',SOAP_M_URI,null,'0','1','false'}; + private String[] urlEncodingKey_type_info = new String[]{'urlEncodingKey',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'actionOverrides','auraComponent','customObject','description','flexiPage','frameHeight','hasSidebar','icon','label','mobileReady','motif','page_x','scontrol','splashPageLink','url','urlEncodingKey'}; + } + public class LiveChatAgentConfig extends Metadata { + public String type = 'LiveChatAgentConfig'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.AgentConfigAssignments assignments; + public String autoGreeting; + public Integer capacity; + public Integer criticalWaitTime; + public String customAgentName; + public Boolean enableAgentFileTransfer; + public Boolean enableAgentSneakPeek; + public Boolean enableAssistanceFlag; + public Boolean enableAutoAwayOnDecline; + public Boolean enableAutoAwayOnPushTimeout; + public Boolean enableChatConferencing; + public Boolean enableChatMonitoring; + public Boolean enableChatTransferToAgent; + public Boolean enableChatTransferToButton; + public Boolean enableChatTransferToSkill; + public Boolean enableLogoutSound; + public Boolean enableNotifications; + public Boolean enableRequestSound; + public Boolean enableSneakPeek; + public Boolean enableVisitorBlocking; + public Boolean enableWhisperMessage; + public String label; + public String supervisorDefaultAgentStatusFilter; + public String supervisorDefaultButtonFilter; + public String supervisorDefaultSkillFilter; + public MetadataService.SupervisorAgentConfigSkills supervisorSkills; + public MetadataService.AgentConfigButtons transferableButtons; + public MetadataService.AgentConfigSkills transferableSkills; + private String[] assignments_type_info = new String[]{'assignments',SOAP_M_URI,null,'0','1','false'}; + private String[] autoGreeting_type_info = new String[]{'autoGreeting',SOAP_M_URI,null,'0','1','false'}; + private String[] capacity_type_info = new String[]{'capacity',SOAP_M_URI,null,'0','1','false'}; + private String[] criticalWaitTime_type_info = new String[]{'criticalWaitTime',SOAP_M_URI,null,'0','1','false'}; + private String[] customAgentName_type_info = new String[]{'customAgentName',SOAP_M_URI,null,'0','1','false'}; + private String[] enableAgentFileTransfer_type_info = new String[]{'enableAgentFileTransfer',SOAP_M_URI,null,'0','1','false'}; + private String[] enableAgentSneakPeek_type_info = new String[]{'enableAgentSneakPeek',SOAP_M_URI,null,'0','1','false'}; + private String[] enableAssistanceFlag_type_info = new String[]{'enableAssistanceFlag',SOAP_M_URI,null,'0','1','false'}; + private String[] enableAutoAwayOnDecline_type_info = new String[]{'enableAutoAwayOnDecline',SOAP_M_URI,null,'0','1','false'}; + private String[] enableAutoAwayOnPushTimeout_type_info = new String[]{'enableAutoAwayOnPushTimeout',SOAP_M_URI,null,'0','1','false'}; + private String[] enableChatConferencing_type_info = new String[]{'enableChatConferencing',SOAP_M_URI,null,'0','1','false'}; + private String[] enableChatMonitoring_type_info = new String[]{'enableChatMonitoring',SOAP_M_URI,null,'0','1','false'}; + private String[] enableChatTransferToAgent_type_info = new String[]{'enableChatTransferToAgent',SOAP_M_URI,null,'0','1','false'}; + private String[] enableChatTransferToButton_type_info = new String[]{'enableChatTransferToButton',SOAP_M_URI,null,'0','1','false'}; + private String[] enableChatTransferToSkill_type_info = new String[]{'enableChatTransferToSkill',SOAP_M_URI,null,'0','1','false'}; + private String[] enableLogoutSound_type_info = new String[]{'enableLogoutSound',SOAP_M_URI,null,'0','1','false'}; + private String[] enableNotifications_type_info = new String[]{'enableNotifications',SOAP_M_URI,null,'0','1','false'}; + private String[] enableRequestSound_type_info = new String[]{'enableRequestSound',SOAP_M_URI,null,'0','1','false'}; + private String[] enableSneakPeek_type_info = new String[]{'enableSneakPeek',SOAP_M_URI,null,'0','1','false'}; + private String[] enableVisitorBlocking_type_info = new String[]{'enableVisitorBlocking',SOAP_M_URI,null,'0','1','false'}; + private String[] enableWhisperMessage_type_info = new String[]{'enableWhisperMessage',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] supervisorDefaultAgentStatusFilter_type_info = new String[]{'supervisorDefaultAgentStatusFilter',SOAP_M_URI,null,'0','1','false'}; + private String[] supervisorDefaultButtonFilter_type_info = new String[]{'supervisorDefaultButtonFilter',SOAP_M_URI,null,'0','1','false'}; + private String[] supervisorDefaultSkillFilter_type_info = new String[]{'supervisorDefaultSkillFilter',SOAP_M_URI,null,'0','1','false'}; + private String[] supervisorSkills_type_info = new String[]{'supervisorSkills',SOAP_M_URI,null,'0','1','false'}; + private String[] transferableButtons_type_info = new String[]{'transferableButtons',SOAP_M_URI,null,'0','1','false'}; + private String[] transferableSkills_type_info = new String[]{'transferableSkills',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'assignments','autoGreeting','capacity','criticalWaitTime','customAgentName','enableAgentFileTransfer','enableAgentSneakPeek','enableAssistanceFlag','enableAutoAwayOnDecline','enableAutoAwayOnPushTimeout','enableChatConferencing','enableChatMonitoring','enableChatTransferToAgent','enableChatTransferToButton','enableChatTransferToSkill','enableLogoutSound','enableNotifications','enableRequestSound','enableSneakPeek','enableVisitorBlocking','enableWhisperMessage','label','supervisorDefaultAgentStatusFilter','supervisorDefaultButtonFilter','supervisorDefaultSkillFilter','supervisorSkills','transferableButtons','transferableSkills'}; + } + public class FieldMapping { + public String SObjectType; + public String developerName; + public MetadataService.FieldMappingRow[] fieldMappingRows; + public String masterLabel; + private String[] SObjectType_type_info = new String[]{'SObjectType',SOAP_M_URI,null,'1','1','false'}; + private String[] developerName_type_info = new String[]{'developerName',SOAP_M_URI,null,'1','1','false'}; + private String[] fieldMappingRows_type_info = new String[]{'fieldMappingRows',SOAP_M_URI,null,'0','-1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'SObjectType','developerName','fieldMappingRows','masterLabel'}; + } + public class EmailToCaseSettings { + public Boolean enableE2CSourceTracking; + public Boolean enableEmailToCase; + public Boolean enableHtmlEmail; + public Boolean enableOnDemandEmailToCase; + public Boolean enableThreadIDInBody; + public Boolean enableThreadIDInSubject; + public Boolean notifyOwnerOnNewCaseEmail; + public String overEmailLimitAction; + public Boolean preQuoteSignature; + public MetadataService.EmailToCaseRoutingAddress[] routingAddresses; + public String unauthorizedSenderAction; + private String[] enableE2CSourceTracking_type_info = new String[]{'enableE2CSourceTracking',SOAP_M_URI,null,'0','1','false'}; + private String[] enableEmailToCase_type_info = new String[]{'enableEmailToCase',SOAP_M_URI,null,'0','1','false'}; + private String[] enableHtmlEmail_type_info = new String[]{'enableHtmlEmail',SOAP_M_URI,null,'0','1','false'}; + private String[] enableOnDemandEmailToCase_type_info = new String[]{'enableOnDemandEmailToCase',SOAP_M_URI,null,'0','1','false'}; + private String[] enableThreadIDInBody_type_info = new String[]{'enableThreadIDInBody',SOAP_M_URI,null,'0','1','false'}; + private String[] enableThreadIDInSubject_type_info = new String[]{'enableThreadIDInSubject',SOAP_M_URI,null,'0','1','false'}; + private String[] notifyOwnerOnNewCaseEmail_type_info = new String[]{'notifyOwnerOnNewCaseEmail',SOAP_M_URI,null,'0','1','false'}; + private String[] overEmailLimitAction_type_info = new String[]{'overEmailLimitAction',SOAP_M_URI,null,'0','1','false'}; + private String[] preQuoteSignature_type_info = new String[]{'preQuoteSignature',SOAP_M_URI,null,'0','1','false'}; + private String[] routingAddresses_type_info = new String[]{'routingAddresses',SOAP_M_URI,null,'0','-1','false'}; + private String[] unauthorizedSenderAction_type_info = new String[]{'unauthorizedSenderAction',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'enableE2CSourceTracking','enableEmailToCase','enableHtmlEmail','enableOnDemandEmailToCase','enableThreadIDInBody','enableThreadIDInSubject','notifyOwnerOnNewCaseEmail','overEmailLimitAction','preQuoteSignature','routingAddresses','unauthorizedSenderAction'}; + } + public class FlowSubflowOutputAssignment extends FlowBaseElement { + public String type = 'FlowSubflowOutputAssignment'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String assignToReference; + public String name; + private String[] assignToReference_type_info = new String[]{'assignToReference',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues', 'assignToReference','name'}; + } + public class SecuritySettings extends Metadata { + public String type = 'SecuritySettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.NetworkAccess networkAccess; + public MetadataService.PasswordPolicies passwordPolicies; + public MetadataService.SessionSettings sessionSettings; + private String[] networkAccess_type_info = new String[]{'networkAccess',SOAP_M_URI,null,'0','1','false'}; + private String[] passwordPolicies_type_info = new String[]{'passwordPolicies',SOAP_M_URI,null,'0','1','false'}; + private String[] sessionSettings_type_info = new String[]{'sessionSettings',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'networkAccess','passwordPolicies','sessionSettings'}; + } + public class ReportChart { + public String backgroundColor1; + public String backgroundColor2; + public String backgroundFadeDir; + public MetadataService.ChartSummary[] chartSummaries; + public String chartType; + public Boolean enableHoverLabels; + public Boolean expandOthers; + public String groupingColumn; + public String legendPosition; + public String location; + public String secondaryGroupingColumn; + public Boolean showAxisLabels; + public Boolean showPercentage; + public Boolean showTotal; + public Boolean showValues; + public String size; + public Double summaryAxisManualRangeEnd; + public Double summaryAxisManualRangeStart; + public String summaryAxisRange; + public String textColor; + public Integer textSize; + public String title; + public String titleColor; + public Integer titleSize; + private String[] backgroundColor1_type_info = new String[]{'backgroundColor1',SOAP_M_URI,null,'0','1','false'}; + private String[] backgroundColor2_type_info = new String[]{'backgroundColor2',SOAP_M_URI,null,'0','1','false'}; + private String[] backgroundFadeDir_type_info = new String[]{'backgroundFadeDir',SOAP_M_URI,null,'0','1','false'}; + private String[] chartSummaries_type_info = new String[]{'chartSummaries',SOAP_M_URI,null,'0','-1','false'}; + private String[] chartType_type_info = new String[]{'chartType',SOAP_M_URI,null,'1','1','false'}; + private String[] enableHoverLabels_type_info = new String[]{'enableHoverLabels',SOAP_M_URI,null,'0','1','false'}; + private String[] expandOthers_type_info = new String[]{'expandOthers',SOAP_M_URI,null,'0','1','false'}; + private String[] groupingColumn_type_info = new String[]{'groupingColumn',SOAP_M_URI,null,'0','1','false'}; + private String[] legendPosition_type_info = new String[]{'legendPosition',SOAP_M_URI,null,'0','1','false'}; + private String[] location_type_info = new String[]{'location',SOAP_M_URI,null,'0','1','false'}; + private String[] secondaryGroupingColumn_type_info = new String[]{'secondaryGroupingColumn',SOAP_M_URI,null,'0','1','false'}; + private String[] showAxisLabels_type_info = new String[]{'showAxisLabels',SOAP_M_URI,null,'0','1','false'}; + private String[] showPercentage_type_info = new String[]{'showPercentage',SOAP_M_URI,null,'0','1','false'}; + private String[] showTotal_type_info = new String[]{'showTotal',SOAP_M_URI,null,'0','1','false'}; + private String[] showValues_type_info = new String[]{'showValues',SOAP_M_URI,null,'0','1','false'}; + private String[] size_type_info = new String[]{'size',SOAP_M_URI,null,'0','1','false'}; + private String[] summaryAxisManualRangeEnd_type_info = new String[]{'summaryAxisManualRangeEnd',SOAP_M_URI,null,'0','1','false'}; + private String[] summaryAxisManualRangeStart_type_info = new String[]{'summaryAxisManualRangeStart',SOAP_M_URI,null,'0','1','false'}; + private String[] summaryAxisRange_type_info = new String[]{'summaryAxisRange',SOAP_M_URI,null,'0','1','false'}; + private String[] textColor_type_info = new String[]{'textColor',SOAP_M_URI,null,'0','1','false'}; + private String[] textSize_type_info = new String[]{'textSize',SOAP_M_URI,null,'0','1','false'}; + private String[] title_type_info = new String[]{'title',SOAP_M_URI,null,'0','1','false'}; + private String[] titleColor_type_info = new String[]{'titleColor',SOAP_M_URI,null,'0','1','false'}; + private String[] titleSize_type_info = new String[]{'titleSize',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'backgroundColor1','backgroundColor2','backgroundFadeDir','chartSummaries','chartType','enableHoverLabels','expandOthers','groupingColumn','legendPosition','location','secondaryGroupingColumn','showAxisLabels','showPercentage','showTotal','showValues','size','summaryAxisManualRangeEnd','summaryAxisManualRangeStart','summaryAxisRange','textColor','textSize','title','titleColor','titleSize'}; + } + public class AppMenuItem { + public String name; + public String type_x; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'name','type_x'}; + } + public class TabLimitConfig { + public String maxNumberOfPrimaryTabs; + public String maxNumberOfSubTabs; + private String[] maxNumberOfPrimaryTabs_type_info = new String[]{'maxNumberOfPrimaryTabs',SOAP_M_URI,null,'0','1','false'}; + private String[] maxNumberOfSubTabs_type_info = new String[]{'maxNumberOfSubTabs',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'maxNumberOfPrimaryTabs','maxNumberOfSubTabs'}; + } + public class ObjectMapping { + public String inputObject; + public MetadataService.ObjectMappingField[] mappingFields; + public String outputObject; + private String[] inputObject_type_info = new String[]{'inputObject',SOAP_M_URI,null,'1','1','false'}; + private String[] mappingFields_type_info = new String[]{'mappingFields',SOAP_M_URI,null,'0','-1','false'}; + private String[] outputObject_type_info = new String[]{'outputObject',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'inputObject','mappingFields','outputObject'}; + } + public class ModeratedEntityField { + public String entityName; + public String fieldName; + public String keywordList; + private String[] entityName_type_info = new String[]{'entityName',SOAP_M_URI,null,'1','1','false'}; + private String[] fieldName_type_info = new String[]{'fieldName',SOAP_M_URI,null,'0','1','false'}; + private String[] keywordList_type_info = new String[]{'keywordList',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'entityName','fieldName','keywordList'}; + } + public class RecordType extends Metadata { + public String type = 'RecordType'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean active; + public String businessProcess; + public String compactLayoutAssignment; + public String description; + public String label; + public MetadataService.RecordTypePicklistValue[] picklistValues; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'1','1','false'}; + private String[] businessProcess_type_info = new String[]{'businessProcess',SOAP_M_URI,null,'0','1','false'}; + private String[] compactLayoutAssignment_type_info = new String[]{'compactLayoutAssignment',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] picklistValues_type_info = new String[]{'picklistValues',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'active','businessProcess','compactLayoutAssignment','description','label','picklistValues'}; + } + public class EventSubscription extends Metadata { + public String type = 'EventSubscription'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean active; + public MetadataService.EventParameterMap[] eventParameters; + public String eventType; + public String referenceData; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'0','1','false'}; + private String[] eventParameters_type_info = new String[]{'eventParameters',SOAP_M_URI,null,'0','-1','false'}; + private String[] eventType_type_info = new String[]{'eventType',SOAP_M_URI,null,'1','1','false'}; + private String[] referenceData_type_info = new String[]{'referenceData',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'active','eventParameters','eventType','referenceData'}; + } + public class FieldOverride { + public String field; + public String formula; + public String literalValue; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'1','1','false'}; + private String[] formula_type_info = new String[]{'formula',SOAP_M_URI,null,'0','1','false'}; + private String[] literalValue_type_info = new String[]{'literalValue',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'field','formula','literalValue'}; + } + public class ProfileTabVisibility { + public String tab; + public String visibility; + private String[] tab_type_info = new String[]{'tab',SOAP_M_URI,null,'1','1','false'}; + private String[] visibility_type_info = new String[]{'visibility',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'tab','visibility'}; + } + public class ReportCrossFilter { + public MetadataService.ReportFilterItem[] criteriaItems; + public String operation; + public String primaryTableColumn; + public String relatedTable; + public String relatedTableJoinColumn; + private String[] criteriaItems_type_info = new String[]{'criteriaItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] operation_type_info = new String[]{'operation',SOAP_M_URI,null,'1','1','false'}; + private String[] primaryTableColumn_type_info = new String[]{'primaryTableColumn',SOAP_M_URI,null,'1','1','false'}; + private String[] relatedTable_type_info = new String[]{'relatedTable',SOAP_M_URI,null,'1','1','false'}; + private String[] relatedTableJoinColumn_type_info = new String[]{'relatedTableJoinColumn',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'criteriaItems','operation','primaryTableColumn','relatedTable','relatedTableJoinColumn'}; + } + public class LookupFilter { + public Boolean active; + public String booleanFilter; + public String description; + public String errorMessage; + public MetadataService.FilterItem[] filterItems; + public String infoMessage; + public Boolean isOptional; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'1','1','false'}; + private String[] booleanFilter_type_info = new String[]{'booleanFilter',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] errorMessage_type_info = new String[]{'errorMessage',SOAP_M_URI,null,'0','1','false'}; + private String[] filterItems_type_info = new String[]{'filterItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] infoMessage_type_info = new String[]{'infoMessage',SOAP_M_URI,null,'0','1','false'}; + private String[] isOptional_type_info = new String[]{'isOptional',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'active','booleanFilter','description','errorMessage','filterItems','infoMessage','isOptional'}; + } + public class UiPlugin { + public String description; + public String extensionPointIdentifier; + public Boolean isEnabled; + public String language; + public String masterLabel; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] extensionPointIdentifier_type_info = new String[]{'extensionPointIdentifier',SOAP_M_URI,null,'1','1','false'}; + private String[] isEnabled_type_info = new String[]{'isEnabled',SOAP_M_URI,null,'1','1','false'}; + private String[] language_type_info = new String[]{'language',SOAP_M_URI,null,'1','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'description','extensionPointIdentifier','isEnabled','language','masterLabel'}; + } + public class AppBrand { + public String footerColor; + public String headerColor; + public String logo; + public Integer logoVersion; + public Boolean shouldOverrideOrgTheme; + private String[] footerColor_type_info = new String[]{'footerColor',SOAP_M_URI,null,'0','1','false'}; + private String[] headerColor_type_info = new String[]{'headerColor',SOAP_M_URI,null,'0','1','false'}; + private String[] logo_type_info = new String[]{'logo',SOAP_M_URI,null,'0','1','false'}; + private String[] logoVersion_type_info = new String[]{'logoVersion',SOAP_M_URI,null,'0','1','false'}; + private String[] shouldOverrideOrgTheme_type_info = new String[]{'shouldOverrideOrgTheme',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'footerColor','headerColor','logo','logoVersion','shouldOverrideOrgTheme'}; + } + public class FlowLoop extends FlowNode { + public String type = 'FlowLoop'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String description; + public String name; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + public String label; + public Integer locationX; + public Integer locationY; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] locationX_type_info = new String[]{'locationX',SOAP_M_URI,null,'1','1','false'}; + private String[] locationY_type_info = new String[]{'locationY',SOAP_M_URI,null,'1','1','false'}; + public String assignNextValueToReference; + public String collectionReference; + public String iterationOrder; + public MetadataService.FlowConnector nextValueConnector; + public MetadataService.FlowConnector noMoreValuesConnector; + private String[] assignNextValueToReference_type_info = new String[]{'assignNextValueToReference',SOAP_M_URI,null,'1','1','false'}; + private String[] collectionReference_type_info = new String[]{'collectionReference',SOAP_M_URI,null,'1','1','false'}; + private String[] iterationOrder_type_info = new String[]{'iterationOrder',SOAP_M_URI,null,'0','1','false'}; + private String[] nextValueConnector_type_info = new String[]{'nextValueConnector',SOAP_M_URI,null,'0','1','false'}; + private String[] noMoreValuesConnector_type_info = new String[]{'noMoreValuesConnector',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues','description','name','label','locationX','locationY', 'assignNextValueToReference','collectionReference','iterationOrder','nextValueConnector','noMoreValuesConnector'}; + } + public class FlowDefinition { + public Integer activeVersionNumber; + public String description; + public String masterLabel; + private String[] activeVersionNumber_type_info = new String[]{'activeVersionNumber',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'activeVersionNumber','description','masterLabel'}; + } + public class ReputationLevelDefinitions { + public MetadataService.ReputationLevel[] level; + private String[] level_type_info = new String[]{'level',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'level'}; + } + public class CustomPageWebLink extends Metadata { + public String type = 'CustomPageWebLink'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String availability; + public String description; + public String displayType; + public String encodingKey; + public Boolean hasMenubar; + public Boolean hasScrollbars; + public Boolean hasToolbar; + public Integer height; + public Boolean isResizable; + public String linkType; + public String masterLabel; + public String openType; + public String page_x; + public String position; + public Boolean protected_x; + public Boolean requireRowSelection; + public String scontrol; + public Boolean showsLocation; + public Boolean showsStatus; + public String url; + public Integer width; + private String[] availability_type_info = new String[]{'availability',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] displayType_type_info = new String[]{'displayType',SOAP_M_URI,null,'1','1','false'}; + private String[] encodingKey_type_info = new String[]{'encodingKey',SOAP_M_URI,null,'0','1','false'}; + private String[] hasMenubar_type_info = new String[]{'hasMenubar',SOAP_M_URI,null,'0','1','false'}; + private String[] hasScrollbars_type_info = new String[]{'hasScrollbars',SOAP_M_URI,null,'0','1','false'}; + private String[] hasToolbar_type_info = new String[]{'hasToolbar',SOAP_M_URI,null,'0','1','false'}; + private String[] height_type_info = new String[]{'height',SOAP_M_URI,null,'0','1','false'}; + private String[] isResizable_type_info = new String[]{'isResizable',SOAP_M_URI,null,'0','1','false'}; + private String[] linkType_type_info = new String[]{'linkType',SOAP_M_URI,null,'1','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'0','1','false'}; + private String[] openType_type_info = new String[]{'openType',SOAP_M_URI,null,'1','1','false'}; + private String[] page_x_type_info = new String[]{'page',SOAP_M_URI,null,'0','1','false'}; + private String[] position_type_info = new String[]{'position',SOAP_M_URI,null,'0','1','false'}; + private String[] protected_x_type_info = new String[]{'protected',SOAP_M_URI,null,'1','1','false'}; + private String[] requireRowSelection_type_info = new String[]{'requireRowSelection',SOAP_M_URI,null,'0','1','false'}; + private String[] scontrol_type_info = new String[]{'scontrol',SOAP_M_URI,null,'0','1','false'}; + private String[] showsLocation_type_info = new String[]{'showsLocation',SOAP_M_URI,null,'0','1','false'}; + private String[] showsStatus_type_info = new String[]{'showsStatus',SOAP_M_URI,null,'0','1','false'}; + private String[] url_type_info = new String[]{'url',SOAP_M_URI,null,'0','1','false'}; + private String[] width_type_info = new String[]{'width',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'availability','description','displayType','encodingKey','hasMenubar','hasScrollbars','hasToolbar','height','isResizable','linkType','masterLabel','openType','page_x','position','protected_x','requireRowSelection','scontrol','showsLocation','showsStatus','url','width'}; + } + public class DashboardFlexTableComponentProperties { + public MetadataService.DashboardComponentColumn[] flexTableColumn; + public MetadataService.DashboardComponentSortInfo flexTableSortInfo; + public Boolean hideChatterPhotos; + private String[] flexTableColumn_type_info = new String[]{'flexTableColumn',SOAP_M_URI,null,'0','-1','false'}; + private String[] flexTableSortInfo_type_info = new String[]{'flexTableSortInfo',SOAP_M_URI,null,'0','1','false'}; + private String[] hideChatterPhotos_type_info = new String[]{'hideChatterPhotos',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'flexTableColumn','flexTableSortInfo','hideChatterPhotos'}; + } + public class ApprovalAction { + public MetadataService.WorkflowActionReference[] action; + private String[] action_type_info = new String[]{'action',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'action'}; + } + public class IntegrationHubSettings { + public String canonicalName; + public String canonicalNameBindingChar; + public String description; + public Boolean isEnabled; + public Boolean isProtected; + public String masterLabel; + public String setupData; + public String setupDefinition; + public String setupNamespace; + public String setupSimpleName; + public String uUID; + public String version; + public Integer versionBuild; + public Integer versionMajor; + public Integer versionMinor; + private String[] canonicalName_type_info = new String[]{'canonicalName',SOAP_M_URI,null,'0','1','false'}; + private String[] canonicalNameBindingChar_type_info = new String[]{'canonicalNameBindingChar',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] isEnabled_type_info = new String[]{'isEnabled',SOAP_M_URI,null,'0','1','false'}; + private String[] isProtected_type_info = new String[]{'isProtected',SOAP_M_URI,null,'0','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] setupData_type_info = new String[]{'setupData',SOAP_M_URI,null,'0','1','false'}; + private String[] setupDefinition_type_info = new String[]{'setupDefinition',SOAP_M_URI,null,'0','1','false'}; + private String[] setupNamespace_type_info = new String[]{'setupNamespace',SOAP_M_URI,null,'0','1','false'}; + private String[] setupSimpleName_type_info = new String[]{'setupSimpleName',SOAP_M_URI,null,'1','1','false'}; + private String[] uUID_type_info = new String[]{'uUID',SOAP_M_URI,null,'0','1','false'}; + private String[] version_type_info = new String[]{'version',SOAP_M_URI,null,'0','1','false'}; + private String[] versionBuild_type_info = new String[]{'versionBuild',SOAP_M_URI,null,'0','1','false'}; + private String[] versionMajor_type_info = new String[]{'versionMajor',SOAP_M_URI,null,'0','1','false'}; + private String[] versionMinor_type_info = new String[]{'versionMinor',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'canonicalName','canonicalNameBindingChar','description','isEnabled','isProtected','masterLabel','setupData','setupDefinition','setupNamespace','setupSimpleName','uUID','version','versionBuild','versionMajor','versionMinor'}; + } + public class SharingSet extends Metadata { + public String type = 'SharingSet'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.AccessMapping[] accessMappings; + public String description; + public String name; + public String[] profiles; + private String[] accessMappings_type_info = new String[]{'accessMappings',SOAP_M_URI,null,'0','-1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] profiles_type_info = new String[]{'profiles',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'accessMappings','description','name','profiles'}; + } + public class WaveTemplateBundle { + public String assetIcon; + public Double assetVersion; + public String description; + public String label; + public String templateBadgeIcon; + public String templateDetailIcon; + public String templateType; + private String[] assetIcon_type_info = new String[]{'assetIcon',SOAP_M_URI,null,'0','1','false'}; + private String[] assetVersion_type_info = new String[]{'assetVersion',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] templateBadgeIcon_type_info = new String[]{'templateBadgeIcon',SOAP_M_URI,null,'0','1','false'}; + private String[] templateDetailIcon_type_info = new String[]{'templateDetailIcon',SOAP_M_URI,null,'0','1','false'}; + private String[] templateType_type_info = new String[]{'templateType',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'assetIcon','assetVersion','description','label','templateBadgeIcon','templateDetailIcon','templateType'}; + } + public class CommunityThemeSetting { + public String customThemeLayoutType; + public String themeLayout; + public String themeLayoutType; + private String[] customThemeLayoutType_type_info = new String[]{'customThemeLayoutType',SOAP_M_URI,null,'0','1','false'}; + private String[] themeLayout_type_info = new String[]{'themeLayout',SOAP_M_URI,null,'1','1','false'}; + private String[] themeLayoutType_type_info = new String[]{'themeLayoutType',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'customThemeLayoutType','themeLayout','themeLayoutType'}; + } + public class LayoutColumn { + public MetadataService.LayoutItem[] layoutItems; + public String reserved; + private String[] layoutItems_type_info = new String[]{'layoutItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] reserved_type_info = new String[]{'reserved',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'layoutItems','reserved'}; + } + public class Error { + public MetadataService.ExtendedErrorDetails[] extendedErrorDetails; + public String[] fields; + public String message; + public String statusCode; + private String[] extendedErrorDetails_type_info = new String[]{'extendedErrorDetails',SOAP_M_URI,null,'0','-1','false'}; + private String[] fields_type_info = new String[]{'fields',SOAP_M_URI,null,'0','-1','false'}; + private String[] message_type_info = new String[]{'message',SOAP_M_URI,null,'1','1','false'}; + private String[] statusCode_type_info = new String[]{'statusCode',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'extendedErrorDetails','fields','message','statusCode'}; + } + public class Territory2RuleItem { + public String field; + public String operation; + public String value; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'1','1','false'}; + private String[] operation_type_info = new String[]{'operation',SOAP_M_URI,null,'1','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'field','operation','value'}; + } + public class FlowStep extends FlowNode { + public String type = 'FlowStep'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String description; + public String name; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + public String label; + public Integer locationX; + public Integer locationY; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] locationX_type_info = new String[]{'locationX',SOAP_M_URI,null,'1','1','false'}; + private String[] locationY_type_info = new String[]{'locationY',SOAP_M_URI,null,'1','1','false'}; + public MetadataService.FlowConnector[] connectors; + private String[] connectors_type_info = new String[]{'connectors',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues','description','name','label','locationX','locationY', 'connectors'}; + } + public class updateMetadata_element { + public MetadataService.Metadata[] metadata; + private String[] metadata_type_info = new String[]{'metadata',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'metadata'}; + } + public class OrchestrationContext { + public String description; + public MetadataService.OrchestrationContextEvent[] events; + public String masterLabel; + public String runtimeType; + public String salesforceObject; + public String salesforceObjectPrimaryKey; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] events_type_info = new String[]{'events',SOAP_M_URI,null,'0','-1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] runtimeType_type_info = new String[]{'runtimeType',SOAP_M_URI,null,'1','1','false'}; + private String[] salesforceObject_type_info = new String[]{'salesforceObject',SOAP_M_URI,null,'0','1','false'}; + private String[] salesforceObjectPrimaryKey_type_info = new String[]{'salesforceObjectPrimaryKey',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'description','events','masterLabel','runtimeType','salesforceObject','salesforceObjectPrimaryKey'}; + } + public class AccountSettings extends Metadata { + public String type = 'AccountSettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean enableAccountOwnerReport; + public Boolean enableAccountTeams; + public Boolean showViewHierarchyLink; + private String[] enableAccountOwnerReport_type_info = new String[]{'enableAccountOwnerReport',SOAP_M_URI,null,'0','1','false'}; + private String[] enableAccountTeams_type_info = new String[]{'enableAccountTeams',SOAP_M_URI,null,'0','1','false'}; + private String[] showViewHierarchyLink_type_info = new String[]{'showViewHierarchyLink',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'enableAccountOwnerReport','enableAccountTeams','showViewHierarchyLink'}; + } + public class ContentAssetVersion { + public String number_x; + public String pathOnClient; + public String zipEntry; + private String[] number_x_type_info = new String[]{'number',SOAP_M_URI,null,'1','1','false'}; + private String[] pathOnClient_type_info = new String[]{'pathOnClient',SOAP_M_URI,null,'1','1','false'}; + private String[] zipEntry_type_info = new String[]{'zipEntry',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'number_x','pathOnClient','zipEntry'}; + } + public class CancelDeployResult { + public Boolean done; + public String id; + private String[] done_type_info = new String[]{'done',SOAP_M_URI,null,'1','1','false'}; + private String[] id_type_info = new String[]{'id',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'done','id'}; + } + public class AgentConfigUserAssignments { + public String[] user_x; + private String[] user_x_type_info = new String[]{'user',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'user_x'}; + } + public class EventParameterMap { + public String parameterName; + public String parameterValue; + private String[] parameterName_type_info = new String[]{'parameterName',SOAP_M_URI,null,'1','1','false'}; + private String[] parameterValue_type_info = new String[]{'parameterValue',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'parameterName','parameterValue'}; + } + public class TransactionSecurityAction { + public Boolean block; + public Boolean endSession; + public Boolean freezeUser; + public MetadataService.TransactionSecurityNotification[] notifications; + public Boolean twoFactorAuthentication; + private String[] block_type_info = new String[]{'block',SOAP_M_URI,null,'1','1','false'}; + private String[] endSession_type_info = new String[]{'endSession',SOAP_M_URI,null,'1','1','false'}; + private String[] freezeUser_type_info = new String[]{'freezeUser',SOAP_M_URI,null,'1','1','false'}; + private String[] notifications_type_info = new String[]{'notifications',SOAP_M_URI,null,'0','-1','false'}; + private String[] twoFactorAuthentication_type_info = new String[]{'twoFactorAuthentication',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'block','endSession','freezeUser','notifications','twoFactorAuthentication'}; + } + public class KnowledgeWorkOrderLineItemField { + public String name; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'name'}; + } + public class DashboardFilterColumn { + public String column; + private String[] column_type_info = new String[]{'column',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'column'}; + } + public class CspTrustedSite extends Metadata { + public String type = 'CspTrustedSite'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String description; + public String endpointUrl; + public Boolean isActive; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] endpointUrl_type_info = new String[]{'endpointUrl',SOAP_M_URI,null,'1','1','false'}; + private String[] isActive_type_info = new String[]{'isActive',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'description','endpointUrl','isActive'}; + } + public class FlowVariable extends FlowElement { + public String type = 'FlowVariable'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String description; + public String name; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + public String dataType; + public Boolean isCollection; + public Boolean isInput; + public Boolean isOutput; + public String objectType; + public Integer scale; + public MetadataService.FlowElementReferenceOrValue value; + private String[] dataType_type_info = new String[]{'dataType',SOAP_M_URI,null,'1','1','false'}; + private String[] isCollection_type_info = new String[]{'isCollection',SOAP_M_URI,null,'0','1','false'}; + private String[] isInput_type_info = new String[]{'isInput',SOAP_M_URI,null,'0','1','false'}; + private String[] isOutput_type_info = new String[]{'isOutput',SOAP_M_URI,null,'0','1','false'}; + private String[] objectType_type_info = new String[]{'objectType',SOAP_M_URI,null,'0','1','false'}; + private String[] scale_type_info = new String[]{'scale',SOAP_M_URI,null,'0','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues','description','name', 'dataType','isCollection','isInput','isOutput','objectType','scale','value'}; + } + public class FlowCategory { + public String description; + public MetadataService.FlowCategoryItems[] flowCategoryItems; + public String masterLabel; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] flowCategoryItems_type_info = new String[]{'flowCategoryItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'description','flowCategoryItems','masterLabel'}; + } + public class SharingTerritoryRule extends SharingBaseRule { + public String type = 'SharingTerritoryRule'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String accessLevel; + public MetadataService.AccountSharingRuleSettings accountSettings; + public String description; + public String label; + public MetadataService.SharedTo sharedTo; + private String[] accessLevel_type_info = new String[]{'accessLevel',SOAP_M_URI,null,'1','1','false'}; + private String[] accountSettings_type_info = new String[]{'accountSettings',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] sharedTo_type_info = new String[]{'sharedTo',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','accessLevel','accountSettings','description','label','sharedTo'}; + } + public class WorkflowFlowActionParameter { + public String name; + public String value; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'name','value'}; + } + public class ScontrolTranslation { + public String label; + public String name; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'label','name'}; + } + public class PlatformActionListItem { + public String actionName; + public String actionType; + public Integer sortOrder; + public String subtype; + private String[] actionName_type_info = new String[]{'actionName',SOAP_M_URI,null,'1','1','false'}; + private String[] actionType_type_info = new String[]{'actionType',SOAP_M_URI,null,'1','1','false'}; + private String[] sortOrder_type_info = new String[]{'sortOrder',SOAP_M_URI,null,'1','1','false'}; + private String[] subtype_type_info = new String[]{'subtype',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'actionName','actionType','sortOrder','subtype'}; + } + public class CallOptions_element { + public String client; + private String[] client_type_info = new String[]{'client',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'client'}; + } + public class ApprovalEntryCriteria { + public String booleanFilter; + public MetadataService.FilterItem[] criteriaItems; + public String formula; + private String[] booleanFilter_type_info = new String[]{'booleanFilter',SOAP_M_URI,null,'0','1','false'}; + private String[] criteriaItems_type_info = new String[]{'criteriaItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] formula_type_info = new String[]{'formula',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'booleanFilter','criteriaItems','formula'}; + } + public class CallCenterItem { + public String label; + public String name; + public String value; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'label','name','value'}; + } + public class Document extends MetadataWithContent { + public String type = 'Document'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String content; + private String[] content_type_info = new String[]{'content',SOAP_M_URI,null,'0','1','false'}; + public String description; + public Boolean internalUseOnly; + public String keywords; + public String name; + public Boolean public_x; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] internalUseOnly_type_info = new String[]{'internalUseOnly',SOAP_M_URI,null,'1','1','false'}; + private String[] keywords_type_info = new String[]{'keywords',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'0','1','false'}; + private String[] public_x_type_info = new String[]{'public',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','content', 'description','internalUseOnly','keywords','name','public_x'}; + } + public class LightningBolt { + public String category; + public MetadataService.LightningBoltFeatures[] lightningBoltFeatures; + public MetadataService.LightningBoltImages[] lightningBoltImages; + public MetadataService.LightningBoltItems[] lightningBoltItems; + public String masterLabel; + public String publisher; + public String summary; + private String[] category_type_info = new String[]{'category',SOAP_M_URI,null,'1','1','false'}; + private String[] lightningBoltFeatures_type_info = new String[]{'lightningBoltFeatures',SOAP_M_URI,null,'0','-1','false'}; + private String[] lightningBoltImages_type_info = new String[]{'lightningBoltImages',SOAP_M_URI,null,'0','-1','false'}; + private String[] lightningBoltItems_type_info = new String[]{'lightningBoltItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] publisher_type_info = new String[]{'publisher',SOAP_M_URI,null,'1','1','false'}; + private String[] summary_type_info = new String[]{'summary',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'category','lightningBoltFeatures','lightningBoltImages','lightningBoltItems','masterLabel','publisher','summary'}; + } + public class upsertMetadata_element { + public MetadataService.Metadata[] metadata; + private String[] metadata_type_info = new String[]{'metadata',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'metadata'}; + } + public class ProfileExternalDataSourceAccess { + public Boolean enabled; + public String externalDataSource; + private String[] enabled_type_info = new String[]{'enabled',SOAP_M_URI,null,'1','1','false'}; + private String[] externalDataSource_type_info = new String[]{'externalDataSource',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'enabled','externalDataSource'}; + } + public class ValueTypeField { + public MetadataService.ValueTypeField[] fields; + public String[] foreignKeyDomain; + public Boolean isForeignKey; + public Boolean isNameField; + public Integer minOccurs; + public String name; + public MetadataService.PicklistEntry[] picklistValues; + public String soapType; + public Boolean valueRequired; + private String[] fields_type_info = new String[]{'fields',SOAP_M_URI,null,'0','-1','false'}; + private String[] foreignKeyDomain_type_info = new String[]{'foreignKeyDomain',SOAP_M_URI,null,'0','-1','false'}; + private String[] isForeignKey_type_info = new String[]{'isForeignKey',SOAP_M_URI,null,'1','1','false'}; + private String[] isNameField_type_info = new String[]{'isNameField',SOAP_M_URI,null,'1','1','false'}; + private String[] minOccurs_type_info = new String[]{'minOccurs',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] picklistValues_type_info = new String[]{'picklistValues',SOAP_M_URI,null,'0','-1','false'}; + private String[] soapType_type_info = new String[]{'soapType',SOAP_M_URI,null,'1','1','false'}; + private String[] valueRequired_type_info = new String[]{'valueRequired',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'fields','foreignKeyDomain','isForeignKey','isNameField','minOccurs','name','picklistValues','soapType','valueRequired'}; + } + public class FlowAssignmentItem extends FlowBaseElement { + public String type = 'FlowAssignmentItem'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String assignToReference; + public String operator; + public MetadataService.FlowElementReferenceOrValue value; + private String[] assignToReference_type_info = new String[]{'assignToReference',SOAP_M_URI,null,'1','1','false'}; + private String[] operator_type_info = new String[]{'operator',SOAP_M_URI,null,'1','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues', 'assignToReference','operator','value'}; + } + public virtual class GlobalPicklistValue extends Metadata { + public String color; + public Boolean default_x; + public String description; + public Boolean isActive; + } + public class EmailFolder extends Folder { + public String type = 'EmailFolder'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String accessType; + public MetadataService.FolderShare[] folderShares; + public String name; + public String publicFolderAccess; + public MetadataService.SharedTo sharedTo; + private String[] accessType_type_info = new String[]{'accessType',SOAP_M_URI,null,'0','1','false'}; + private String[] folderShares_type_info = new String[]{'folderShares',SOAP_M_URI,null,'0','-1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] publicFolderAccess_type_info = new String[]{'publicFolderAccess',SOAP_M_URI,null,'0','1','false'}; + private String[] sharedTo_type_info = new String[]{'sharedTo',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','accessType','folderShares','name','publicFolderAccess','sharedTo'}; + } + public class renameMetadata_element { + public String type_x; + public String oldFullName; + public String newFullName; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] oldFullName_type_info = new String[]{'oldFullName',SOAP_M_URI,null,'1','1','false'}; + private String[] newFullName_type_info = new String[]{'newFullName',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'type_x','oldFullName','newFullName'}; + } + public class DelegateGroup extends Metadata { + public String type = 'DelegateGroup'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String[] customObjects; + public String[] groups; + public String label; + public Boolean loginAccess; + public String[] permissionSets; + public String[] profiles; + public String[] roles; + private String[] customObjects_type_info = new String[]{'customObjects',SOAP_M_URI,null,'0','-1','false'}; + private String[] groups_type_info = new String[]{'groups',SOAP_M_URI,null,'0','-1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] loginAccess_type_info = new String[]{'loginAccess',SOAP_M_URI,null,'1','1','false'}; + private String[] permissionSets_type_info = new String[]{'permissionSets',SOAP_M_URI,null,'0','-1','false'}; + private String[] profiles_type_info = new String[]{'profiles',SOAP_M_URI,null,'0','-1','false'}; + private String[] roles_type_info = new String[]{'roles',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'customObjects','groups','label','loginAccess','permissionSets','profiles','roles'}; + } + public class PicklistValue extends GlobalPicklistValue { + public String type = 'PicklistValue'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String color; + public Boolean default_x; + public String description; + public Boolean isActive; + private String[] color_type_info = new String[]{'color',SOAP_M_URI,null,'0','1','false'}; + private String[] default_x_type_info = new String[]{'default',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] isActive_type_info = new String[]{'isActive',SOAP_M_URI,null,'0','1','false'}; + public Boolean allowEmail; + public Boolean closed; + public String[] controllingFieldValues; + public Boolean converted; + public Boolean cssExposed; + public String forecastCategory; + public Boolean highPriority; + public Integer probability; + public String reverseRole; + public Boolean reviewed; + public Boolean won; + private String[] allowEmail_type_info = new String[]{'allowEmail',SOAP_M_URI,null,'0','1','false'}; + private String[] closed_type_info = new String[]{'closed',SOAP_M_URI,null,'0','1','false'}; + private String[] controllingFieldValues_type_info = new String[]{'controllingFieldValues',SOAP_M_URI,null,'0','-1','false'}; + private String[] converted_type_info = new String[]{'converted',SOAP_M_URI,null,'0','1','false'}; + private String[] cssExposed_type_info = new String[]{'cssExposed',SOAP_M_URI,null,'0','1','false'}; + private String[] forecastCategory_type_info = new String[]{'forecastCategory',SOAP_M_URI,null,'0','1','false'}; + private String[] highPriority_type_info = new String[]{'highPriority',SOAP_M_URI,null,'0','1','false'}; + private String[] probability_type_info = new String[]{'probability',SOAP_M_URI,null,'0','1','false'}; + private String[] reverseRole_type_info = new String[]{'reverseRole',SOAP_M_URI,null,'0','1','false'}; + private String[] reviewed_type_info = new String[]{'reviewed',SOAP_M_URI,null,'0','1','false'}; + private String[] won_type_info = new String[]{'won',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','color','default_x','description','isActive', 'allowEmail','closed','controllingFieldValues','converted','cssExposed','forecastCategory','highPriority','probability','reverseRole','reviewed','won'}; + } + public class SkillProfileAssignments { + public String[] profile; + private String[] profile_type_info = new String[]{'profile',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'profile'}; + } + public class EscalationAction { + public String assignedTo; + public String assignedToTemplate; + public String assignedToType; + public Integer minutesToEscalation; + public Boolean notifyCaseOwner; + public String[] notifyEmail; + public String notifyTo; + public String notifyToTemplate; + private String[] assignedTo_type_info = new String[]{'assignedTo',SOAP_M_URI,null,'0','1','false'}; + private String[] assignedToTemplate_type_info = new String[]{'assignedToTemplate',SOAP_M_URI,null,'0','1','false'}; + private String[] assignedToType_type_info = new String[]{'assignedToType',SOAP_M_URI,null,'0','1','false'}; + private String[] minutesToEscalation_type_info = new String[]{'minutesToEscalation',SOAP_M_URI,null,'0','1','false'}; + private String[] notifyCaseOwner_type_info = new String[]{'notifyCaseOwner',SOAP_M_URI,null,'0','1','false'}; + private String[] notifyEmail_type_info = new String[]{'notifyEmail',SOAP_M_URI,null,'0','-1','false'}; + private String[] notifyTo_type_info = new String[]{'notifyTo',SOAP_M_URI,null,'0','1','false'}; + private String[] notifyToTemplate_type_info = new String[]{'notifyToTemplate',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'assignedTo','assignedToTemplate','assignedToType','minutesToEscalation','notifyCaseOwner','notifyEmail','notifyTo','notifyToTemplate'}; + } + public class CaseSubjectParticle extends Metadata { + public String type = 'CaseSubjectParticle'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Integer index; + public String textField; + public String type_x; + private String[] index_type_info = new String[]{'index',SOAP_M_URI,null,'1','1','false'}; + private String[] textField_type_info = new String[]{'textField',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'index','textField','type_x'}; + } + public class WaveXmdDimensionSalesforceAction { + public Boolean enabled; + public String salesforceActionName; + public Integer sortIndex; + private String[] enabled_type_info = new String[]{'enabled',SOAP_M_URI,null,'1','1','false'}; + private String[] salesforceActionName_type_info = new String[]{'salesforceActionName',SOAP_M_URI,null,'1','1','false'}; + private String[] sortIndex_type_info = new String[]{'sortIndex',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'enabled','salesforceActionName','sortIndex'}; + } + public class Workflow extends Metadata { + public String type = 'Workflow'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.WorkflowAlert[] alerts; + public MetadataService.WorkflowFieldUpdate[] fieldUpdates; + public MetadataService.WorkflowFlowAction[] flowActions; + public MetadataService.WorkflowKnowledgePublish[] knowledgePublishes; + public MetadataService.WorkflowOutboundMessage[] outboundMessages; + public MetadataService.WorkflowRule[] rules; + public MetadataService.WorkflowSend[] send; + public MetadataService.WorkflowTask[] tasks; + private String[] alerts_type_info = new String[]{'alerts',SOAP_M_URI,null,'0','-1','false'}; + private String[] fieldUpdates_type_info = new String[]{'fieldUpdates',SOAP_M_URI,null,'0','-1','false'}; + private String[] flowActions_type_info = new String[]{'flowActions',SOAP_M_URI,null,'0','-1','false'}; + private String[] knowledgePublishes_type_info = new String[]{'knowledgePublishes',SOAP_M_URI,null,'0','-1','false'}; + private String[] outboundMessages_type_info = new String[]{'outboundMessages',SOAP_M_URI,null,'0','-1','false'}; + private String[] rules_type_info = new String[]{'rules',SOAP_M_URI,null,'0','-1','false'}; + private String[] send_type_info = new String[]{'send',SOAP_M_URI,null,'0','-1','false'}; + private String[] tasks_type_info = new String[]{'tasks',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'alerts','fieldUpdates','flowActions','knowledgePublishes','outboundMessages','rules','send','tasks'}; + } + public class Roles { + public String[] role; + private String[] role_type_info = new String[]{'role',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'role'}; + } + public class WorkflowKnowledgePublish extends WorkflowAction { + public String type = 'WorkflowKnowledgePublish'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String action; + public String description; + public String label; + public String language; + public Boolean protected_x; + private String[] action_type_info = new String[]{'action',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] language_type_info = new String[]{'language',SOAP_M_URI,null,'0','1','false'}; + private String[] protected_x_type_info = new String[]{'protected',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'action','description','label','language','protected_x'}; + } + public class CustomFieldTranslation { + public MetadataService.ObjectNameCaseValue[] caseValues; + public String gender; + public String help; + public String label; + public MetadataService.LookupFilterTranslation lookupFilter; + public String name; + public MetadataService.PicklistValueTranslation[] picklistValues; + public String relationshipLabel; + public String startsWith; + private String[] caseValues_type_info = new String[]{'caseValues',SOAP_M_URI,null,'0','-1','false'}; + private String[] gender_type_info = new String[]{'gender',SOAP_M_URI,null,'0','1','false'}; + private String[] help_type_info = new String[]{'help',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'0','1','false'}; + private String[] lookupFilter_type_info = new String[]{'lookupFilter',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] picklistValues_type_info = new String[]{'picklistValues',SOAP_M_URI,null,'0','-1','false'}; + private String[] relationshipLabel_type_info = new String[]{'relationshipLabel',SOAP_M_URI,null,'0','1','false'}; + private String[] startsWith_type_info = new String[]{'startsWith',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'caseValues','gender','help','label','lookupFilter','name','picklistValues','relationshipLabel','startsWith'}; + } + public class FileTypeDispositionAssignmentBean { + public String behavior; + public String fileType; + public Boolean securityRiskFileType; + private String[] behavior_type_info = new String[]{'behavior',SOAP_M_URI,null,'1','1','false'}; + private String[] fileType_type_info = new String[]{'fileType',SOAP_M_URI,null,'1','1','false'}; + private String[] securityRiskFileType_type_info = new String[]{'securityRiskFileType',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'behavior','fileType','securityRiskFileType'}; + } + public class AppWorkspaceConfig { + public MetadataService.WorkspaceMapping[] mappings; + private String[] mappings_type_info = new String[]{'mappings',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'mappings'}; + } + public class ScheduledRecommendationDetail { + public String channel; + public Boolean enabled; + public Integer rank; + public String recommendationAudience; + private String[] channel_type_info = new String[]{'channel',SOAP_M_URI,null,'0','1','false'}; + private String[] enabled_type_info = new String[]{'enabled',SOAP_M_URI,null,'0','1','false'}; + private String[] rank_type_info = new String[]{'rank',SOAP_M_URI,null,'0','1','false'}; + private String[] recommendationAudience_type_info = new String[]{'recommendationAudience',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'channel','enabled','rank','recommendationAudience'}; + } + public class UiFormulaRule { + public String booleanFilter; + public MetadataService.UiFormulaCriterion[] criteria; + private String[] booleanFilter_type_info = new String[]{'booleanFilter',SOAP_M_URI,null,'0','1','false'}; + private String[] criteria_type_info = new String[]{'criteria',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'booleanFilter','criteria'}; + } + public class VisualizationPlugin extends Metadata { + public String type = 'VisualizationPlugin'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String description; + public String developerName; + public String icon; + public String masterLabel; + public MetadataService.VisualizationResource[] visualizationResources; + public MetadataService.VisualizationType[] visualizationTypes; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] developerName_type_info = new String[]{'developerName',SOAP_M_URI,null,'1','1','false'}; + private String[] icon_type_info = new String[]{'icon',SOAP_M_URI,null,'1','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] visualizationResources_type_info = new String[]{'visualizationResources',SOAP_M_URI,null,'0','-1','false'}; + private String[] visualizationTypes_type_info = new String[]{'visualizationTypes',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'description','developerName','icon','masterLabel','visualizationResources','visualizationTypes'}; + } + public class DataPipeline { + public Double apiVersion; + public String label; + public String scriptType; + private String[] apiVersion_type_info = new String[]{'apiVersion',SOAP_M_URI,null,'1','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] scriptType_type_info = new String[]{'scriptType',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'apiVersion','label','scriptType'}; + } + public class QueueSobject { + public String sobjectType; + private String[] sobjectType_type_info = new String[]{'sobjectType',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'sobjectType'}; + } + public class ApexClass extends MetadataWithContent { + public String type = 'ApexClass'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String content; + private String[] content_type_info = new String[]{'content',SOAP_M_URI,null,'0','1','false'}; + public Double apiVersion; + public MetadataService.PackageVersion[] packageVersions; + public String status; + private String[] apiVersion_type_info = new String[]{'apiVersion',SOAP_M_URI,null,'1','1','false'}; + private String[] packageVersions_type_info = new String[]{'packageVersions',SOAP_M_URI,null,'0','-1','false'}; + private String[] status_type_info = new String[]{'status',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','content', 'apiVersion','packageVersions','status'}; + } + public class FieldMappingRow { + public String SObjectType; + public MetadataService.FieldMappingField[] fieldMappingFields; + public String fieldName; + public String mappingOperation; + private String[] SObjectType_type_info = new String[]{'SObjectType',SOAP_M_URI,null,'1','1','false'}; + private String[] fieldMappingFields_type_info = new String[]{'fieldMappingFields',SOAP_M_URI,null,'0','-1','false'}; + private String[] fieldName_type_info = new String[]{'fieldName',SOAP_M_URI,null,'1','1','false'}; + private String[] mappingOperation_type_info = new String[]{'mappingOperation',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'SObjectType','fieldMappingFields','fieldName','mappingOperation'}; + } + public class EntitlementTemplate extends Metadata { + public String type = 'EntitlementTemplate'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String businessHours; + public Integer casesPerEntitlement; + public String entitlementProcess; + public Boolean isPerIncident; + public Integer term; + public String type_x; + private String[] businessHours_type_info = new String[]{'businessHours',SOAP_M_URI,null,'0','1','false'}; + private String[] casesPerEntitlement_type_info = new String[]{'casesPerEntitlement',SOAP_M_URI,null,'0','1','false'}; + private String[] entitlementProcess_type_info = new String[]{'entitlementProcess',SOAP_M_URI,null,'0','1','false'}; + private String[] isPerIncident_type_info = new String[]{'isPerIncident',SOAP_M_URI,null,'0','1','false'}; + private String[] term_type_info = new String[]{'term',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'businessHours','casesPerEntitlement','entitlementProcess','isPerIncident','term','type_x'}; + } + public class Group_x extends Metadata { + public String type = 'Group_x'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean doesIncludeBosses; + public String name; + private String[] doesIncludeBosses_type_info = new String[]{'doesIncludeBosses',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'doesIncludeBosses','name'}; + } + public class WaveXmdRecordDisplayLookup { + public String recordDisplayField; + private String[] recordDisplayField_type_info = new String[]{'recordDisplayField',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'recordDisplayField'}; + } + public class IntegrationHubSettingsType { + public String canonicalName; + public String canonicalNameBindingChar; + public String description; + public Boolean isEnabled; + public Boolean isProtected; + public String masterLabel; + public String setupNamespace; + public String setupSimpleName; + public String uUID; + public String version; + public Integer versionBuild; + public Integer versionMajor; + public Integer versionMinor; + private String[] canonicalName_type_info = new String[]{'canonicalName',SOAP_M_URI,null,'0','1','false'}; + private String[] canonicalNameBindingChar_type_info = new String[]{'canonicalNameBindingChar',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] isEnabled_type_info = new String[]{'isEnabled',SOAP_M_URI,null,'0','1','false'}; + private String[] isProtected_type_info = new String[]{'isProtected',SOAP_M_URI,null,'0','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] setupNamespace_type_info = new String[]{'setupNamespace',SOAP_M_URI,null,'0','1','false'}; + private String[] setupSimpleName_type_info = new String[]{'setupSimpleName',SOAP_M_URI,null,'1','1','false'}; + private String[] uUID_type_info = new String[]{'uUID',SOAP_M_URI,null,'0','1','false'}; + private String[] version_type_info = new String[]{'version',SOAP_M_URI,null,'0','1','false'}; + private String[] versionBuild_type_info = new String[]{'versionBuild',SOAP_M_URI,null,'0','1','false'}; + private String[] versionMajor_type_info = new String[]{'versionMajor',SOAP_M_URI,null,'0','1','false'}; + private String[] versionMinor_type_info = new String[]{'versionMinor',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'canonicalName','canonicalNameBindingChar','description','isEnabled','isProtected','masterLabel','setupNamespace','setupSimpleName','uUID','version','versionBuild','versionMajor','versionMinor'}; + } + public class KnowledgeLanguageSettings { + public MetadataService.KnowledgeLanguage[] language; + private String[] language_type_info = new String[]{'language',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'language'}; + } + public class KnowledgeCaseField { + public String name; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'name'}; + } + public virtual class Metadata { + public String fullName; + } + public class DebuggingHeader_element { + public MetadataService.LogInfo[] categories; + public String debugLevel; + private String[] categories_type_info = new String[]{'categories',SOAP_M_URI,null,'0','-1','false'}; + private String[] debugLevel_type_info = new String[]{'debugLevel',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'categories','debugLevel'}; + } + public class ApprovalPageField { + public String[] field; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'field'}; + } + public class PermissionSetApexPageAccess { + public String apexPage; + public Boolean enabled; + private String[] apexPage_type_info = new String[]{'apexPage',SOAP_M_URI,null,'1','1','false'}; + private String[] enabled_type_info = new String[]{'enabled',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'apexPage','enabled'}; + } + public class CustomExperience { + public Boolean allowInternalUserLogin; + public MetadataService.CustomExperienceBranding branding; + public String changePasswordEmailTemplate; + public String emailFooterLogo; + public String emailFooterText; + public String emailSenderAddress; + public String emailSenderName; + public Boolean enableErrorPageOverridesForVisualforce; + public String forgotPasswordEmailTemplate; + public String picassoSite; + public String sObjectType; + public Boolean sendWelcomeEmail; + public String site; + public Boolean siteAsContainerEnabled; + public MetadataService.CustomExperienceTabSet tabs; + public String urlPathPrefix; + public String welcomeEmailTemplate; + private String[] allowInternalUserLogin_type_info = new String[]{'allowInternalUserLogin',SOAP_M_URI,null,'1','1','false'}; + private String[] branding_type_info = new String[]{'branding',SOAP_M_URI,null,'0','1','false'}; + private String[] changePasswordEmailTemplate_type_info = new String[]{'changePasswordEmailTemplate',SOAP_M_URI,null,'1','1','false'}; + private String[] emailFooterLogo_type_info = new String[]{'emailFooterLogo',SOAP_M_URI,null,'0','1','false'}; + private String[] emailFooterText_type_info = new String[]{'emailFooterText',SOAP_M_URI,null,'0','1','false'}; + private String[] emailSenderAddress_type_info = new String[]{'emailSenderAddress',SOAP_M_URI,null,'1','1','false'}; + private String[] emailSenderName_type_info = new String[]{'emailSenderName',SOAP_M_URI,null,'1','1','false'}; + private String[] enableErrorPageOverridesForVisualforce_type_info = new String[]{'enableErrorPageOverridesForVisualforce',SOAP_M_URI,null,'1','1','false'}; + private String[] forgotPasswordEmailTemplate_type_info = new String[]{'forgotPasswordEmailTemplate',SOAP_M_URI,null,'0','1','false'}; + private String[] picassoSite_type_info = new String[]{'picassoSite',SOAP_M_URI,null,'0','1','false'}; + private String[] sObjectType_type_info = new String[]{'sObjectType',SOAP_M_URI,null,'1','1','false'}; + private String[] sendWelcomeEmail_type_info = new String[]{'sendWelcomeEmail',SOAP_M_URI,null,'1','1','false'}; + private String[] site_type_info = new String[]{'site',SOAP_M_URI,null,'1','1','false'}; + private String[] siteAsContainerEnabled_type_info = new String[]{'siteAsContainerEnabled',SOAP_M_URI,null,'1','1','false'}; + private String[] tabs_type_info = new String[]{'tabs',SOAP_M_URI,null,'0','1','false'}; + private String[] urlPathPrefix_type_info = new String[]{'urlPathPrefix',SOAP_M_URI,null,'0','1','false'}; + private String[] welcomeEmailTemplate_type_info = new String[]{'welcomeEmailTemplate',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'allowInternalUserLogin','branding','changePasswordEmailTemplate','emailFooterLogo','emailFooterText','emailSenderAddress','emailSenderName','enableErrorPageOverridesForVisualforce','forgotPasswordEmailTemplate','picassoSite','sObjectType','sendWelcomeEmail','site','siteAsContainerEnabled','tabs','urlPathPrefix','welcomeEmailTemplate'}; + } + public class ExternalServiceRegistration extends Metadata { + public String type = 'ExternalServiceRegistration'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String description; + public String label; + public String namedCredential; + public String schema; + public String schemaType; + public String schemaUrl; + public String status; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] namedCredential_type_info = new String[]{'namedCredential',SOAP_M_URI,null,'0','1','false'}; + private String[] schema_type_info = new String[]{'schema',SOAP_M_URI,null,'0','1','false'}; + private String[] schemaType_type_info = new String[]{'schemaType',SOAP_M_URI,null,'0','1','false'}; + private String[] schemaUrl_type_info = new String[]{'schemaUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] status_type_info = new String[]{'status',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'description','label','namedCredential','schema','schemaType','schemaUrl','status'}; + } + public class FlowChoice extends FlowElement { + public String type = 'FlowChoice'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String description; + public String name; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + public String choiceText; + public String dataType; + public MetadataService.FlowChoiceUserInput userInput; + public MetadataService.FlowElementReferenceOrValue value; + private String[] choiceText_type_info = new String[]{'choiceText',SOAP_M_URI,null,'1','1','false'}; + private String[] dataType_type_info = new String[]{'dataType',SOAP_M_URI,null,'1','1','false'}; + private String[] userInput_type_info = new String[]{'userInput',SOAP_M_URI,null,'0','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues','description','name', 'choiceText','dataType','userInput','value'}; + } + public class WaveXmdDimensionMember { + public String color; + public String label; + public String member; + public Integer sortIndex; + private String[] color_type_info = new String[]{'color',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'0','1','false'}; + private String[] member_type_info = new String[]{'member',SOAP_M_URI,null,'1','1','false'}; + private String[] sortIndex_type_info = new String[]{'sortIndex',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'color','label','member','sortIndex'}; + } + public class ConnectedApp extends Metadata { + public String type = 'ConnectedApp'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.ConnectedAppAttribute[] attributes; + public MetadataService.ConnectedAppCanvasConfig canvasConfig; + public String contactEmail; + public String contactPhone; + public String description; + public String iconUrl; + public String infoUrl; + public MetadataService.ConnectedAppIpRange[] ipRanges; + public String label; + public String logoUrl; + public MetadataService.ConnectedAppMobileDetailConfig mobileAppConfig; + public String mobileStartUrl; + public MetadataService.ConnectedAppOauthConfig oauthConfig; + public String plugin; + public MetadataService.ConnectedAppSamlConfig samlConfig; + public String startUrl; + private String[] attributes_type_info = new String[]{'attributes',SOAP_M_URI,null,'0','-1','false'}; + private String[] canvasConfig_type_info = new String[]{'canvasConfig',SOAP_M_URI,null,'0','1','false'}; + private String[] contactEmail_type_info = new String[]{'contactEmail',SOAP_M_URI,null,'1','1','false'}; + private String[] contactPhone_type_info = new String[]{'contactPhone',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] iconUrl_type_info = new String[]{'iconUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] infoUrl_type_info = new String[]{'infoUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] ipRanges_type_info = new String[]{'ipRanges',SOAP_M_URI,null,'0','-1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] logoUrl_type_info = new String[]{'logoUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] mobileAppConfig_type_info = new String[]{'mobileAppConfig',SOAP_M_URI,null,'0','1','false'}; + private String[] mobileStartUrl_type_info = new String[]{'mobileStartUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] oauthConfig_type_info = new String[]{'oauthConfig',SOAP_M_URI,null,'0','1','false'}; + private String[] plugin_type_info = new String[]{'plugin',SOAP_M_URI,null,'0','1','false'}; + private String[] samlConfig_type_info = new String[]{'samlConfig',SOAP_M_URI,null,'0','1','false'}; + private String[] startUrl_type_info = new String[]{'startUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'attributes','canvasConfig','contactEmail','contactPhone','description','iconUrl','infoUrl','ipRanges','label','logoUrl','mobileAppConfig','mobileStartUrl','oauthConfig','plugin','samlConfig','startUrl'}; + } + public class describeMetadata_element { + public Double asOfVersion; + private String[] asOfVersion_type_info = new String[]{'asOfVersion',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'asOfVersion'}; + } + public class LayoutItem { + public MetadataService.AnalyticsCloudComponentLayoutItem analyticsCloudComponent; + public String behavior; + public String canvas; + public String component; + public String customLink; + public Boolean emptySpace; + public String field; + public Integer height; + public String page_x; + public MetadataService.ReportChartComponentLayoutItem reportChartComponent; + public String scontrol; + public Boolean showLabel; + public Boolean showScrollbars; + public String width; + private String[] analyticsCloudComponent_type_info = new String[]{'analyticsCloudComponent',SOAP_M_URI,null,'0','1','false'}; + private String[] behavior_type_info = new String[]{'behavior',SOAP_M_URI,null,'0','1','false'}; + private String[] canvas_type_info = new String[]{'canvas',SOAP_M_URI,null,'0','1','false'}; + private String[] component_type_info = new String[]{'component',SOAP_M_URI,null,'0','1','false'}; + private String[] customLink_type_info = new String[]{'customLink',SOAP_M_URI,null,'0','1','false'}; + private String[] emptySpace_type_info = new String[]{'emptySpace',SOAP_M_URI,null,'0','1','false'}; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'0','1','false'}; + private String[] height_type_info = new String[]{'height',SOAP_M_URI,null,'0','1','false'}; + private String[] page_x_type_info = new String[]{'page',SOAP_M_URI,null,'0','1','false'}; + private String[] reportChartComponent_type_info = new String[]{'reportChartComponent',SOAP_M_URI,null,'0','1','false'}; + private String[] scontrol_type_info = new String[]{'scontrol',SOAP_M_URI,null,'0','1','false'}; + private String[] showLabel_type_info = new String[]{'showLabel',SOAP_M_URI,null,'0','1','false'}; + private String[] showScrollbars_type_info = new String[]{'showScrollbars',SOAP_M_URI,null,'0','1','false'}; + private String[] width_type_info = new String[]{'width',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'analyticsCloudComponent','behavior','canvas','component','customLink','emptySpace','field','height','page_x','reportChartComponent','scontrol','showLabel','showScrollbars','width'}; + } + public class Portal extends Metadata { + public String type = 'Portal'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean active; + public String admin; + public String defaultLanguage; + public String description; + public String emailSenderAddress; + public String emailSenderName; + public Boolean enableSelfCloseCase; + public String footerDocument; + public String forgotPassTemplate; + public String headerDocument; + public Boolean isSelfRegistrationActivated; + public String loginHeaderDocument; + public String logoDocument; + public String logoutUrl; + public String newCommentTemplate; + public String newPassTemplate; + public String newUserTemplate; + public String ownerNotifyTemplate; + public String selfRegNewUserUrl; + public String selfRegUserDefaultProfile; + public String selfRegUserDefaultRole; + public String selfRegUserTemplate; + public Boolean showActionConfirmation; + public String stylesheetDocument; + public String type_x; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'1','1','false'}; + private String[] admin_type_info = new String[]{'admin',SOAP_M_URI,null,'0','1','false'}; + private String[] defaultLanguage_type_info = new String[]{'defaultLanguage',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] emailSenderAddress_type_info = new String[]{'emailSenderAddress',SOAP_M_URI,null,'1','1','false'}; + private String[] emailSenderName_type_info = new String[]{'emailSenderName',SOAP_M_URI,null,'1','1','false'}; + private String[] enableSelfCloseCase_type_info = new String[]{'enableSelfCloseCase',SOAP_M_URI,null,'0','1','false'}; + private String[] footerDocument_type_info = new String[]{'footerDocument',SOAP_M_URI,null,'0','1','false'}; + private String[] forgotPassTemplate_type_info = new String[]{'forgotPassTemplate',SOAP_M_URI,null,'0','1','false'}; + private String[] headerDocument_type_info = new String[]{'headerDocument',SOAP_M_URI,null,'0','1','false'}; + private String[] isSelfRegistrationActivated_type_info = new String[]{'isSelfRegistrationActivated',SOAP_M_URI,null,'0','1','false'}; + private String[] loginHeaderDocument_type_info = new String[]{'loginHeaderDocument',SOAP_M_URI,null,'0','1','false'}; + private String[] logoDocument_type_info = new String[]{'logoDocument',SOAP_M_URI,null,'0','1','false'}; + private String[] logoutUrl_type_info = new String[]{'logoutUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] newCommentTemplate_type_info = new String[]{'newCommentTemplate',SOAP_M_URI,null,'0','1','false'}; + private String[] newPassTemplate_type_info = new String[]{'newPassTemplate',SOAP_M_URI,null,'0','1','false'}; + private String[] newUserTemplate_type_info = new String[]{'newUserTemplate',SOAP_M_URI,null,'0','1','false'}; + private String[] ownerNotifyTemplate_type_info = new String[]{'ownerNotifyTemplate',SOAP_M_URI,null,'0','1','false'}; + private String[] selfRegNewUserUrl_type_info = new String[]{'selfRegNewUserUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] selfRegUserDefaultProfile_type_info = new String[]{'selfRegUserDefaultProfile',SOAP_M_URI,null,'0','1','false'}; + private String[] selfRegUserDefaultRole_type_info = new String[]{'selfRegUserDefaultRole',SOAP_M_URI,null,'0','1','false'}; + private String[] selfRegUserTemplate_type_info = new String[]{'selfRegUserTemplate',SOAP_M_URI,null,'0','1','false'}; + private String[] showActionConfirmation_type_info = new String[]{'showActionConfirmation',SOAP_M_URI,null,'0','1','false'}; + private String[] stylesheetDocument_type_info = new String[]{'stylesheetDocument',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'active','admin','defaultLanguage','description','emailSenderAddress','emailSenderName','enableSelfCloseCase','footerDocument','forgotPassTemplate','headerDocument','isSelfRegistrationActivated','loginHeaderDocument','logoDocument','logoutUrl','newCommentTemplate','newPassTemplate','newUserTemplate','ownerNotifyTemplate','selfRegNewUserUrl','selfRegUserDefaultProfile','selfRegUserDefaultRole','selfRegUserTemplate','showActionConfirmation','stylesheetDocument','type_x'}; + } + public class ContentAssetVersions { + public MetadataService.ContentAssetVersion[] version; + private String[] version_type_info = new String[]{'version',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'version'}; + } + public class RunTestSuccess { + public String id; + public String methodName; + public String name; + public String namespace; + public Boolean seeAllData; + public Double time_x; + private String[] id_type_info = new String[]{'id',SOAP_M_URI,null,'1','1','false'}; + private String[] methodName_type_info = new String[]{'methodName',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] namespace_type_info = new String[]{'namespace',SOAP_M_URI,null,'1','1','true'}; + private String[] seeAllData_type_info = new String[]{'seeAllData',SOAP_M_URI,null,'0','1','false'}; + private String[] time_x_type_info = new String[]{'time',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'id','methodName','name','namespace','seeAllData','time_x'}; + } + public class PermissionSetExternalDataSourceAccess { + public Boolean enabled; + public String externalDataSource; + private String[] enabled_type_info = new String[]{'enabled',SOAP_M_URI,null,'1','1','false'}; + private String[] externalDataSource_type_info = new String[]{'externalDataSource',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'enabled','externalDataSource'}; + } + public class CustomDataType extends Metadata { + public String type = 'CustomDataType'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.CustomDataTypeComponent[] customDataTypeComponents; + public String description; + public String displayFormula; + public Boolean editComponentsOnSeparateLines; + public String label; + public Boolean rightAligned; + public Boolean supportComponentsInReports; + private String[] customDataTypeComponents_type_info = new String[]{'customDataTypeComponents',SOAP_M_URI,null,'0','-1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] displayFormula_type_info = new String[]{'displayFormula',SOAP_M_URI,null,'0','1','false'}; + private String[] editComponentsOnSeparateLines_type_info = new String[]{'editComponentsOnSeparateLines',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] rightAligned_type_info = new String[]{'rightAligned',SOAP_M_URI,null,'0','1','false'}; + private String[] supportComponentsInReports_type_info = new String[]{'supportComponentsInReports',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'customDataTypeComponents','description','displayFormula','editComponentsOnSeparateLines','label','rightAligned','supportComponentsInReports'}; + } + public class FlowConnector extends FlowBaseElement { + public String type = 'FlowConnector'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String targetReference; + private String[] targetReference_type_info = new String[]{'targetReference',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues', 'targetReference'}; + } + public class EventDelivery extends Metadata { + public String type = 'EventDelivery'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.EventParameterMap[] eventParameters; + public String eventSubscription; + public String referenceData; + public String type_x; + private String[] eventParameters_type_info = new String[]{'eventParameters',SOAP_M_URI,null,'0','-1','false'}; + private String[] eventSubscription_type_info = new String[]{'eventSubscription',SOAP_M_URI,null,'1','1','false'}; + private String[] referenceData_type_info = new String[]{'referenceData',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'eventParameters','eventSubscription','referenceData','type_x'}; + } + public class LiveMessageSettings { + public Boolean enableLiveMessage; + private String[] enableLiveMessage_type_info = new String[]{'enableLiveMessage',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'enableLiveMessage'}; + } + public class ListMetadataQuery { + public String folder; + public String type_x; + private String[] folder_type_info = new String[]{'folder',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'folder','type_x'}; + } + public class LogInfo { + public String category; + public String level; + private String[] category_type_info = new String[]{'category',SOAP_M_URI,null,'1','1','false'}; + private String[] level_type_info = new String[]{'level',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'category','level'}; + } + public class SharedTo { + public String allCustomerPortalUsers; + public String allInternalUsers; + public String allPartnerUsers; + public String[] channelProgramGroup; + public String[] channelProgramGroups; + public String[] group_x; + public String[] groups; + public String[] managerSubordinates; + public String[] managers; + public String[] portalRole; + public String[] portalRoleAndSubordinates; + public String[] queue; + public String[] role; + public String[] roleAndSubordinates; + public String[] roleAndSubordinatesInternal; + public String[] roles; + public String[] rolesAndSubordinates; + public String[] territories; + public String[] territoriesAndSubordinates; + public String[] territory; + public String[] territoryAndSubordinates; + private String[] allCustomerPortalUsers_type_info = new String[]{'allCustomerPortalUsers',SOAP_M_URI,null,'0','1','false'}; + private String[] allInternalUsers_type_info = new String[]{'allInternalUsers',SOAP_M_URI,null,'0','1','false'}; + private String[] allPartnerUsers_type_info = new String[]{'allPartnerUsers',SOAP_M_URI,null,'0','1','false'}; + private String[] channelProgramGroup_type_info = new String[]{'channelProgramGroup',SOAP_M_URI,null,'0','-1','false'}; + private String[] channelProgramGroups_type_info = new String[]{'channelProgramGroups',SOAP_M_URI,null,'0','-1','false'}; + private String[] group_x_type_info = new String[]{'group',SOAP_M_URI,null,'0','-1','false'}; + private String[] groups_type_info = new String[]{'groups',SOAP_M_URI,null,'0','-1','false'}; + private String[] managerSubordinates_type_info = new String[]{'managerSubordinates',SOAP_M_URI,null,'0','-1','false'}; + private String[] managers_type_info = new String[]{'managers',SOAP_M_URI,null,'0','-1','false'}; + private String[] portalRole_type_info = new String[]{'portalRole',SOAP_M_URI,null,'0','-1','false'}; + private String[] portalRoleAndSubordinates_type_info = new String[]{'portalRoleAndSubordinates',SOAP_M_URI,null,'0','-1','false'}; + private String[] queue_type_info = new String[]{'queue',SOAP_M_URI,null,'0','-1','false'}; + private String[] role_type_info = new String[]{'role',SOAP_M_URI,null,'0','-1','false'}; + private String[] roleAndSubordinates_type_info = new String[]{'roleAndSubordinates',SOAP_M_URI,null,'0','-1','false'}; + private String[] roleAndSubordinatesInternal_type_info = new String[]{'roleAndSubordinatesInternal',SOAP_M_URI,null,'0','-1','false'}; + private String[] roles_type_info = new String[]{'roles',SOAP_M_URI,null,'0','-1','false'}; + private String[] rolesAndSubordinates_type_info = new String[]{'rolesAndSubordinates',SOAP_M_URI,null,'0','-1','false'}; + private String[] territories_type_info = new String[]{'territories',SOAP_M_URI,null,'0','-1','false'}; + private String[] territoriesAndSubordinates_type_info = new String[]{'territoriesAndSubordinates',SOAP_M_URI,null,'0','-1','false'}; + private String[] territory_type_info = new String[]{'territory',SOAP_M_URI,null,'0','-1','false'}; + private String[] territoryAndSubordinates_type_info = new String[]{'territoryAndSubordinates',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'allCustomerPortalUsers','allInternalUsers','allPartnerUsers','channelProgramGroup','channelProgramGroups','group_x','groups','managerSubordinates','managers','portalRole','portalRoleAndSubordinates','queue','role','roleAndSubordinates','roleAndSubordinatesInternal','roles','rolesAndSubordinates','territories','territoriesAndSubordinates','territory','territoryAndSubordinates'}; + } + public class PlatformCachePartitionType { + public Integer allocatedCapacity; + public Integer allocatedPurchasedCapacity; + public Integer allocatedTrialCapacity; + public String cacheType; + private String[] allocatedCapacity_type_info = new String[]{'allocatedCapacity',SOAP_M_URI,null,'1','1','false'}; + private String[] allocatedPurchasedCapacity_type_info = new String[]{'allocatedPurchasedCapacity',SOAP_M_URI,null,'1','1','false'}; + private String[] allocatedTrialCapacity_type_info = new String[]{'allocatedTrialCapacity',SOAP_M_URI,null,'1','1','false'}; + private String[] cacheType_type_info = new String[]{'cacheType',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'allocatedCapacity','allocatedPurchasedCapacity','allocatedTrialCapacity','cacheType'}; + } + public class ReputationPointsRule { + public String eventType; + public Integer points; + private String[] eventType_type_info = new String[]{'eventType',SOAP_M_URI,null,'1','1','false'}; + private String[] points_type_info = new String[]{'points',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'eventType','points'}; + } + public class FlowRecordLookup extends FlowNode { + public String type = 'FlowRecordLookup'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String description; + public String name; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + public String label; + public Integer locationX; + public Integer locationY; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] locationX_type_info = new String[]{'locationX',SOAP_M_URI,null,'1','1','false'}; + private String[] locationY_type_info = new String[]{'locationY',SOAP_M_URI,null,'1','1','false'}; + public Boolean assignNullValuesIfNoRecordsFound; + public MetadataService.FlowConnector connector; + public MetadataService.FlowConnector faultConnector; + public MetadataService.FlowRecordFilter[] filters; + public String object_x; + public MetadataService.FlowOutputFieldAssignment[] outputAssignments; + public String outputReference; + public String[] queriedFields; + public String sortField; + public String sortOrder; + private String[] assignNullValuesIfNoRecordsFound_type_info = new String[]{'assignNullValuesIfNoRecordsFound',SOAP_M_URI,null,'0','1','false'}; + private String[] connector_type_info = new String[]{'connector',SOAP_M_URI,null,'0','1','false'}; + private String[] faultConnector_type_info = new String[]{'faultConnector',SOAP_M_URI,null,'0','1','false'}; + private String[] filters_type_info = new String[]{'filters',SOAP_M_URI,null,'0','-1','false'}; + private String[] object_x_type_info = new String[]{'object',SOAP_M_URI,null,'1','1','false'}; + private String[] outputAssignments_type_info = new String[]{'outputAssignments',SOAP_M_URI,null,'0','-1','false'}; + private String[] outputReference_type_info = new String[]{'outputReference',SOAP_M_URI,null,'0','1','false'}; + private String[] queriedFields_type_info = new String[]{'queriedFields',SOAP_M_URI,null,'0','-1','false'}; + private String[] sortField_type_info = new String[]{'sortField',SOAP_M_URI,null,'0','1','false'}; + private String[] sortOrder_type_info = new String[]{'sortOrder',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues','description','name','label','locationX','locationY', 'assignNullValuesIfNoRecordsFound','connector','faultConnector','filters','object_x','outputAssignments','outputReference','queriedFields','sortField','sortOrder'}; + } + public class QuickActionLayoutColumn { + public MetadataService.QuickActionLayoutItem[] quickActionLayoutItems; + private String[] quickActionLayoutItems_type_info = new String[]{'quickActionLayoutItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'quickActionLayoutItems'}; + } + public class ForecastingDisplayedFamilySettings { + public String productFamily; + private String[] productFamily_type_info = new String[]{'productFamily',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'productFamily'}; + } + public class ReputationBranding { + public String smallImage; + private String[] smallImage_type_info = new String[]{'smallImage',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'smallImage'}; + } + public class ReputationLevel { + public MetadataService.ReputationBranding branding; + public String label; + public Double lowerThreshold; + private String[] branding_type_info = new String[]{'branding',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'0','1','false'}; + private String[] lowerThreshold_type_info = new String[]{'lowerThreshold',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'branding','label','lowerThreshold'}; + } + public class ContentAssetRelationships { + public MetadataService.ContentAssetLink[] insightsApplication; + public MetadataService.ContentAssetLink[] network; + public MetadataService.ContentAssetLink organization; + public MetadataService.ContentAssetLink[] workspace; + private String[] insightsApplication_type_info = new String[]{'insightsApplication',SOAP_M_URI,null,'0','-1','false'}; + private String[] network_type_info = new String[]{'network',SOAP_M_URI,null,'0','-1','false'}; + private String[] organization_type_info = new String[]{'organization',SOAP_M_URI,null,'0','1','false'}; + private String[] workspace_type_info = new String[]{'workspace',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'insightsApplication','network','organization','workspace'}; + } + public class ProfileLayoutAssignment { + public String layout; + public String recordType; + private String[] layout_type_info = new String[]{'layout',SOAP_M_URI,null,'1','1','false'}; + private String[] recordType_type_info = new String[]{'recordType',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'layout','recordType'}; + } + public class QuickActionTranslation { + public String label; + public String name; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'label','name'}; + } + public class ReportTypeTranslation { + public String description; + public String label; + public String name; + public MetadataService.ReportTypeSectionTranslation[] sections; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] sections_type_info = new String[]{'sections',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'description','label','name','sections'}; + } + public class ActionLinkGroupTemplate extends Metadata { + public String type = 'ActionLinkGroupTemplate'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.ActionLinkTemplate[] actionLinkTemplates; + public String category; + public String executionsAllowed; + public Integer hoursUntilExpiration; + public Boolean isPublished; + public String name; + private String[] actionLinkTemplates_type_info = new String[]{'actionLinkTemplates',SOAP_M_URI,null,'0','-1','false'}; + private String[] category_type_info = new String[]{'category',SOAP_M_URI,null,'1','1','false'}; + private String[] executionsAllowed_type_info = new String[]{'executionsAllowed',SOAP_M_URI,null,'1','1','false'}; + private String[] hoursUntilExpiration_type_info = new String[]{'hoursUntilExpiration',SOAP_M_URI,null,'0','1','false'}; + private String[] isPublished_type_info = new String[]{'isPublished',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'actionLinkTemplates','category','executionsAllowed','hoursUntilExpiration','isPublished','name'}; + } + public class ReportDataCategoryFilter { + public String dataCategory; + public String dataCategoryGroup; + public String operator; + private String[] dataCategory_type_info = new String[]{'dataCategory',SOAP_M_URI,null,'1','1','false'}; + private String[] dataCategoryGroup_type_info = new String[]{'dataCategoryGroup',SOAP_M_URI,null,'1','1','false'}; + private String[] operator_type_info = new String[]{'operator',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'dataCategory','dataCategoryGroup','operator'}; + } + public class ReportBucketFieldSourceValue { + public String from_x; + public String sourceValue; + public String to; + private String[] from_x_type_info = new String[]{'from',SOAP_M_URI,null,'0','1','false'}; + private String[] sourceValue_type_info = new String[]{'sourceValue',SOAP_M_URI,null,'0','1','false'}; + private String[] to_type_info = new String[]{'to',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'from_x','sourceValue','to'}; + } + public class ValidationRuleTranslation { + public String errorMessage; + public String name; + private String[] errorMessage_type_info = new String[]{'errorMessage',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'errorMessage','name'}; + } + public class DocumentFolder extends Folder { + public String type = 'DocumentFolder'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String accessType; + public MetadataService.FolderShare[] folderShares; + public String name; + public String publicFolderAccess; + public MetadataService.SharedTo sharedTo; + private String[] accessType_type_info = new String[]{'accessType',SOAP_M_URI,null,'0','1','false'}; + private String[] folderShares_type_info = new String[]{'folderShares',SOAP_M_URI,null,'0','-1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] publicFolderAccess_type_info = new String[]{'publicFolderAccess',SOAP_M_URI,null,'0','1','false'}; + private String[] sharedTo_type_info = new String[]{'sharedTo',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','accessType','folderShares','name','publicFolderAccess','sharedTo'}; + } + public class createMetadataResponse_element { + public MetadataService.SaveResult[] result; + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class Dashboard extends Metadata { + public String type = 'Dashboard'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String backgroundEndColor; + public String backgroundFadeDirection; + public String backgroundStartColor; + public String chartTheme; + public String colorPalette; + public String dashboardChartTheme; + public String dashboardColorPalette; + public MetadataService.DashboardFilter[] dashboardFilters; + public MetadataService.DashboardGridLayout dashboardGridLayout; + public String dashboardResultRefreshedDate; + public String dashboardResultRunningUser; + public String dashboardType; + public String description; + public String folderName; + public Boolean isGridLayout; + public MetadataService.DashboardComponentSection leftSection; + public MetadataService.DashboardComponentSection middleSection; + public Integer numSubscriptions; + public MetadataService.DashboardComponentSection rightSection; + public String runningUser; + public String textColor; + public String title; + public String titleColor; + public Integer titleSize; + private String[] backgroundEndColor_type_info = new String[]{'backgroundEndColor',SOAP_M_URI,null,'1','1','false'}; + private String[] backgroundFadeDirection_type_info = new String[]{'backgroundFadeDirection',SOAP_M_URI,null,'1','1','false'}; + private String[] backgroundStartColor_type_info = new String[]{'backgroundStartColor',SOAP_M_URI,null,'1','1','false'}; + private String[] chartTheme_type_info = new String[]{'chartTheme',SOAP_M_URI,null,'0','1','false'}; + private String[] colorPalette_type_info = new String[]{'colorPalette',SOAP_M_URI,null,'0','1','false'}; + private String[] dashboardChartTheme_type_info = new String[]{'dashboardChartTheme',SOAP_M_URI,null,'0','1','false'}; + private String[] dashboardColorPalette_type_info = new String[]{'dashboardColorPalette',SOAP_M_URI,null,'0','1','false'}; + private String[] dashboardFilters_type_info = new String[]{'dashboardFilters',SOAP_M_URI,null,'0','-1','false'}; + private String[] dashboardGridLayout_type_info = new String[]{'dashboardGridLayout',SOAP_M_URI,null,'0','1','false'}; + private String[] dashboardResultRefreshedDate_type_info = new String[]{'dashboardResultRefreshedDate',SOAP_M_URI,null,'0','1','false'}; + private String[] dashboardResultRunningUser_type_info = new String[]{'dashboardResultRunningUser',SOAP_M_URI,null,'0','1','false'}; + private String[] dashboardType_type_info = new String[]{'dashboardType',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] folderName_type_info = new String[]{'folderName',SOAP_M_URI,null,'0','1','false'}; + private String[] isGridLayout_type_info = new String[]{'isGridLayout',SOAP_M_URI,null,'0','1','false'}; + private String[] leftSection_type_info = new String[]{'leftSection',SOAP_M_URI,null,'0','1','false'}; + private String[] middleSection_type_info = new String[]{'middleSection',SOAP_M_URI,null,'0','1','false'}; + private String[] numSubscriptions_type_info = new String[]{'numSubscriptions',SOAP_M_URI,null,'0','1','false'}; + private String[] rightSection_type_info = new String[]{'rightSection',SOAP_M_URI,null,'0','1','false'}; + private String[] runningUser_type_info = new String[]{'runningUser',SOAP_M_URI,null,'0','1','false'}; + private String[] textColor_type_info = new String[]{'textColor',SOAP_M_URI,null,'1','1','false'}; + private String[] title_type_info = new String[]{'title',SOAP_M_URI,null,'1','1','false'}; + private String[] titleColor_type_info = new String[]{'titleColor',SOAP_M_URI,null,'1','1','false'}; + private String[] titleSize_type_info = new String[]{'titleSize',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'backgroundEndColor','backgroundFadeDirection','backgroundStartColor','chartTheme','colorPalette','dashboardChartTheme','dashboardColorPalette','dashboardFilters','dashboardGridLayout','dashboardResultRefreshedDate','dashboardResultRunningUser','dashboardType','description','folderName','isGridLayout','leftSection','middleSection','numSubscriptions','rightSection','runningUser','textColor','title','titleColor','titleSize'}; + } + public class PersonListSettings { + public Boolean enablePersonList; + private String[] enablePersonList_type_info = new String[]{'enablePersonList',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'enablePersonList'}; + } + public class KeyboardShortcuts { + public MetadataService.CustomShortcut[] customShortcuts; + public MetadataService.DefaultShortcut[] defaultShortcuts; + private String[] customShortcuts_type_info = new String[]{'customShortcuts',SOAP_M_URI,null,'0','-1','false'}; + private String[] defaultShortcuts_type_info = new String[]{'defaultShortcuts',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'customShortcuts','defaultShortcuts'}; + } + public class ManagedTopic { + public String managedTopicType; + public String name; + public String parentName; + public Integer position; + public String topicDescription; + private String[] managedTopicType_type_info = new String[]{'managedTopicType',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] parentName_type_info = new String[]{'parentName',SOAP_M_URI,null,'1','1','false'}; + private String[] position_type_info = new String[]{'position',SOAP_M_URI,null,'1','1','false'}; + private String[] topicDescription_type_info = new String[]{'topicDescription',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'managedTopicType','name','parentName','position','topicDescription'}; + } + public class SkillAssignments { + public MetadataService.SkillProfileAssignments profiles; + public MetadataService.SkillUserAssignments users; + private String[] profiles_type_info = new String[]{'profiles',SOAP_M_URI,null,'0','1','false'}; + private String[] users_type_info = new String[]{'users',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'profiles','users'}; + } + public class WorkflowEmailRecipient { + public String field; + public String recipient; + public String type_x; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'0','1','false'}; + private String[] recipient_type_info = new String[]{'recipient',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'field','recipient','type_x'}; + } + public class CodeCoverageResult { + public MetadataService.CodeLocation[] dmlInfo; + public String id; + public MetadataService.CodeLocation[] locationsNotCovered; + public MetadataService.CodeLocation[] methodInfo; + public String name; + public String namespace; + public Integer numLocations; + public Integer numLocationsNotCovered; + public MetadataService.CodeLocation[] soqlInfo; + public MetadataService.CodeLocation[] soslInfo; + public String type_x; + private String[] dmlInfo_type_info = new String[]{'dmlInfo',SOAP_M_URI,null,'0','-1','false'}; + private String[] id_type_info = new String[]{'id',SOAP_M_URI,null,'1','1','false'}; + private String[] locationsNotCovered_type_info = new String[]{'locationsNotCovered',SOAP_M_URI,null,'0','-1','false'}; + private String[] methodInfo_type_info = new String[]{'methodInfo',SOAP_M_URI,null,'0','-1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] namespace_type_info = new String[]{'namespace',SOAP_M_URI,null,'1','1','true'}; + private String[] numLocations_type_info = new String[]{'numLocations',SOAP_M_URI,null,'1','1','false'}; + private String[] numLocationsNotCovered_type_info = new String[]{'numLocationsNotCovered',SOAP_M_URI,null,'1','1','false'}; + private String[] soqlInfo_type_info = new String[]{'soqlInfo',SOAP_M_URI,null,'0','-1','false'}; + private String[] soslInfo_type_info = new String[]{'soslInfo',SOAP_M_URI,null,'0','-1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'dmlInfo','id','locationsNotCovered','methodInfo','name','namespace','numLocations','numLocationsNotCovered','soqlInfo','soslInfo','type_x'}; + } + public class RecordTypePicklistValue { + public String picklist; + public MetadataService.PicklistValue[] values; + private String[] picklist_type_info = new String[]{'picklist',SOAP_M_URI,null,'1','1','false'}; + private String[] values_type_info = new String[]{'values',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'picklist','values'}; + } + public class FlowApexPluginCall extends FlowNode { + public String type = 'FlowApexPluginCall'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String description; + public String name; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + public String label; + public Integer locationX; + public Integer locationY; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] locationX_type_info = new String[]{'locationX',SOAP_M_URI,null,'1','1','false'}; + private String[] locationY_type_info = new String[]{'locationY',SOAP_M_URI,null,'1','1','false'}; + public String apexClass; + public MetadataService.FlowConnector connector; + public MetadataService.FlowConnector faultConnector; + public MetadataService.FlowApexPluginCallInputParameter[] inputParameters; + public MetadataService.FlowApexPluginCallOutputParameter[] outputParameters; + private String[] apexClass_type_info = new String[]{'apexClass',SOAP_M_URI,null,'1','1','false'}; + private String[] connector_type_info = new String[]{'connector',SOAP_M_URI,null,'0','1','false'}; + private String[] faultConnector_type_info = new String[]{'faultConnector',SOAP_M_URI,null,'0','1','false'}; + private String[] inputParameters_type_info = new String[]{'inputParameters',SOAP_M_URI,null,'0','-1','false'}; + private String[] outputParameters_type_info = new String[]{'outputParameters',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues','description','name','label','locationX','locationY', 'apexClass','connector','faultConnector','inputParameters','outputParameters'}; + } + public class Container { + public Integer height; + public Boolean isContainerAutoSizeEnabled; + public String region; + public MetadataService.SidebarComponent[] sidebarComponents; + public String style; + public String unit; + public Integer width; + private String[] height_type_info = new String[]{'height',SOAP_M_URI,null,'0','1','false'}; + private String[] isContainerAutoSizeEnabled_type_info = new String[]{'isContainerAutoSizeEnabled',SOAP_M_URI,null,'1','1','false'}; + private String[] region_type_info = new String[]{'region',SOAP_M_URI,null,'1','1','false'}; + private String[] sidebarComponents_type_info = new String[]{'sidebarComponents',SOAP_M_URI,null,'0','-1','false'}; + private String[] style_type_info = new String[]{'style',SOAP_M_URI,null,'1','1','false'}; + private String[] unit_type_info = new String[]{'unit',SOAP_M_URI,null,'1','1','false'}; + private String[] width_type_info = new String[]{'width',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'height','isContainerAutoSizeEnabled','region','sidebarComponents','style','unit','width'}; + } + public class FeedLayout { + public Boolean autocollapsePublisher; + public Boolean compactFeed; + public String feedFilterPosition; + public MetadataService.FeedLayoutFilter[] feedFilters; + public Boolean fullWidthFeed; + public Boolean hideSidebar; + public Boolean highlightExternalFeedItems; + public MetadataService.FeedLayoutComponent[] leftComponents; + public MetadataService.FeedLayoutComponent[] rightComponents; + public Boolean useInlineFiltersInConsole; + private String[] autocollapsePublisher_type_info = new String[]{'autocollapsePublisher',SOAP_M_URI,null,'0','1','false'}; + private String[] compactFeed_type_info = new String[]{'compactFeed',SOAP_M_URI,null,'0','1','false'}; + private String[] feedFilterPosition_type_info = new String[]{'feedFilterPosition',SOAP_M_URI,null,'0','1','false'}; + private String[] feedFilters_type_info = new String[]{'feedFilters',SOAP_M_URI,null,'0','-1','false'}; + private String[] fullWidthFeed_type_info = new String[]{'fullWidthFeed',SOAP_M_URI,null,'0','1','false'}; + private String[] hideSidebar_type_info = new String[]{'hideSidebar',SOAP_M_URI,null,'0','1','false'}; + private String[] highlightExternalFeedItems_type_info = new String[]{'highlightExternalFeedItems',SOAP_M_URI,null,'0','1','false'}; + private String[] leftComponents_type_info = new String[]{'leftComponents',SOAP_M_URI,null,'0','-1','false'}; + private String[] rightComponents_type_info = new String[]{'rightComponents',SOAP_M_URI,null,'0','-1','false'}; + private String[] useInlineFiltersInConsole_type_info = new String[]{'useInlineFiltersInConsole',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'autocollapsePublisher','compactFeed','feedFilterPosition','feedFilters','fullWidthFeed','hideSidebar','highlightExternalFeedItems','leftComponents','rightComponents','useInlineFiltersInConsole'}; + } + public class NetworkAccess { + public MetadataService.IpRange[] ipRanges; + private String[] ipRanges_type_info = new String[]{'ipRanges',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'ipRanges'}; + } + public class ProfileActionOverride { + public String actionName; + public String content; + public String formFactor; + public String pageOrSobjectType; + public String recordType; + public String type_x; + private String[] actionName_type_info = new String[]{'actionName',SOAP_M_URI,null,'1','1','false'}; + private String[] content_type_info = new String[]{'content',SOAP_M_URI,null,'0','1','false'}; + private String[] formFactor_type_info = new String[]{'formFactor',SOAP_M_URI,null,'1','1','false'}; + private String[] pageOrSobjectType_type_info = new String[]{'pageOrSobjectType',SOAP_M_URI,null,'1','1','false'}; + private String[] recordType_type_info = new String[]{'recordType',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'actionName','content','formFactor','pageOrSobjectType','recordType','type_x'}; + } + public class IdeasSettings extends Metadata { + public String type = 'IdeasSettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean enableChatterProfile; + public Boolean enableIdeaThemes; + public Boolean enableIdeas; + public Boolean enableIdeasReputation; + public Double halfLife; + public String ideasProfilePage; + private String[] enableChatterProfile_type_info = new String[]{'enableChatterProfile',SOAP_M_URI,null,'0','1','false'}; + private String[] enableIdeaThemes_type_info = new String[]{'enableIdeaThemes',SOAP_M_URI,null,'0','1','false'}; + private String[] enableIdeas_type_info = new String[]{'enableIdeas',SOAP_M_URI,null,'0','1','false'}; + private String[] enableIdeasReputation_type_info = new String[]{'enableIdeasReputation',SOAP_M_URI,null,'0','1','false'}; + private String[] halfLife_type_info = new String[]{'halfLife',SOAP_M_URI,null,'0','1','false'}; + private String[] ideasProfilePage_type_info = new String[]{'ideasProfilePage',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'enableChatterProfile','enableIdeaThemes','enableIdeas','enableIdeasReputation','halfLife','ideasProfilePage'}; + } + public class EmailServicesFunction extends Metadata { + public String type = 'EmailServicesFunction'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String apexClass; + public String attachmentOption; + public String authenticationFailureAction; + public String authorizationFailureAction; + public String authorizedSenders; + public MetadataService.EmailServicesAddress[] emailServicesAddresses; + public String errorRoutingAddress; + public String functionInactiveAction; + public String functionName; + public Boolean isActive; + public Boolean isAuthenticationRequired; + public Boolean isErrorRoutingEnabled; + public Boolean isTextAttachmentsAsBinary; + public Boolean isTlsRequired; + public String overLimitAction; + private String[] apexClass_type_info = new String[]{'apexClass',SOAP_M_URI,null,'1','1','false'}; + private String[] attachmentOption_type_info = new String[]{'attachmentOption',SOAP_M_URI,null,'1','1','false'}; + private String[] authenticationFailureAction_type_info = new String[]{'authenticationFailureAction',SOAP_M_URI,null,'1','1','false'}; + private String[] authorizationFailureAction_type_info = new String[]{'authorizationFailureAction',SOAP_M_URI,null,'1','1','false'}; + private String[] authorizedSenders_type_info = new String[]{'authorizedSenders',SOAP_M_URI,null,'0','1','false'}; + private String[] emailServicesAddresses_type_info = new String[]{'emailServicesAddresses',SOAP_M_URI,null,'0','-1','false'}; + private String[] errorRoutingAddress_type_info = new String[]{'errorRoutingAddress',SOAP_M_URI,null,'0','1','false'}; + private String[] functionInactiveAction_type_info = new String[]{'functionInactiveAction',SOAP_M_URI,null,'1','1','false'}; + private String[] functionName_type_info = new String[]{'functionName',SOAP_M_URI,null,'1','1','false'}; + private String[] isActive_type_info = new String[]{'isActive',SOAP_M_URI,null,'0','1','false'}; + private String[] isAuthenticationRequired_type_info = new String[]{'isAuthenticationRequired',SOAP_M_URI,null,'0','1','false'}; + private String[] isErrorRoutingEnabled_type_info = new String[]{'isErrorRoutingEnabled',SOAP_M_URI,null,'0','1','false'}; + private String[] isTextAttachmentsAsBinary_type_info = new String[]{'isTextAttachmentsAsBinary',SOAP_M_URI,null,'0','1','false'}; + private String[] isTlsRequired_type_info = new String[]{'isTlsRequired',SOAP_M_URI,null,'0','1','false'}; + private String[] overLimitAction_type_info = new String[]{'overLimitAction',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'apexClass','attachmentOption','authenticationFailureAction','authorizationFailureAction','authorizedSenders','emailServicesAddresses','errorRoutingAddress','functionInactiveAction','functionName','isActive','isAuthenticationRequired','isErrorRoutingEnabled','isTextAttachmentsAsBinary','isTlsRequired','overLimitAction'}; + } + public class CustomDataTypeTranslation { + public MetadataService.CustomDataTypeComponentTranslation[] components; + public String customDataTypeName; + public String description; + public String label; + private String[] components_type_info = new String[]{'components',SOAP_M_URI,null,'0','-1','false'}; + private String[] customDataTypeName_type_info = new String[]{'customDataTypeName',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'components','customDataTypeName','description','label'}; + } + public class readMetadata_element { + public String type_x; + public String[] fullNames; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] fullNames_type_info = new String[]{'fullNames',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'type_x','fullNames'}; + } + public class PostTemplate extends Metadata { + public String type = 'PostTemplate'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean default_x; + public String description; + public String[] fields; + public String label; + private String[] default_x_type_info = new String[]{'default',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] fields_type_info = new String[]{'fields',SOAP_M_URI,null,'0','-1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'default_x','description','fields','label'}; + } + public class ValueSet { + public String controllingField; + public Boolean restricted; + public MetadataService.ValueSetValuesDefinition valueSetDefinition; + public String valueSetName; + public MetadataService.ValueSettings[] valueSettings; + private String[] controllingField_type_info = new String[]{'controllingField',SOAP_M_URI,null,'0','1','false'}; + private String[] restricted_type_info = new String[]{'restricted',SOAP_M_URI,null,'0','1','false'}; + private String[] valueSetDefinition_type_info = new String[]{'valueSetDefinition',SOAP_M_URI,null,'0','1','false'}; + private String[] valueSetName_type_info = new String[]{'valueSetName',SOAP_M_URI,null,'0','1','false'}; + private String[] valueSettings_type_info = new String[]{'valueSettings',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'controllingField','restricted','valueSetDefinition','valueSetName','valueSettings'}; + } + public class IndexField { + public String name; + public String sortDirection; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] sortDirection_type_info = new String[]{'sortDirection',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'name','sortDirection'}; + } + public class QuickActionList { + public MetadataService.QuickActionListItem[] quickActionListItems; + private String[] quickActionListItems_type_info = new String[]{'quickActionListItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'quickActionListItems'}; + } + public class FlexiPageRegion { + public String appendable; + public MetadataService.ComponentInstance[] componentInstances; + public String mode; + public String name; + public String prependable; + public String replaceable; + public String type_x; + private String[] appendable_type_info = new String[]{'appendable',SOAP_M_URI,null,'0','1','false'}; + private String[] componentInstances_type_info = new String[]{'componentInstances',SOAP_M_URI,null,'0','-1','false'}; + private String[] mode_type_info = new String[]{'mode',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] prependable_type_info = new String[]{'prependable',SOAP_M_URI,null,'0','1','false'}; + private String[] replaceable_type_info = new String[]{'replaceable',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'appendable','componentInstances','mode','name','prependable','replaceable','type_x'}; + } + public class PrimaryTabComponents { + public MetadataService.Container[] containers; + private String[] containers_type_info = new String[]{'containers',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'containers'}; + } + public class Territory { + public String accountAccessLevel; + public String parentTerritory; + private String[] accountAccessLevel_type_info = new String[]{'accountAccessLevel',SOAP_M_URI,null,'0','1','false'}; + private String[] parentTerritory_type_info = new String[]{'parentTerritory',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'accountAccessLevel','parentTerritory'}; + } + public class updateMetadataResponse_element { + public MetadataService.SaveResult[] result; + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class FolderShare { + public String accessLevel; + public String sharedTo; + public String sharedToType; + private String[] accessLevel_type_info = new String[]{'accessLevel',SOAP_M_URI,null,'1','1','false'}; + private String[] sharedTo_type_info = new String[]{'sharedTo',SOAP_M_URI,null,'1','1','false'}; + private String[] sharedToType_type_info = new String[]{'sharedToType',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'accessLevel','sharedTo','sharedToType'}; + } + public class QuickActionListItem { + public String quickActionName; + private String[] quickActionName_type_info = new String[]{'quickActionName',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'quickActionName'}; + } + public class SiteDotCom extends MetadataWithContent { + public String type = 'SiteDotCom'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String content; + private String[] content_type_info = new String[]{'content',SOAP_M_URI,null,'0','1','false'}; + public String label; + public String siteType; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] siteType_type_info = new String[]{'siteType',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','content', 'label','siteType'}; + } + public class MobileSettings extends Metadata { + public String type = 'MobileSettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.ChatterMobileSettings chatterMobile; + public MetadataService.DashboardMobileSettings dashboardMobile; + public MetadataService.SFDCMobileSettings salesforceMobile; + public MetadataService.TouchMobileSettings touchMobile; + private String[] chatterMobile_type_info = new String[]{'chatterMobile',SOAP_M_URI,null,'0','1','false'}; + private String[] dashboardMobile_type_info = new String[]{'dashboardMobile',SOAP_M_URI,null,'0','1','false'}; + private String[] salesforceMobile_type_info = new String[]{'salesforceMobile',SOAP_M_URI,null,'0','1','false'}; + private String[] touchMobile_type_info = new String[]{'touchMobile',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'chatterMobile','dashboardMobile','salesforceMobile','touchMobile'}; + } + public class ObjectMappingField { + public String inputField; + public String outputField; + private String[] inputField_type_info = new String[]{'inputField',SOAP_M_URI,null,'1','1','false'}; + private String[] outputField_type_info = new String[]{'outputField',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'inputField','outputField'}; + } + public class DescribeValueTypeResult { + public Boolean apiCreatable; + public Boolean apiDeletable; + public Boolean apiReadable; + public Boolean apiUpdatable; + public MetadataService.ValueTypeField parentField; + public MetadataService.ValueTypeField[] valueTypeFields; + private String[] apiCreatable_type_info = new String[]{'apiCreatable',SOAP_M_URI,null,'1','1','false'}; + private String[] apiDeletable_type_info = new String[]{'apiDeletable',SOAP_M_URI,null,'1','1','false'}; + private String[] apiReadable_type_info = new String[]{'apiReadable',SOAP_M_URI,null,'1','1','false'}; + private String[] apiUpdatable_type_info = new String[]{'apiUpdatable',SOAP_M_URI,null,'1','1','false'}; + private String[] parentField_type_info = new String[]{'parentField',SOAP_M_URI,null,'0','1','false'}; + private String[] valueTypeFields_type_info = new String[]{'valueTypeFields',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'apiCreatable','apiDeletable','apiReadable','apiUpdatable','parentField','valueTypeFields'}; + } + public class EntitlementSettings extends Metadata { + public String type = 'EntitlementSettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean assetLookupLimitedToActiveEntitlementsOnAccount; + public Boolean assetLookupLimitedToActiveEntitlementsOnContact; + public Boolean assetLookupLimitedToSameAccount; + public Boolean assetLookupLimitedToSameContact; + public Boolean enableEntitlementVersioning; + public Boolean enableEntitlements; + public Boolean entitlementLookupLimitedToActiveStatus; + public Boolean entitlementLookupLimitedToSameAccount; + public Boolean entitlementLookupLimitedToSameAsset; + public Boolean entitlementLookupLimitedToSameContact; + private String[] assetLookupLimitedToActiveEntitlementsOnAccount_type_info = new String[]{'assetLookupLimitedToActiveEntitlementsOnAccount',SOAP_M_URI,null,'0','1','false'}; + private String[] assetLookupLimitedToActiveEntitlementsOnContact_type_info = new String[]{'assetLookupLimitedToActiveEntitlementsOnContact',SOAP_M_URI,null,'0','1','false'}; + private String[] assetLookupLimitedToSameAccount_type_info = new String[]{'assetLookupLimitedToSameAccount',SOAP_M_URI,null,'0','1','false'}; + private String[] assetLookupLimitedToSameContact_type_info = new String[]{'assetLookupLimitedToSameContact',SOAP_M_URI,null,'0','1','false'}; + private String[] enableEntitlementVersioning_type_info = new String[]{'enableEntitlementVersioning',SOAP_M_URI,null,'1','1','false'}; + private String[] enableEntitlements_type_info = new String[]{'enableEntitlements',SOAP_M_URI,null,'1','1','false'}; + private String[] entitlementLookupLimitedToActiveStatus_type_info = new String[]{'entitlementLookupLimitedToActiveStatus',SOAP_M_URI,null,'0','1','false'}; + private String[] entitlementLookupLimitedToSameAccount_type_info = new String[]{'entitlementLookupLimitedToSameAccount',SOAP_M_URI,null,'0','1','false'}; + private String[] entitlementLookupLimitedToSameAsset_type_info = new String[]{'entitlementLookupLimitedToSameAsset',SOAP_M_URI,null,'0','1','false'}; + private String[] entitlementLookupLimitedToSameContact_type_info = new String[]{'entitlementLookupLimitedToSameContact',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'assetLookupLimitedToActiveEntitlementsOnAccount','assetLookupLimitedToActiveEntitlementsOnContact','assetLookupLimitedToSameAccount','assetLookupLimitedToSameContact','enableEntitlementVersioning','enableEntitlements','entitlementLookupLimitedToActiveStatus','entitlementLookupLimitedToSameAccount','entitlementLookupLimitedToSameAsset','entitlementLookupLimitedToSameContact'}; + } + public class Territory2RuleAssociation { + public Boolean inherited; + public String ruleName; + private String[] inherited_type_info = new String[]{'inherited',SOAP_M_URI,null,'1','1','false'}; + private String[] ruleName_type_info = new String[]{'ruleName',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'inherited','ruleName'}; + } + public class FlowChoiceTranslation { + public String choiceText; + public String name; + public MetadataService.FlowChoiceUserInputTranslation userInput; + private String[] choiceText_type_info = new String[]{'choiceText',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] userInput_type_info = new String[]{'userInput',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'choiceText','name','userInput'}; + } + public class PermissionSetCustomPermissions { + public Boolean enabled; + public String name; + private String[] enabled_type_info = new String[]{'enabled',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'enabled','name'}; + } + public class CustomApplicationComponent extends Metadata { + public String type = 'CustomApplicationComponent'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String buttonIconUrl; + public String buttonStyle; + public String buttonText; + public Integer buttonWidth; + public Integer height; + public Boolean isHeightFixed; + public Boolean isHidden; + public Boolean isWidthFixed; + public String visualforcePage; + public Integer width; + private String[] buttonIconUrl_type_info = new String[]{'buttonIconUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] buttonStyle_type_info = new String[]{'buttonStyle',SOAP_M_URI,null,'0','1','false'}; + private String[] buttonText_type_info = new String[]{'buttonText',SOAP_M_URI,null,'0','1','false'}; + private String[] buttonWidth_type_info = new String[]{'buttonWidth',SOAP_M_URI,null,'0','1','false'}; + private String[] height_type_info = new String[]{'height',SOAP_M_URI,null,'0','1','false'}; + private String[] isHeightFixed_type_info = new String[]{'isHeightFixed',SOAP_M_URI,null,'1','1','false'}; + private String[] isHidden_type_info = new String[]{'isHidden',SOAP_M_URI,null,'1','1','false'}; + private String[] isWidthFixed_type_info = new String[]{'isWidthFixed',SOAP_M_URI,null,'1','1','false'}; + private String[] visualforcePage_type_info = new String[]{'visualforcePage',SOAP_M_URI,null,'1','1','false'}; + private String[] width_type_info = new String[]{'width',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'buttonIconUrl','buttonStyle','buttonText','buttonWidth','height','isHeightFixed','isHidden','isWidthFixed','visualforcePage','width'}; + } + public class ComponentInstanceProperty { + public String name; + public String type_x; + public String value; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'0','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'name','type_x','value'}; + } + public class ChatterMobileSettings { + public Boolean enablePushNotifications; + private String[] enablePushNotifications_type_info = new String[]{'enablePushNotifications',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'enablePushNotifications'}; + } + public class WorkflowAlert extends WorkflowAction { + public String type = 'WorkflowAlert'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String[] ccEmails; + public String description; + public Boolean protected_x; + public MetadataService.WorkflowEmailRecipient[] recipients; + public String senderAddress; + public String senderType; + public String template; + private String[] ccEmails_type_info = new String[]{'ccEmails',SOAP_M_URI,null,'0','-1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'1','1','false'}; + private String[] protected_x_type_info = new String[]{'protected',SOAP_M_URI,null,'1','1','false'}; + private String[] recipients_type_info = new String[]{'recipients',SOAP_M_URI,null,'0','-1','false'}; + private String[] senderAddress_type_info = new String[]{'senderAddress',SOAP_M_URI,null,'0','1','false'}; + private String[] senderType_type_info = new String[]{'senderType',SOAP_M_URI,null,'0','1','false'}; + private String[] template_type_info = new String[]{'template',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'ccEmails','description','protected_x','recipients','senderAddress','senderType','template'}; + } + public class KnowledgeCaseFieldsSettings { + public MetadataService.KnowledgeCaseField[] field; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'field'}; + } + public class EmailTemplate extends MetadataWithContent { + public String type = 'EmailTemplate'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String content; + private String[] content_type_info = new String[]{'content',SOAP_M_URI,null,'0','1','false'}; + public Double apiVersion; + public String[] attachedDocuments; + public MetadataService.Attachment[] attachments; + public Boolean available; + public String description; + public String encodingKey; + public String letterhead; + public String name; + public MetadataService.PackageVersion[] packageVersions; + public String relatedEntityType; + public String style; + public String subject; + public String textOnly; + public String type_x; + public String uiType; + private String[] apiVersion_type_info = new String[]{'apiVersion',SOAP_M_URI,null,'0','1','false'}; + private String[] attachedDocuments_type_info = new String[]{'attachedDocuments',SOAP_M_URI,null,'0','-1','false'}; + private String[] attachments_type_info = new String[]{'attachments',SOAP_M_URI,null,'0','-1','false'}; + private String[] available_type_info = new String[]{'available',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] encodingKey_type_info = new String[]{'encodingKey',SOAP_M_URI,null,'1','1','false'}; + private String[] letterhead_type_info = new String[]{'letterhead',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] packageVersions_type_info = new String[]{'packageVersions',SOAP_M_URI,null,'0','-1','false'}; + private String[] relatedEntityType_type_info = new String[]{'relatedEntityType',SOAP_M_URI,null,'0','1','false'}; + private String[] style_type_info = new String[]{'style',SOAP_M_URI,null,'1','1','false'}; + private String[] subject_type_info = new String[]{'subject',SOAP_M_URI,null,'0','1','false'}; + private String[] textOnly_type_info = new String[]{'textOnly',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] uiType_type_info = new String[]{'uiType',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','content', 'apiVersion','attachedDocuments','attachments','available','description','encodingKey','letterhead','name','packageVersions','relatedEntityType','style','subject','textOnly','type_x','uiType'}; + } + public class FlowTextTemplate extends FlowElement { + public String type = 'FlowTextTemplate'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String description; + public String name; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + public String text; + private String[] text_type_info = new String[]{'text',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues','description','name', 'text'}; + } + public class PushNotification { + public String[] fieldNames; + public String objectName; + private String[] fieldNames_type_info = new String[]{'fieldNames',SOAP_M_URI,null,'0','-1','false'}; + private String[] objectName_type_info = new String[]{'objectName',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'fieldNames','objectName'}; + } + public class TransactionSecurityPolicy { + public MetadataService.TransactionSecurityAction action; + public Boolean active; + public String apexClass; + public String description; + public String developerName; + public String eventName; + public String eventType; + public String executionUser; + public String flow; + public String masterLabel; + public String resourceName; + public String type_x; + private String[] action_type_info = new String[]{'action',SOAP_M_URI,null,'1','1','false'}; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'1','1','false'}; + private String[] apexClass_type_info = new String[]{'apexClass',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] developerName_type_info = new String[]{'developerName',SOAP_M_URI,null,'0','1','false'}; + private String[] eventName_type_info = new String[]{'eventName',SOAP_M_URI,null,'0','1','false'}; + private String[] eventType_type_info = new String[]{'eventType',SOAP_M_URI,null,'0','1','false'}; + private String[] executionUser_type_info = new String[]{'executionUser',SOAP_M_URI,null,'1','1','false'}; + private String[] flow_type_info = new String[]{'flow',SOAP_M_URI,null,'0','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'0','1','false'}; + private String[] resourceName_type_info = new String[]{'resourceName',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'action','active','apexClass','description','developerName','eventName','eventType','executionUser','flow','masterLabel','resourceName','type_x'}; + } + public class FlowScreen extends FlowNode { + public String type = 'FlowScreen'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String description; + public String name; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + public String label; + public Integer locationX; + public Integer locationY; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] locationX_type_info = new String[]{'locationX',SOAP_M_URI,null,'1','1','false'}; + private String[] locationY_type_info = new String[]{'locationY',SOAP_M_URI,null,'1','1','false'}; + public Boolean allowBack; + public Boolean allowFinish; + public Boolean allowPause; + public MetadataService.FlowConnector connector; + public MetadataService.FlowScreenField[] fields; + public String helpText; + public String pausedText; + public MetadataService.FlowScreenRule[] rules; + public Boolean showFooter; + public Boolean showHeader; + private String[] allowBack_type_info = new String[]{'allowBack',SOAP_M_URI,null,'0','1','false'}; + private String[] allowFinish_type_info = new String[]{'allowFinish',SOAP_M_URI,null,'0','1','false'}; + private String[] allowPause_type_info = new String[]{'allowPause',SOAP_M_URI,null,'0','1','false'}; + private String[] connector_type_info = new String[]{'connector',SOAP_M_URI,null,'0','1','false'}; + private String[] fields_type_info = new String[]{'fields',SOAP_M_URI,null,'0','-1','false'}; + private String[] helpText_type_info = new String[]{'helpText',SOAP_M_URI,null,'0','1','false'}; + private String[] pausedText_type_info = new String[]{'pausedText',SOAP_M_URI,null,'0','1','false'}; + private String[] rules_type_info = new String[]{'rules',SOAP_M_URI,null,'0','-1','false'}; + private String[] showFooter_type_info = new String[]{'showFooter',SOAP_M_URI,null,'0','1','false'}; + private String[] showHeader_type_info = new String[]{'showHeader',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues','description','name','label','locationX','locationY', 'allowBack','allowFinish','allowPause','connector','fields','helpText','pausedText','rules','showFooter','showHeader'}; + } + public class OpportunityListFieldsSelectedSettings { + public String[] field; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'field'}; + } + public class Certificate extends MetadataWithContent { + public String type = 'Certificate'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String content; + private String[] content_type_info = new String[]{'content',SOAP_M_URI,null,'0','1','false'}; + public Boolean caSigned; + public Boolean encryptedWithPlatformEncryption; + public DateTime expirationDate; + public Integer keySize; + public String masterLabel; + public Boolean privateKeyExportable; + private String[] caSigned_type_info = new String[]{'caSigned',SOAP_M_URI,null,'1','1','false'}; + private String[] encryptedWithPlatformEncryption_type_info = new String[]{'encryptedWithPlatformEncryption',SOAP_M_URI,null,'0','1','true'}; + private String[] expirationDate_type_info = new String[]{'expirationDate',SOAP_M_URI,null,'0','1','true'}; + private String[] keySize_type_info = new String[]{'keySize',SOAP_M_URI,null,'0','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] privateKeyExportable_type_info = new String[]{'privateKeyExportable',SOAP_M_URI,null,'0','1','true'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','content', 'caSigned','encryptedWithPlatformEncryption','expirationDate','keySize','masterLabel','privateKeyExportable'}; + } + public class WaveXmdDimensionCustomAction { + public String customActionName; + public Boolean enabled; + public String icon; + public String method; + public Integer sortIndex; + public String target; + public String tooltip; + public String url; + private String[] customActionName_type_info = new String[]{'customActionName',SOAP_M_URI,null,'1','1','false'}; + private String[] enabled_type_info = new String[]{'enabled',SOAP_M_URI,null,'1','1','false'}; + private String[] icon_type_info = new String[]{'icon',SOAP_M_URI,null,'0','1','false'}; + private String[] method_type_info = new String[]{'method',SOAP_M_URI,null,'0','1','false'}; + private String[] sortIndex_type_info = new String[]{'sortIndex',SOAP_M_URI,null,'1','1','false'}; + private String[] target_type_info = new String[]{'target',SOAP_M_URI,null,'0','1','false'}; + private String[] tooltip_type_info = new String[]{'tooltip',SOAP_M_URI,null,'0','1','false'}; + private String[] url_type_info = new String[]{'url',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'customActionName','enabled','icon','method','sortIndex','target','tooltip','url'}; + } + public class AccessMapping { + public String accessLevel; + public String object_x; + public String objectField; + public String userField; + private String[] accessLevel_type_info = new String[]{'accessLevel',SOAP_M_URI,null,'1','1','false'}; + private String[] object_x_type_info = new String[]{'object',SOAP_M_URI,null,'1','1','false'}; + private String[] objectField_type_info = new String[]{'objectField',SOAP_M_URI,null,'1','1','false'}; + private String[] userField_type_info = new String[]{'userField',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'accessLevel','object_x','objectField','userField'}; + } + public class AnalyticSnapshotMapping { + public String aggregateType; + public String sourceField; + public String sourceType; + public String targetField; + private String[] aggregateType_type_info = new String[]{'aggregateType',SOAP_M_URI,null,'0','1','false'}; + private String[] sourceField_type_info = new String[]{'sourceField',SOAP_M_URI,null,'1','1','false'}; + private String[] sourceType_type_info = new String[]{'sourceType',SOAP_M_URI,null,'1','1','false'}; + private String[] targetField_type_info = new String[]{'targetField',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'aggregateType','sourceField','sourceType','targetField'}; + } + public class DefaultShortcut { + public String action; + public Boolean active; + public String keyCommand; + private String[] action_type_info = new String[]{'action',SOAP_M_URI,null,'1','1','false'}; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'1','1','false'}; + private String[] keyCommand_type_info = new String[]{'keyCommand',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'action','active','keyCommand'}; + } + public class WorkspaceMapping { + public String fieldName; + public String tab; + private String[] fieldName_type_info = new String[]{'fieldName',SOAP_M_URI,null,'0','1','false'}; + private String[] tab_type_info = new String[]{'tab',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'fieldName','tab'}; + } + public class FlowScreenRuleAction { + public String attribute; + public String fieldReference; + public MetadataService.FlowElementReferenceOrValue value; + private String[] attribute_type_info = new String[]{'attribute',SOAP_M_URI,null,'1','1','false'}; + private String[] fieldReference_type_info = new String[]{'fieldReference',SOAP_M_URI,null,'1','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'attribute','fieldReference','value'}; + } + public class WorkflowSend extends WorkflowAction { + public String type = 'WorkflowSend'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String action; + public String description; + public String label; + public String language; + public Boolean protected_x; + private String[] action_type_info = new String[]{'action',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] language_type_info = new String[]{'language',SOAP_M_URI,null,'0','1','false'}; + private String[] protected_x_type_info = new String[]{'protected',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'action','description','label','language','protected_x'}; + } + public class FlowRecordFilter extends FlowBaseElement { + public String type = 'FlowRecordFilter'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String field; + public String operator; + public MetadataService.FlowElementReferenceOrValue value; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'1','1','false'}; + private String[] operator_type_info = new String[]{'operator',SOAP_M_URI,null,'1','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues', 'field','operator','value'}; + } + public class deleteMetadata_element { + public String type_x; + public String[] fullNames; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] fullNames_type_info = new String[]{'fullNames',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'type_x','fullNames'}; + } + public class ForecastRangeSettings { + public Integer beginning; + public Integer displaying; + public String periodType; + private String[] beginning_type_info = new String[]{'beginning',SOAP_M_URI,null,'1','1','false'}; + private String[] displaying_type_info = new String[]{'displaying',SOAP_M_URI,null,'1','1','false'}; + private String[] periodType_type_info = new String[]{'periodType',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'beginning','displaying','periodType'}; + } + public class FlowActionCall extends FlowNode { + public String type = 'FlowActionCall'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String description; + public String name; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + public String label; + public Integer locationX; + public Integer locationY; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] locationX_type_info = new String[]{'locationX',SOAP_M_URI,null,'1','1','false'}; + private String[] locationY_type_info = new String[]{'locationY',SOAP_M_URI,null,'1','1','false'}; + public String actionName; + public String actionType; + public MetadataService.FlowConnector connector; + public MetadataService.FlowConnector faultConnector; + public MetadataService.FlowActionCallInputParameter[] inputParameters; + public MetadataService.FlowActionCallOutputParameter[] outputParameters; + private String[] actionName_type_info = new String[]{'actionName',SOAP_M_URI,null,'1','1','false'}; + private String[] actionType_type_info = new String[]{'actionType',SOAP_M_URI,null,'1','1','false'}; + private String[] connector_type_info = new String[]{'connector',SOAP_M_URI,null,'0','1','false'}; + private String[] faultConnector_type_info = new String[]{'faultConnector',SOAP_M_URI,null,'0','1','false'}; + private String[] inputParameters_type_info = new String[]{'inputParameters',SOAP_M_URI,null,'0','-1','false'}; + private String[] outputParameters_type_info = new String[]{'outputParameters',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues','description','name','label','locationX','locationY', 'actionName','actionType','connector','faultConnector','inputParameters','outputParameters'}; + } + public class ListViewFilter { + public String field; + public String operation; + public String value; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'1','1','false'}; + private String[] operation_type_info = new String[]{'operation',SOAP_M_URI,null,'1','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'field','operation','value'}; + } + public class DashboardTableColumn { + public String aggregateType; + public Boolean calculatePercent; + public String column; + public Integer decimalPlaces; + public Boolean showTotal; + public String sortBy; + private String[] aggregateType_type_info = new String[]{'aggregateType',SOAP_M_URI,null,'0','1','false'}; + private String[] calculatePercent_type_info = new String[]{'calculatePercent',SOAP_M_URI,null,'0','1','false'}; + private String[] column_type_info = new String[]{'column',SOAP_M_URI,null,'1','1','false'}; + private String[] decimalPlaces_type_info = new String[]{'decimalPlaces',SOAP_M_URI,null,'0','1','false'}; + private String[] showTotal_type_info = new String[]{'showTotal',SOAP_M_URI,null,'0','1','false'}; + private String[] sortBy_type_info = new String[]{'sortBy',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'aggregateType','calculatePercent','column','decimalPlaces','showTotal','sortBy'}; + } + public class Territory2 extends Metadata { + public String type = 'Territory2'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String accountAccessLevel; + public String caseAccessLevel; + public String contactAccessLevel; + public MetadataService.FieldValue[] customFields; + public String description; + public String name; + public String opportunityAccessLevel; + public String parentTerritory; + public MetadataService.Territory2RuleAssociation[] ruleAssociations; + public String territory2Type; + private String[] accountAccessLevel_type_info = new String[]{'accountAccessLevel',SOAP_M_URI,null,'0','1','false'}; + private String[] caseAccessLevel_type_info = new String[]{'caseAccessLevel',SOAP_M_URI,null,'0','1','false'}; + private String[] contactAccessLevel_type_info = new String[]{'contactAccessLevel',SOAP_M_URI,null,'0','1','false'}; + private String[] customFields_type_info = new String[]{'customFields',SOAP_M_URI,null,'0','-1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] opportunityAccessLevel_type_info = new String[]{'opportunityAccessLevel',SOAP_M_URI,null,'0','1','false'}; + private String[] parentTerritory_type_info = new String[]{'parentTerritory',SOAP_M_URI,null,'0','1','false'}; + private String[] ruleAssociations_type_info = new String[]{'ruleAssociations',SOAP_M_URI,null,'0','-1','false'}; + private String[] territory2Type_type_info = new String[]{'territory2Type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'accountAccessLevel','caseAccessLevel','contactAccessLevel','customFields','description','name','opportunityAccessLevel','parentTerritory','ruleAssociations','territory2Type'}; + } + public class ListPlacement { + public Integer height; + public String location; + public String units; + public Integer width; + private String[] height_type_info = new String[]{'height',SOAP_M_URI,null,'0','1','false'}; + private String[] location_type_info = new String[]{'location',SOAP_M_URI,null,'1','1','false'}; + private String[] units_type_info = new String[]{'units',SOAP_M_URI,null,'0','1','false'}; + private String[] width_type_info = new String[]{'width',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'height','location','units','width'}; + } + public class PicklistEntry { + public Boolean active; + public Boolean defaultValue; + public String label; + public String validFor; + public String value; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'1','1','false'}; + private String[] defaultValue_type_info = new String[]{'defaultValue',SOAP_M_URI,null,'1','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] validFor_type_info = new String[]{'validFor',SOAP_M_URI,null,'0','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'active','defaultValue','label','validFor','value'}; + } + public class ReportBucketField { + public String bucketType; + public String developerName; + public String masterLabel; + public String nullTreatment; + public String otherBucketLabel; + public String sourceColumnName; + public Boolean useOther; + public MetadataService.ReportBucketFieldValue[] values; + private String[] bucketType_type_info = new String[]{'bucketType',SOAP_M_URI,null,'1','1','false'}; + private String[] developerName_type_info = new String[]{'developerName',SOAP_M_URI,null,'1','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] nullTreatment_type_info = new String[]{'nullTreatment',SOAP_M_URI,null,'0','1','false'}; + private String[] otherBucketLabel_type_info = new String[]{'otherBucketLabel',SOAP_M_URI,null,'0','1','false'}; + private String[] sourceColumnName_type_info = new String[]{'sourceColumnName',SOAP_M_URI,null,'1','1','false'}; + private String[] useOther_type_info = new String[]{'useOther',SOAP_M_URI,null,'0','1','false'}; + private String[] values_type_info = new String[]{'values',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'bucketType','developerName','masterLabel','nullTreatment','otherBucketLabel','sourceColumnName','useOther','values'}; + } + public class FlexiPageTemplateInstance { + public String name; + public MetadataService.ComponentInstanceProperty[] properties; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] properties_type_info = new String[]{'properties',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'name','properties'}; + } + public class KnowledgeCommunitiesSettings { + public String[] community; + private String[] community_type_info = new String[]{'community',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'community'}; + } + public class AppComponentList { + public String alignment; + public String[] components; + private String[] alignment_type_info = new String[]{'alignment',SOAP_M_URI,null,'1','1','false'}; + private String[] components_type_info = new String[]{'components',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'alignment','components'}; + } + public class KnowledgeWorkOrderLineItemFieldsSettings { + public MetadataService.KnowledgeWorkOrderLineItemField[] field; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'field'}; + } + public class OpportunitySettings extends Metadata { + public String type = 'OpportunitySettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean autoActivateNewReminders; + public Boolean enableFindSimilarOpportunities; + public Boolean enableOpportunityTeam; + public Boolean enableUpdateReminders; + public MetadataService.FindSimilarOppFilter findSimilarOppFilter; + public Boolean promptToAddProducts; + private String[] autoActivateNewReminders_type_info = new String[]{'autoActivateNewReminders',SOAP_M_URI,null,'0','1','false'}; + private String[] enableFindSimilarOpportunities_type_info = new String[]{'enableFindSimilarOpportunities',SOAP_M_URI,null,'0','1','false'}; + private String[] enableOpportunityTeam_type_info = new String[]{'enableOpportunityTeam',SOAP_M_URI,null,'0','1','false'}; + private String[] enableUpdateReminders_type_info = new String[]{'enableUpdateReminders',SOAP_M_URI,null,'0','1','false'}; + private String[] findSimilarOppFilter_type_info = new String[]{'findSimilarOppFilter',SOAP_M_URI,null,'0','1','false'}; + private String[] promptToAddProducts_type_info = new String[]{'promptToAddProducts',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'autoActivateNewReminders','enableFindSimilarOpportunities','enableOpportunityTeam','enableUpdateReminders','findSimilarOppFilter','promptToAddProducts'}; + } + public class CodeCoverageWarning { + public String id; + public String message; + public String name; + public String namespace; + private String[] id_type_info = new String[]{'id',SOAP_M_URI,null,'1','1','false'}; + private String[] message_type_info = new String[]{'message',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','true'}; + private String[] namespace_type_info = new String[]{'namespace',SOAP_M_URI,null,'1','1','true'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'id','message','name','namespace'}; + } + public class CustomLabelTranslation { + public String label; + public String name; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'label','name'}; + } + public class KnowledgeAnswerSettings { + public String assignTo; + public String defaultArticleType; + public Boolean enableArticleCreation; + private String[] assignTo_type_info = new String[]{'assignTo',SOAP_M_URI,null,'0','1','false'}; + private String[] defaultArticleType_type_info = new String[]{'defaultArticleType',SOAP_M_URI,null,'0','1','false'}; + private String[] enableArticleCreation_type_info = new String[]{'enableArticleCreation',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'assignTo','defaultArticleType','enableArticleCreation'}; + } + public class Letterhead extends Metadata { + public String type = 'Letterhead'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean available; + public String backgroundColor; + public String bodyColor; + public MetadataService.LetterheadLine bottomLine; + public String description; + public MetadataService.LetterheadHeaderFooter footer; + public MetadataService.LetterheadHeaderFooter header; + public MetadataService.LetterheadLine middleLine; + public String name; + public MetadataService.LetterheadLine topLine; + private String[] available_type_info = new String[]{'available',SOAP_M_URI,null,'1','1','false'}; + private String[] backgroundColor_type_info = new String[]{'backgroundColor',SOAP_M_URI,null,'1','1','false'}; + private String[] bodyColor_type_info = new String[]{'bodyColor',SOAP_M_URI,null,'1','1','false'}; + private String[] bottomLine_type_info = new String[]{'bottomLine',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] footer_type_info = new String[]{'footer',SOAP_M_URI,null,'1','1','false'}; + private String[] header_type_info = new String[]{'header',SOAP_M_URI,null,'1','1','false'}; + private String[] middleLine_type_info = new String[]{'middleLine',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] topLine_type_info = new String[]{'topLine',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'available','backgroundColor','bodyColor','bottomLine','description','footer','header','middleLine','name','topLine'}; + } + public class AddressSettings extends Metadata { + public String type = 'AddressSettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.CountriesAndStates countriesAndStates; + private String[] countriesAndStates_type_info = new String[]{'countriesAndStates',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'countriesAndStates'}; + } + public class FlowApexPluginCallInputParameter extends FlowBaseElement { + public String type = 'FlowApexPluginCallInputParameter'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String name; + public MetadataService.FlowElementReferenceOrValue value; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues', 'name','value'}; + } + public class PathAssistantSettings { + public Boolean pathAssistantEnabled; + private String[] pathAssistantEnabled_type_info = new String[]{'pathAssistantEnabled',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'pathAssistantEnabled'}; + } + public class DuplicateRuleMatchRule { + public String matchRuleSObjectType; + public String matchingRule; + public MetadataService.ObjectMapping objectMapping; + private String[] matchRuleSObjectType_type_info = new String[]{'matchRuleSObjectType',SOAP_M_URI,null,'1','1','false'}; + private String[] matchingRule_type_info = new String[]{'matchingRule',SOAP_M_URI,null,'1','1','false'}; + private String[] objectMapping_type_info = new String[]{'objectMapping',SOAP_M_URI,null,'1','1','true'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'matchRuleSObjectType','matchingRule','objectMapping'}; + } + public class EventTypeParameter { + public String defaultValue; + public String description; + public String label; + public Integer maxOccurs; + public Integer minOccurs; + public String name; + public String sObjectType; + public String type_x; + private String[] defaultValue_type_info = new String[]{'defaultValue',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] maxOccurs_type_info = new String[]{'maxOccurs',SOAP_M_URI,null,'0','1','false'}; + private String[] minOccurs_type_info = new String[]{'minOccurs',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] sObjectType_type_info = new String[]{'sObjectType',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'defaultValue','description','label','maxOccurs','minOccurs','name','sObjectType','type_x'}; + } + public class QuoteSettings extends Metadata { + public String type = 'QuoteSettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean enableQuote; + private String[] enableQuote_type_info = new String[]{'enableQuote',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'enableQuote'}; + } + public class CustomExperienceBranding { + public String loginFooterText; + public String loginLogo; + public String pageFooter; + public String pageHeader; + public String primaryColor; + public String primaryComplementColor; + public String quaternaryColor; + public String quaternaryComplementColor; + public String secondaryColor; + public String tertiaryColor; + public String tertiaryComplementColor; + public String zeronaryColor; + public String zeronaryComplementColor; + private String[] loginFooterText_type_info = new String[]{'loginFooterText',SOAP_M_URI,null,'0','1','false'}; + private String[] loginLogo_type_info = new String[]{'loginLogo',SOAP_M_URI,null,'0','1','false'}; + private String[] pageFooter_type_info = new String[]{'pageFooter',SOAP_M_URI,null,'0','1','false'}; + private String[] pageHeader_type_info = new String[]{'pageHeader',SOAP_M_URI,null,'0','1','false'}; + private String[] primaryColor_type_info = new String[]{'primaryColor',SOAP_M_URI,null,'1','1','false'}; + private String[] primaryComplementColor_type_info = new String[]{'primaryComplementColor',SOAP_M_URI,null,'1','1','false'}; + private String[] quaternaryColor_type_info = new String[]{'quaternaryColor',SOAP_M_URI,null,'1','1','false'}; + private String[] quaternaryComplementColor_type_info = new String[]{'quaternaryComplementColor',SOAP_M_URI,null,'1','1','false'}; + private String[] secondaryColor_type_info = new String[]{'secondaryColor',SOAP_M_URI,null,'1','1','false'}; + private String[] tertiaryColor_type_info = new String[]{'tertiaryColor',SOAP_M_URI,null,'1','1','false'}; + private String[] tertiaryComplementColor_type_info = new String[]{'tertiaryComplementColor',SOAP_M_URI,null,'1','1','false'}; + private String[] zeronaryColor_type_info = new String[]{'zeronaryColor',SOAP_M_URI,null,'1','1','false'}; + private String[] zeronaryComplementColor_type_info = new String[]{'zeronaryComplementColor',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'loginFooterText','loginLogo','pageFooter','pageHeader','primaryColor','primaryComplementColor','quaternaryColor','quaternaryComplementColor','secondaryColor','tertiaryColor','tertiaryComplementColor','zeronaryColor','zeronaryComplementColor'}; + } + public class BusinessHoursEntry extends Metadata { + public String type = 'BusinessHoursEntry'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean active; + public Boolean default_x; + public DateTime fridayEndTime; + public DateTime fridayStartTime; + public DateTime mondayEndTime; + public DateTime mondayStartTime; + public String name; + public DateTime saturdayEndTime; + public DateTime saturdayStartTime; + public DateTime sundayEndTime; + public DateTime sundayStartTime; + public DateTime thursdayEndTime; + public DateTime thursdayStartTime; + public String timeZoneId; + public DateTime tuesdayEndTime; + public DateTime tuesdayStartTime; + public DateTime wednesdayEndTime; + public DateTime wednesdayStartTime; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'0','1','false'}; + private String[] default_x_type_info = new String[]{'default',SOAP_M_URI,null,'1','1','false'}; + private String[] fridayEndTime_type_info = new String[]{'fridayEndTime',SOAP_M_URI,null,'0','1','false'}; + private String[] fridayStartTime_type_info = new String[]{'fridayStartTime',SOAP_M_URI,null,'0','1','false'}; + private String[] mondayEndTime_type_info = new String[]{'mondayEndTime',SOAP_M_URI,null,'0','1','false'}; + private String[] mondayStartTime_type_info = new String[]{'mondayStartTime',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'0','1','false'}; + private String[] saturdayEndTime_type_info = new String[]{'saturdayEndTime',SOAP_M_URI,null,'0','1','false'}; + private String[] saturdayStartTime_type_info = new String[]{'saturdayStartTime',SOAP_M_URI,null,'0','1','false'}; + private String[] sundayEndTime_type_info = new String[]{'sundayEndTime',SOAP_M_URI,null,'0','1','false'}; + private String[] sundayStartTime_type_info = new String[]{'sundayStartTime',SOAP_M_URI,null,'0','1','false'}; + private String[] thursdayEndTime_type_info = new String[]{'thursdayEndTime',SOAP_M_URI,null,'0','1','false'}; + private String[] thursdayStartTime_type_info = new String[]{'thursdayStartTime',SOAP_M_URI,null,'0','1','false'}; + private String[] timeZoneId_type_info = new String[]{'timeZoneId',SOAP_M_URI,null,'0','1','false'}; + private String[] tuesdayEndTime_type_info = new String[]{'tuesdayEndTime',SOAP_M_URI,null,'0','1','false'}; + private String[] tuesdayStartTime_type_info = new String[]{'tuesdayStartTime',SOAP_M_URI,null,'0','1','false'}; + private String[] wednesdayEndTime_type_info = new String[]{'wednesdayEndTime',SOAP_M_URI,null,'0','1','false'}; + private String[] wednesdayStartTime_type_info = new String[]{'wednesdayStartTime',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'active','default_x','fridayEndTime','fridayStartTime','mondayEndTime','mondayStartTime','name','saturdayEndTime','saturdayStartTime','sundayEndTime','sundayStartTime','thursdayEndTime','thursdayStartTime','timeZoneId','tuesdayEndTime','tuesdayStartTime','wednesdayEndTime','wednesdayStartTime'}; + } + public class NetworkMemberGroup { + public String[] permissionSet; + public String[] profile; + private String[] permissionSet_type_info = new String[]{'permissionSet',SOAP_M_URI,null,'0','-1','false'}; + private String[] profile_type_info = new String[]{'profile',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'permissionSet','profile'}; + } + public class ApexPage extends MetadataWithContent { + public String type = 'ApexPage'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String content; + private String[] content_type_info = new String[]{'content',SOAP_M_URI,null,'0','1','false'}; + public Double apiVersion; + public Boolean availableInTouch; + public Boolean confirmationTokenRequired; + public String description; + public String label; + public MetadataService.PackageVersion[] packageVersions; + private String[] apiVersion_type_info = new String[]{'apiVersion',SOAP_M_URI,null,'1','1','false'}; + private String[] availableInTouch_type_info = new String[]{'availableInTouch',SOAP_M_URI,null,'0','1','false'}; + private String[] confirmationTokenRequired_type_info = new String[]{'confirmationTokenRequired',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] packageVersions_type_info = new String[]{'packageVersions',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','content', 'apiVersion','availableInTouch','confirmationTokenRequired','description','label','packageVersions'}; + } + public class CustomSite extends Metadata { + public String type = 'CustomSite'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean active; + public Boolean allowHomePage; + public Boolean allowStandardAnswersPages; + public Boolean allowStandardIdeasPages; + public Boolean allowStandardLookups; + public Boolean allowStandardPortalPages; + public Boolean allowStandardSearch; + public String analyticsTrackingCode; + public String authorizationRequiredPage; + public String bandwidthExceededPage; + public Boolean browserXssProtection; + public String changePasswordPage; + public String chatterAnswersForgotPasswordConfirmPage; + public String chatterAnswersForgotPasswordPage; + public String chatterAnswersHelpPage; + public String chatterAnswersLoginPage; + public String chatterAnswersRegistrationPage; + public String clickjackProtectionLevel; + public Boolean contentSniffingProtection; + public Boolean cspUpgradeInsecureRequests; + public MetadataService.SiteWebAddress[] customWebAddresses; + public String description; + public String favoriteIcon; + public String fileNotFoundPage; + public String forgotPasswordPage; + public String genericErrorPage; + public String guestProfile; + public String inMaintenancePage; + public String inactiveIndexPage; + public String indexPage; + public String masterLabel; + public String myProfilePage; + public String portal; + public Boolean referrerPolicyOriginWhenCrossOrigin; + public Boolean requireHttps; + public Boolean requireInsecurePortalAccess; + public String robotsTxtPage; + public String rootComponent; + public String selfRegPage; + public String serverIsDown; + public String siteAdmin; + public MetadataService.SiteRedirectMapping[] siteRedirectMappings; + public String siteTemplate; + public String siteType; + public String subdomain; + public String urlPathPrefix; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'1','1','false'}; + private String[] allowHomePage_type_info = new String[]{'allowHomePage',SOAP_M_URI,null,'1','1','false'}; + private String[] allowStandardAnswersPages_type_info = new String[]{'allowStandardAnswersPages',SOAP_M_URI,null,'0','1','false'}; + private String[] allowStandardIdeasPages_type_info = new String[]{'allowStandardIdeasPages',SOAP_M_URI,null,'1','1','false'}; + private String[] allowStandardLookups_type_info = new String[]{'allowStandardLookups',SOAP_M_URI,null,'1','1','false'}; + private String[] allowStandardPortalPages_type_info = new String[]{'allowStandardPortalPages',SOAP_M_URI,null,'1','1','false'}; + private String[] allowStandardSearch_type_info = new String[]{'allowStandardSearch',SOAP_M_URI,null,'1','1','false'}; + private String[] analyticsTrackingCode_type_info = new String[]{'analyticsTrackingCode',SOAP_M_URI,null,'0','1','false'}; + private String[] authorizationRequiredPage_type_info = new String[]{'authorizationRequiredPage',SOAP_M_URI,null,'0','1','false'}; + private String[] bandwidthExceededPage_type_info = new String[]{'bandwidthExceededPage',SOAP_M_URI,null,'0','1','false'}; + private String[] browserXssProtection_type_info = new String[]{'browserXssProtection',SOAP_M_URI,null,'1','1','false'}; + private String[] changePasswordPage_type_info = new String[]{'changePasswordPage',SOAP_M_URI,null,'0','1','false'}; + private String[] chatterAnswersForgotPasswordConfirmPage_type_info = new String[]{'chatterAnswersForgotPasswordConfirmPage',SOAP_M_URI,null,'0','1','false'}; + private String[] chatterAnswersForgotPasswordPage_type_info = new String[]{'chatterAnswersForgotPasswordPage',SOAP_M_URI,null,'0','1','false'}; + private String[] chatterAnswersHelpPage_type_info = new String[]{'chatterAnswersHelpPage',SOAP_M_URI,null,'0','1','false'}; + private String[] chatterAnswersLoginPage_type_info = new String[]{'chatterAnswersLoginPage',SOAP_M_URI,null,'0','1','false'}; + private String[] chatterAnswersRegistrationPage_type_info = new String[]{'chatterAnswersRegistrationPage',SOAP_M_URI,null,'0','1','false'}; + private String[] clickjackProtectionLevel_type_info = new String[]{'clickjackProtectionLevel',SOAP_M_URI,null,'1','1','false'}; + private String[] contentSniffingProtection_type_info = new String[]{'contentSniffingProtection',SOAP_M_URI,null,'1','1','false'}; + private String[] cspUpgradeInsecureRequests_type_info = new String[]{'cspUpgradeInsecureRequests',SOAP_M_URI,null,'1','1','false'}; + private String[] customWebAddresses_type_info = new String[]{'customWebAddresses',SOAP_M_URI,null,'0','-1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] favoriteIcon_type_info = new String[]{'favoriteIcon',SOAP_M_URI,null,'0','1','false'}; + private String[] fileNotFoundPage_type_info = new String[]{'fileNotFoundPage',SOAP_M_URI,null,'0','1','false'}; + private String[] forgotPasswordPage_type_info = new String[]{'forgotPasswordPage',SOAP_M_URI,null,'0','1','false'}; + private String[] genericErrorPage_type_info = new String[]{'genericErrorPage',SOAP_M_URI,null,'0','1','false'}; + private String[] guestProfile_type_info = new String[]{'guestProfile',SOAP_M_URI,null,'0','1','false'}; + private String[] inMaintenancePage_type_info = new String[]{'inMaintenancePage',SOAP_M_URI,null,'0','1','false'}; + private String[] inactiveIndexPage_type_info = new String[]{'inactiveIndexPage',SOAP_M_URI,null,'0','1','false'}; + private String[] indexPage_type_info = new String[]{'indexPage',SOAP_M_URI,null,'1','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] myProfilePage_type_info = new String[]{'myProfilePage',SOAP_M_URI,null,'0','1','false'}; + private String[] portal_type_info = new String[]{'portal',SOAP_M_URI,null,'0','1','false'}; + private String[] referrerPolicyOriginWhenCrossOrigin_type_info = new String[]{'referrerPolicyOriginWhenCrossOrigin',SOAP_M_URI,null,'1','1','false'}; + private String[] requireHttps_type_info = new String[]{'requireHttps',SOAP_M_URI,null,'1','1','false'}; + private String[] requireInsecurePortalAccess_type_info = new String[]{'requireInsecurePortalAccess',SOAP_M_URI,null,'1','1','false'}; + private String[] robotsTxtPage_type_info = new String[]{'robotsTxtPage',SOAP_M_URI,null,'0','1','false'}; + private String[] rootComponent_type_info = new String[]{'rootComponent',SOAP_M_URI,null,'0','1','false'}; + private String[] selfRegPage_type_info = new String[]{'selfRegPage',SOAP_M_URI,null,'0','1','false'}; + private String[] serverIsDown_type_info = new String[]{'serverIsDown',SOAP_M_URI,null,'0','1','false'}; + private String[] siteAdmin_type_info = new String[]{'siteAdmin',SOAP_M_URI,null,'0','1','false'}; + private String[] siteRedirectMappings_type_info = new String[]{'siteRedirectMappings',SOAP_M_URI,null,'0','-1','false'}; + private String[] siteTemplate_type_info = new String[]{'siteTemplate',SOAP_M_URI,null,'0','1','false'}; + private String[] siteType_type_info = new String[]{'siteType',SOAP_M_URI,null,'1','1','false'}; + private String[] subdomain_type_info = new String[]{'subdomain',SOAP_M_URI,null,'0','1','false'}; + private String[] urlPathPrefix_type_info = new String[]{'urlPathPrefix',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'active','allowHomePage','allowStandardAnswersPages','allowStandardIdeasPages','allowStandardLookups','allowStandardPortalPages','allowStandardSearch','analyticsTrackingCode','authorizationRequiredPage','bandwidthExceededPage','browserXssProtection','changePasswordPage','chatterAnswersForgotPasswordConfirmPage','chatterAnswersForgotPasswordPage','chatterAnswersHelpPage','chatterAnswersLoginPage','chatterAnswersRegistrationPage','clickjackProtectionLevel','contentSniffingProtection','cspUpgradeInsecureRequests','customWebAddresses','description','favoriteIcon','fileNotFoundPage','forgotPasswordPage','genericErrorPage','guestProfile','inMaintenancePage','inactiveIndexPage','indexPage','masterLabel','myProfilePage','portal','referrerPolicyOriginWhenCrossOrigin','requireHttps','requireInsecurePortalAccess','robotsTxtPage','rootComponent','selfRegPage','serverIsDown','siteAdmin','siteRedirectMappings','siteTemplate','siteType','subdomain','urlPathPrefix'}; + } + public class Skill extends Metadata { + public String type = 'Skill'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.SkillAssignments assignments; + public String description; + public String label; + private String[] assignments_type_info = new String[]{'assignments',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'assignments','description','label'}; + } + public class renameMetadataResponse_element { + public MetadataService.SaveResult result; + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class RelatedList { + public Boolean hideOnDetail; + public String name; + private String[] hideOnDetail_type_info = new String[]{'hideOnDetail',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'hideOnDetail','name'}; + } + public class SynonymGroup { + public String[] languages; + public String[] terms; + private String[] languages_type_info = new String[]{'languages',SOAP_M_URI,null,'0','-1','false'}; + private String[] terms_type_info = new String[]{'terms',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'languages','terms'}; + } + public class FlowSubflow extends FlowNode { + public String type = 'FlowSubflow'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String description; + public String name; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + public String label; + public Integer locationX; + public Integer locationY; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] locationX_type_info = new String[]{'locationX',SOAP_M_URI,null,'1','1','false'}; + private String[] locationY_type_info = new String[]{'locationY',SOAP_M_URI,null,'1','1','false'}; + public MetadataService.FlowConnector connector; + public String flowName; + public MetadataService.FlowSubflowInputAssignment[] inputAssignments; + public MetadataService.FlowSubflowOutputAssignment[] outputAssignments; + private String[] connector_type_info = new String[]{'connector',SOAP_M_URI,null,'0','1','false'}; + private String[] flowName_type_info = new String[]{'flowName',SOAP_M_URI,null,'1','1','false'}; + private String[] inputAssignments_type_info = new String[]{'inputAssignments',SOAP_M_URI,null,'0','-1','false'}; + private String[] outputAssignments_type_info = new String[]{'outputAssignments',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues','description','name','label','locationX','locationY', 'connector','flowName','inputAssignments','outputAssignments'}; + } + public class MatchingRule extends Metadata { + public String type = 'MatchingRule'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String booleanFilter; + public String description; + public String label; + public MetadataService.MatchingRuleItem[] matchingRuleItems; + public String ruleStatus; + private String[] booleanFilter_type_info = new String[]{'booleanFilter',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] matchingRuleItems_type_info = new String[]{'matchingRuleItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] ruleStatus_type_info = new String[]{'ruleStatus',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'booleanFilter','description','label','matchingRuleItems','ruleStatus'}; + } + public class PasswordPolicies { + public String apiOnlyUserHomePageURL; + public String complexity; + public String expiration; + public String historyRestriction; + public String lockoutInterval; + public String maxLoginAttempts; + public String minimumPasswordLength; + public Boolean minimumPasswordLifetime; + public Boolean obscureSecretAnswer; + public String passwordAssistanceMessage; + public String passwordAssistanceURL; + public String questionRestriction; + private String[] apiOnlyUserHomePageURL_type_info = new String[]{'apiOnlyUserHomePageURL',SOAP_M_URI,null,'0','1','false'}; + private String[] complexity_type_info = new String[]{'complexity',SOAP_M_URI,null,'0','1','false'}; + private String[] expiration_type_info = new String[]{'expiration',SOAP_M_URI,null,'0','1','false'}; + private String[] historyRestriction_type_info = new String[]{'historyRestriction',SOAP_M_URI,null,'0','1','false'}; + private String[] lockoutInterval_type_info = new String[]{'lockoutInterval',SOAP_M_URI,null,'0','1','false'}; + private String[] maxLoginAttempts_type_info = new String[]{'maxLoginAttempts',SOAP_M_URI,null,'0','1','false'}; + private String[] minimumPasswordLength_type_info = new String[]{'minimumPasswordLength',SOAP_M_URI,null,'0','1','false'}; + private String[] minimumPasswordLifetime_type_info = new String[]{'minimumPasswordLifetime',SOAP_M_URI,null,'0','1','false'}; + private String[] obscureSecretAnswer_type_info = new String[]{'obscureSecretAnswer',SOAP_M_URI,null,'0','1','false'}; + private String[] passwordAssistanceMessage_type_info = new String[]{'passwordAssistanceMessage',SOAP_M_URI,null,'0','1','false'}; + private String[] passwordAssistanceURL_type_info = new String[]{'passwordAssistanceURL',SOAP_M_URI,null,'0','1','false'}; + private String[] questionRestriction_type_info = new String[]{'questionRestriction',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'apiOnlyUserHomePageURL','complexity','expiration','historyRestriction','lockoutInterval','maxLoginAttempts','minimumPasswordLength','minimumPasswordLifetime','obscureSecretAnswer','passwordAssistanceMessage','passwordAssistanceURL','questionRestriction'}; + } + public class AnalyticsCloudComponentLayoutItem { + public String assetType; + public String devName; + public String error; + public String filter; + public Integer height; + public Boolean hideOnError; + public Boolean showHeader; + public Boolean showSharing; + public Boolean showTitle; + public String width; + private String[] assetType_type_info = new String[]{'assetType',SOAP_M_URI,null,'1','1','false'}; + private String[] devName_type_info = new String[]{'devName',SOAP_M_URI,null,'1','1','false'}; + private String[] error_type_info = new String[]{'error',SOAP_M_URI,null,'0','1','false'}; + private String[] filter_type_info = new String[]{'filter',SOAP_M_URI,null,'0','1','false'}; + private String[] height_type_info = new String[]{'height',SOAP_M_URI,null,'0','1','false'}; + private String[] hideOnError_type_info = new String[]{'hideOnError',SOAP_M_URI,null,'0','1','false'}; + private String[] showHeader_type_info = new String[]{'showHeader',SOAP_M_URI,null,'0','1','false'}; + private String[] showSharing_type_info = new String[]{'showSharing',SOAP_M_URI,null,'0','1','false'}; + private String[] showTitle_type_info = new String[]{'showTitle',SOAP_M_URI,null,'0','1','false'}; + private String[] width_type_info = new String[]{'width',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'assetType','devName','error','filter','height','hideOnError','showHeader','showSharing','showTitle','width'}; + } + public class ServiceCloudConsoleConfig { + public MetadataService.AppComponentList componentList; + public String detailPageRefreshMethod; + public String footerColor; + public String headerColor; + public MetadataService.KeyboardShortcuts keyboardShortcuts; + public MetadataService.ListPlacement listPlacement; + public String listRefreshMethod; + public MetadataService.LiveAgentConfig liveAgentConfig; + public String primaryTabColor; + public MetadataService.PushNotification[] pushNotifications; + public MetadataService.TabLimitConfig tabLimitConfig; + public String[] whitelistedDomains; + private String[] componentList_type_info = new String[]{'componentList',SOAP_M_URI,null,'0','1','false'}; + private String[] detailPageRefreshMethod_type_info = new String[]{'detailPageRefreshMethod',SOAP_M_URI,null,'1','1','false'}; + private String[] footerColor_type_info = new String[]{'footerColor',SOAP_M_URI,null,'0','1','false'}; + private String[] headerColor_type_info = new String[]{'headerColor',SOAP_M_URI,null,'0','1','false'}; + private String[] keyboardShortcuts_type_info = new String[]{'keyboardShortcuts',SOAP_M_URI,null,'1','1','false'}; + private String[] listPlacement_type_info = new String[]{'listPlacement',SOAP_M_URI,null,'1','1','false'}; + private String[] listRefreshMethod_type_info = new String[]{'listRefreshMethod',SOAP_M_URI,null,'1','1','false'}; + private String[] liveAgentConfig_type_info = new String[]{'liveAgentConfig',SOAP_M_URI,null,'0','1','false'}; + private String[] primaryTabColor_type_info = new String[]{'primaryTabColor',SOAP_M_URI,null,'0','1','false'}; + private String[] pushNotifications_type_info = new String[]{'pushNotifications',SOAP_M_URI,null,'0','-1','false'}; + private String[] tabLimitConfig_type_info = new String[]{'tabLimitConfig',SOAP_M_URI,null,'0','1','false'}; + private String[] whitelistedDomains_type_info = new String[]{'whitelistedDomains',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'componentList','detailPageRefreshMethod','footerColor','headerColor','keyboardShortcuts','listPlacement','listRefreshMethod','liveAgentConfig','primaryTabColor','pushNotifications','tabLimitConfig','whitelistedDomains'}; + } + public class SFDCMobileSettings { + public Boolean enableMobileLite; + public Boolean enableUserToDeviceLinking; + private String[] enableMobileLite_type_info = new String[]{'enableMobileLite',SOAP_M_URI,null,'0','1','false'}; + private String[] enableUserToDeviceLinking_type_info = new String[]{'enableUserToDeviceLinking',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'enableMobileLite','enableUserToDeviceLinking'}; + } + public class SharingReason extends Metadata { + public String type = 'SharingReason'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String label; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'label'}; + } + public class FlowDecision extends FlowNode { + public String type = 'FlowDecision'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String description; + public String name; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + public String label; + public Integer locationX; + public Integer locationY; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] locationX_type_info = new String[]{'locationX',SOAP_M_URI,null,'1','1','false'}; + private String[] locationY_type_info = new String[]{'locationY',SOAP_M_URI,null,'1','1','false'}; + public MetadataService.FlowConnector defaultConnector; + public String defaultConnectorLabel; + public MetadataService.FlowRule[] rules; + private String[] defaultConnector_type_info = new String[]{'defaultConnector',SOAP_M_URI,null,'0','1','false'}; + private String[] defaultConnectorLabel_type_info = new String[]{'defaultConnectorLabel',SOAP_M_URI,null,'0','1','false'}; + private String[] rules_type_info = new String[]{'rules',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues','description','name','label','locationX','locationY', 'defaultConnector','defaultConnectorLabel','rules'}; + } + public class CustomFeedFilter { + public MetadataService.FeedFilterCriterion[] criteria; + public String description; + public Boolean isProtected; + public String label; + private String[] criteria_type_info = new String[]{'criteria',SOAP_M_URI,null,'0','-1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] isProtected_type_info = new String[]{'isProtected',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'criteria','description','isProtected','label'}; + } + public class ProfileRecordTypeVisibility { + public Boolean default_x; + public Boolean personAccountDefault; + public String recordType; + public Boolean visible; + private String[] default_x_type_info = new String[]{'default',SOAP_M_URI,null,'1','1','false'}; + private String[] personAccountDefault_type_info = new String[]{'personAccountDefault',SOAP_M_URI,null,'0','1','false'}; + private String[] recordType_type_info = new String[]{'recordType',SOAP_M_URI,null,'1','1','false'}; + private String[] visible_type_info = new String[]{'visible',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'default_x','personAccountDefault','recordType','visible'}; + } + public class DashboardMobileSettings { + public Boolean enableDashboardIPadApp; + private String[] enableDashboardIPadApp_type_info = new String[]{'enableDashboardIPadApp',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'enableDashboardIPadApp'}; + } + public class SiteRedirectMapping { + public String action; + public Boolean isActive; + public String source; + public String target; + private String[] action_type_info = new String[]{'action',SOAP_M_URI,null,'1','1','false'}; + private String[] isActive_type_info = new String[]{'isActive',SOAP_M_URI,null,'0','1','false'}; + private String[] source_type_info = new String[]{'source',SOAP_M_URI,null,'1','1','false'}; + private String[] target_type_info = new String[]{'target',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'action','isActive','source','target'}; + } + public class AgentConfigProfileAssignments { + public String[] profile; + private String[] profile_type_info = new String[]{'profile',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'profile'}; + } + public interface IReadResult { + MetadataService.Metadata[] getRecords(); + } + public interface IReadResponseElement { + IReadResult getResult(); + } + public class ReadCustomSiteResult implements IReadResult { + public MetadataService.CustomSite[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readCustomSiteResponse_element implements IReadResponseElement { + public MetadataService.ReadCustomSiteResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadListViewResult implements IReadResult { + public MetadataService.ListView[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readListViewResponse_element implements IReadResponseElement { + public MetadataService.ReadListViewResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadInstalledPackageResult implements IReadResult { + public MetadataService.InstalledPackage[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readInstalledPackageResponse_element implements IReadResponseElement { + public MetadataService.ReadInstalledPackageResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadCustomFieldResult implements IReadResult { + public MetadataService.CustomField[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readCustomFieldResponse_element implements IReadResponseElement { + public MetadataService.ReadCustomFieldResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadFieldSetResult implements IReadResult { + public MetadataService.FieldSet[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readFieldSetResponse_element implements IReadResponseElement { + public MetadataService.ReadFieldSetResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadPicklistValueResult implements IReadResult { + public MetadataService.PicklistValue[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readPicklistValueResponse_element implements IReadResponseElement { + public MetadataService.ReadPicklistValueResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadRecordTypeResult implements IReadResult { + public MetadataService.RecordType[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readRecordTypeResponse_element implements IReadResponseElement { + public MetadataService.ReadRecordTypeResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadWebLinkResult implements IReadResult { + public MetadataService.WebLink[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readWebLinkResponse_element implements IReadResponseElement { + public MetadataService.ReadWebLinkResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadAddressSettingsResult implements IReadResult { + public MetadataService.AddressSettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readAddressSettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadAddressSettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadCaseSettingsResult implements IReadResult { + public MetadataService.CaseSettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readCaseSettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadCaseSettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadCustomObjectResult implements IReadResult { + public MetadataService.CustomObject[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readCustomObjectResponse_element implements IReadResponseElement { + public MetadataService.ReadCustomObjectResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadLayoutResult implements IReadResult { + public MetadataService.Layout[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readLayoutResponse_element implements IReadResponseElement { + public MetadataService.ReadLayoutResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadEmailTemplateResult implements IReadResult { + public MetadataService.EmailTemplate[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readEmailTemplateResponse_element implements IReadResponseElement { + public MetadataService.ReadEmailTemplateResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadScontrolResult implements IReadResult { + public MetadataService.Scontrol[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readScontrolResponse_element implements IReadResponseElement { + public MetadataService.ReadScontrolResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadApexPageResult implements IReadResult { + public MetadataService.ApexPage[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readApexPageResponse_element implements IReadResponseElement { + public MetadataService.ReadApexPageResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadApexComponentResult implements IReadResult { + public MetadataService.ApexComponent[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readApexComponentResponse_element implements IReadResponseElement { + public MetadataService.ReadApexComponentResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadApexClassResult implements IReadResult { + public MetadataService.ApexClass[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readApexClassResponse_element implements IReadResponseElement { + public MetadataService.ReadApexClassResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadApexTriggerResult implements IReadResult { + public MetadataService.ApexTrigger[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readApexTriggerResponse_element implements IReadResponseElement { + public MetadataService.ReadApexTriggerResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadStaticResourceResult implements IReadResult { + public MetadataService.StaticResource[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readStaticResourceResponse_element implements IReadResponseElement { + public MetadataService.ReadStaticResourceResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadDocumentResult implements IReadResult { + public MetadataService.Document[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readDocumentResponse_element implements IReadResponseElement { + public MetadataService.ReadDocumentResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadCustomLabelsResult implements IReadResult { + public MetadataService.CustomLabels[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readCustomLabelsResponse_element implements IReadResponseElement { + public MetadataService.ReadCustomLabelsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadCustomLabelResult implements IReadResult { + public MetadataService.CustomLabel[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readCustomLabelResponse_element implements IReadResponseElement { + public MetadataService.ReadCustomLabelResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadAccountSettingsResult implements IReadResult { + public MetadataService.AccountSettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readAccountSettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadAccountSettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadQueueResult implements IReadResult { + public MetadataService.Queue[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readQueueResponse_element implements IReadResponseElement { + public MetadataService.ReadQueueResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadCustomDataTypeResult implements IReadResult { + public MetadataService.CustomDataType[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readCustomDataTypeResponse_element implements IReadResponseElement { + public MetadataService.ReadCustomDataTypeResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadExternalDataSourceResult implements IReadResult { + public MetadataService.ExternalDataSource[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readExternalDataSourceResponse_element implements IReadResponseElement { + public MetadataService.ReadExternalDataSourceResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadGroupResult implements IReadResult { + public MetadataService.Group_x[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readGroupResponse_element implements IReadResponseElement { + public MetadataService.ReadGroupResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadBusinessProcessResult implements IReadResult { + public MetadataService.BusinessProcess[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readBusinessProcessResponse_element implements IReadResponseElement { + public MetadataService.ReadBusinessProcessResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadCompactLayoutResult implements IReadResult { + public MetadataService.CompactLayout[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readCompactLayoutResponse_element implements IReadResponseElement { + public MetadataService.ReadCompactLayoutResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadSharingReasonResult implements IReadResult { + public MetadataService.SharingReason[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readSharingReasonResponse_element implements IReadResponseElement { + public MetadataService.ReadSharingReasonResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadValidationRuleResult implements IReadResult { + public MetadataService.ValidationRule[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readValidationRuleResponse_element implements IReadResponseElement { + public MetadataService.ReadValidationRuleResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadReportTypeResult implements IReadResult { + public MetadataService.ReportType[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readReportTypeResponse_element implements IReadResponseElement { + public MetadataService.ReadReportTypeResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadReportResult implements IReadResult { + public MetadataService.Report[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readReportResponse_element implements IReadResponseElement { + public MetadataService.ReadReportResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadDashboardResult implements IReadResult { + public MetadataService.Dashboard[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readDashboardResponse_element implements IReadResponseElement { + public MetadataService.ReadDashboardResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadAnalyticSnapshotResult implements IReadResult { + public MetadataService.AnalyticSnapshot[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readAnalyticSnapshotResponse_element implements IReadResponseElement { + public MetadataService.ReadAnalyticSnapshotResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadCustomPageWebLinkResult implements IReadResult { + public MetadataService.CustomPageWebLink[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readCustomPageWebLinkResponse_element implements IReadResponseElement { + public MetadataService.ReadCustomPageWebLinkResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadQuickActionResult implements IReadResult { + public MetadataService.QuickAction[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readQuickActionResponse_element implements IReadResponseElement { + public MetadataService.ReadQuickActionResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadFlexiPageResult implements IReadResult { + public MetadataService.FlexiPage[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readFlexiPageResponse_element implements IReadResponseElement { + public MetadataService.ReadFlexiPageResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadCustomTabResult implements IReadResult { + public MetadataService.CustomTab[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readCustomTabResponse_element implements IReadResponseElement { + public MetadataService.ReadCustomTabResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadCustomApplicationComponentResult implements IReadResult { + public MetadataService.CustomApplicationComponent[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readCustomApplicationComponentResponse_element implements IReadResponseElement { + public MetadataService.ReadCustomApplicationComponentResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadCustomApplicationResult implements IReadResult { + public MetadataService.CustomApplication[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readCustomApplicationResponse_element implements IReadResponseElement { + public MetadataService.ReadCustomApplicationResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadPortalResult implements IReadResult { + public MetadataService.Portal[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readPortalResponse_element implements IReadResponseElement { + public MetadataService.ReadPortalResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadLetterheadResult implements IReadResult { + public MetadataService.Letterhead[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readLetterheadResponse_element implements IReadResponseElement { + public MetadataService.ReadLetterheadResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadFlowResult implements IReadResult { + public MetadataService.Flow[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readFlowResponse_element implements IReadResponseElement { + public MetadataService.ReadFlowResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadWorkflowResult implements IReadResult { + public MetadataService.Workflow[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readWorkflowResponse_element implements IReadResponseElement { + public MetadataService.ReadWorkflowResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadWorkflowRuleResult implements IReadResult { + public MetadataService.WorkflowRule[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readWorkflowRuleResponse_element implements IReadResponseElement { + public MetadataService.ReadWorkflowRuleResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadAssignmentRulesResult implements IReadResult { + public MetadataService.AssignmentRules[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readAssignmentRulesResponse_element implements IReadResponseElement { + public MetadataService.ReadAssignmentRulesResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadAssignmentRuleResult implements IReadResult { + public MetadataService.AssignmentRule[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readAssignmentRuleResponse_element implements IReadResponseElement { + public MetadataService.ReadAssignmentRuleResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadAutoResponseRulesResult implements IReadResult { + public MetadataService.AutoResponseRules[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readAutoResponseRulesResponse_element implements IReadResponseElement { + public MetadataService.ReadAutoResponseRulesResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadAutoResponseRuleResult implements IReadResult { + public MetadataService.AutoResponseRule[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readAutoResponseRuleResponse_element implements IReadResponseElement { + public MetadataService.ReadAutoResponseRuleResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadEscalationRulesResult implements IReadResult { + public MetadataService.EscalationRules[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readEscalationRulesResponse_element implements IReadResponseElement { + public MetadataService.ReadEscalationRulesResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadEscalationRuleResult implements IReadResult { + public MetadataService.EscalationRule[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readEscalationRuleResponse_element implements IReadResponseElement { + public MetadataService.ReadEscalationRuleResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadPostTemplateResult implements IReadResult { + public MetadataService.PostTemplate[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readPostTemplateResponse_element implements IReadResponseElement { + public MetadataService.ReadPostTemplateResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadApprovalProcessResult implements IReadResult { + public MetadataService.ApprovalProcess[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readApprovalProcessResponse_element implements IReadResponseElement { + public MetadataService.ReadApprovalProcessResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadHomePageComponentResult implements IReadResult { + public MetadataService.HomePageComponent[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readHomePageComponentResponse_element implements IReadResponseElement { + public MetadataService.ReadHomePageComponentResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadHomePageLayoutResult implements IReadResult { + public MetadataService.HomePageLayout[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readHomePageLayoutResponse_element implements IReadResponseElement { + public MetadataService.ReadHomePageLayoutResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadCustomObjectTranslationResult implements IReadResult { + public MetadataService.CustomObjectTranslation[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readCustomObjectTranslationResponse_element implements IReadResponseElement { + public MetadataService.ReadCustomObjectTranslationResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadTranslationsResult implements IReadResult { + public MetadataService.Translations[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readTranslationsResponse_element implements IReadResponseElement { + public MetadataService.ReadTranslationsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadProfileResult implements IReadResult { + public MetadataService.Profile[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readProfileResponse_element implements IReadResponseElement { + public MetadataService.ReadProfileResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadPermissionSetResult implements IReadResult { + public MetadataService.PermissionSet[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readPermissionSetResponse_element implements IReadResponseElement { + public MetadataService.ReadPermissionSetResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadDataCategoryGroupResult implements IReadResult { + public MetadataService.DataCategoryGroup[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readDataCategoryGroupResponse_element implements IReadResponseElement { + public MetadataService.ReadDataCategoryGroupResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadRemoteSiteSettingResult implements IReadResult { + public MetadataService.RemoteSiteSetting[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readRemoteSiteSettingResponse_element implements IReadResponseElement { + public MetadataService.ReadRemoteSiteSettingResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadPackageResult implements IReadResult { + public MetadataService.Package_x[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readPackageResponse_element implements IReadResponseElement { + public MetadataService.ReadPackageResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadAuthProviderResult implements IReadResult { + public MetadataService.AuthProvider[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readAuthProviderResponse_element implements IReadResponseElement { + public MetadataService.ReadAuthProviderResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadKnowledgeSettingsResult implements IReadResult { + public MetadataService.KnowledgeSettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readKnowledgeSettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadKnowledgeSettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadSharingSetResult implements IReadResult { + public MetadataService.SharingSet[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readSharingSetResponse_element implements IReadResponseElement { + public MetadataService.ReadSharingSetResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadSecuritySettingsResult implements IReadResult { + public MetadataService.SecuritySettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readSecuritySettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadSecuritySettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadIdeasSettingsResult implements IReadResult { + public MetadataService.IdeasSettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readIdeasSettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadIdeasSettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadChatterAnswersSettingsResult implements IReadResult { + public MetadataService.ChatterAnswersSettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readChatterAnswersSettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadChatterAnswersSettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadCommunityResult implements IReadResult { + public MetadataService.Community[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readCommunityResponse_element implements IReadResponseElement { + public MetadataService.ReadCommunityResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadActivitiesSettingsResult implements IReadResult { + public MetadataService.ActivitiesSettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readActivitiesSettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadActivitiesSettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadContractSettingsResult implements IReadResult { + public MetadataService.ContractSettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readContractSettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadContractSettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadOrderSettingsResult implements IReadResult { + public MetadataService.OrderSettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readOrderSettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadOrderSettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadOpportunitySettingsResult implements IReadResult { + public MetadataService.OpportunitySettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readOpportunitySettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadOpportunitySettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadProductSettingsResult implements IReadResult { + public MetadataService.ProductSettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readProductSettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadProductSettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadQuoteSettingsResult implements IReadResult { + public MetadataService.QuoteSettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readQuoteSettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadQuoteSettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadCallCenterResult implements IReadResult { + public MetadataService.CallCenter[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readCallCenterResponse_element implements IReadResponseElement { + public MetadataService.ReadCallCenterResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadEntitlementProcessResult implements IReadResult { + public MetadataService.EntitlementProcess[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readEntitlementProcessResponse_element implements IReadResponseElement { + public MetadataService.ReadEntitlementProcessResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadMilestoneTypeResult implements IReadResult { + public MetadataService.MilestoneType[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readMilestoneTypeResponse_element implements IReadResponseElement { + public MetadataService.ReadMilestoneTypeResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadEntitlementTemplateResult implements IReadResult { + public MetadataService.EntitlementTemplate[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readEntitlementTemplateResponse_element implements IReadResponseElement { + public MetadataService.ReadEntitlementTemplateResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadEntitlementSettingsResult implements IReadResult { + public MetadataService.EntitlementSettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readEntitlementSettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadEntitlementSettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadBusinessHoursSettingsResult implements IReadResult { + public MetadataService.BusinessHoursSettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readBusinessHoursSettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadBusinessHoursSettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadBusinessHoursEntryResult implements IReadResult { + public MetadataService.BusinessHoursEntry[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readBusinessHoursEntryResponse_element implements IReadResponseElement { + public MetadataService.ReadBusinessHoursEntryResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadConnectedAppResult implements IReadResult { + public MetadataService.ConnectedApp[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readConnectedAppResponse_element implements IReadResponseElement { + public MetadataService.ReadConnectedAppResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadAppMenuResult implements IReadResult { + public MetadataService.AppMenu[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readAppMenuResponse_element implements IReadResponseElement { + public MetadataService.ReadAppMenuResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadMobileSettingsResult implements IReadResult { + public MetadataService.MobileSettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readMobileSettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadMobileSettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadNetworkResult implements IReadResult { + public MetadataService.Network[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readNetworkResponse_element implements IReadResponseElement { + public MetadataService.ReadNetworkResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadCompanySettingsResult implements IReadResult { + public MetadataService.CompanySettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readCompanySettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadCompanySettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadForecastingSettingsResult implements IReadResult { + public MetadataService.ForecastingSettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readForecastingSettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadForecastingSettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadSamlSsoConfigResult implements IReadResult { + public MetadataService.SamlSsoConfig[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readSamlSsoConfigResponse_element implements IReadResponseElement { + public MetadataService.ReadSamlSsoConfigResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadLiveAgentSettingsResult implements IReadResult { + public MetadataService.LiveAgentSettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readLiveAgentSettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadLiveAgentSettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadSkillResult implements IReadResult { + public MetadataService.Skill[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readSkillResponse_element implements IReadResponseElement { + public MetadataService.ReadSkillResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadLiveChatDeploymentResult implements IReadResult { + public MetadataService.LiveChatDeployment[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readLiveChatDeploymentResponse_element implements IReadResponseElement { + public MetadataService.ReadLiveChatDeploymentResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadLiveChatButtonResult implements IReadResult { + public MetadataService.LiveChatButton[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readLiveChatButtonResponse_element implements IReadResponseElement { + public MetadataService.ReadLiveChatButtonResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadLiveChatAgentConfigResult implements IReadResult { + public MetadataService.LiveChatAgentConfig[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readLiveChatAgentConfigResponse_element implements IReadResponseElement { + public MetadataService.ReadLiveChatAgentConfigResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadSynonymDictionaryResult implements IReadResult { + public MetadataService.SynonymDictionary[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readSynonymDictionaryResponse_element implements IReadResponseElement { + public MetadataService.ReadSynonymDictionaryResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadFolderResult implements IReadResult { + public MetadataService.Folder[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readFolderResponse_element implements IReadResponseElement { + public MetadataService.ReadFolderResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadReportFolderResult implements IReadResult { + public MetadataService.ReportFolder[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readReportFolderResponse_element implements IReadResponseElement { + public MetadataService.ReadReportFolderResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadDashboardFolderResult implements IReadResult { + public MetadataService.DashboardFolder[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readDashboardFolderResponse_element implements IReadResponseElement { + public MetadataService.ReadDashboardFolderResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadDocumentFolderResult implements IReadResult { + public MetadataService.DocumentFolder[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readDocumentFolderResponse_element implements IReadResponseElement { + public MetadataService.ReadDocumentFolderResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadEmailFolderResult implements IReadResult { + public MetadataService.EmailFolder[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readEmailFolderResponse_element implements IReadResponseElement { + public MetadataService.ReadEmailFolderResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadRoleOrTerritoryResult implements IReadResult { + public MetadataService.RoleOrTerritory[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readRoleOrTerritoryResponse_element implements IReadResponseElement { + public MetadataService.ReadRoleOrTerritoryResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadWorkflowActionResult implements IReadResult { + public MetadataService.WorkflowAction[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readWorkflowActionResponse_element implements IReadResponseElement { + public MetadataService.ReadWorkflowActionResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadSiteDotComResult implements IReadResult { + public MetadataService.SiteDotCom[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readSiteDotComResponse_element implements IReadResponseElement { + public MetadataService.ReadSiteDotComResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadWorkflowTaskResult implements IReadResult { + public MetadataService.WorkflowTask[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readWorkflowTaskResponse_element implements IReadResponseElement { + public MetadataService.ReadWorkflowTaskResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadWorkflowSendResult implements IReadResult { + public MetadataService.WorkflowSend[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readWorkflowSendResponse_element implements IReadResponseElement { + public MetadataService.ReadWorkflowSendResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadWorkflowOutboundMessageResult implements IReadResult { + public MetadataService.WorkflowOutboundMessage[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readWorkflowOutboundMessageResponse_element implements IReadResponseElement { + public MetadataService.ReadWorkflowOutboundMessageResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadWorkflowKnowledgePublishResult implements IReadResult { + public MetadataService.WorkflowKnowledgePublish[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readWorkflowKnowledgePublishResponse_element implements IReadResponseElement { + public MetadataService.ReadWorkflowKnowledgePublishResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadWorkflowFieldUpdateResult implements IReadResult { + public MetadataService.WorkflowFieldUpdate[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readWorkflowFieldUpdateResponse_element implements IReadResponseElement { + public MetadataService.ReadWorkflowFieldUpdateResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadWorkflowAlertResult implements IReadResult { + public MetadataService.WorkflowAlert[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readWorkflowAlertResponse_element implements IReadResponseElement { + public MetadataService.ReadWorkflowAlertResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadVisualizationPluginResult implements IReadResult { + public MetadataService.VisualizationPlugin[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readVisualizationPluginResponse_element implements IReadResponseElement { + public MetadataService.ReadVisualizationPluginResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadCustomMetadataResult implements IReadResult { + public MetadataService.CustomMetadata[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readCustomMetadataResponse_element implements IReadResponseElement { + public MetadataService.ReadCustomMetadataResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadNameSettingsResult implements IReadResult { + public MetadataService.NameSettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readNameSettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadNameSettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadMarketingActionSettingsResult implements IReadResult { + public MetadataService.MarketingActionSettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readMarketingActionSettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadMarketingActionSettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadCustomPermissionResult implements IReadResult { + public MetadataService.CustomPermission[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readCustomPermissionResponse_element implements IReadResponseElement { + public MetadataService.ReadCustomPermissionResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadAuraDefinitionBundleResult implements IReadResult { + public MetadataService.AuraDefinitionBundle[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readAuraDefinitionBundleResponse_element implements IReadResponseElement { + public MetadataService.ReadAuraDefinitionBundleResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadCorsWhitelistOriginResult implements IReadResult { + public MetadataService.CorsWhitelistOrigin[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readCorsWhitelistOriginResponse_element implements IReadResponseElement { + public MetadataService.ReadCorsWhitelistOriginResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadManagedTopicsResult implements IReadResult { + public MetadataService.ManagedTopics[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readManagedTopicsResponse_element implements IReadResponseElement { + public MetadataService.ReadManagedTopicsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadTerritory2Result implements IReadResult { + public MetadataService.Territory2[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readTerritory2Response_element implements IReadResponseElement { + public MetadataService.ReadTerritory2Result result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadTerritory2ModelResult implements IReadResult { + public MetadataService.Territory2Model[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readTerritory2ModelResponse_element implements IReadResponseElement { + public MetadataService.ReadTerritory2ModelResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadTerritory2SettingsResult implements IReadResult { + public MetadataService.Territory2Settings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readTerritory2SettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadTerritory2SettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadTerritory2TypeResult implements IReadResult { + public MetadataService.Territory2Type[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readTerritory2TypeResponse_element implements IReadResponseElement { + public MetadataService.ReadTerritory2TypeResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadXOrgHubResult implements IReadResult { + public MetadataService.XOrgHub[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readXOrgHubResponse_element implements IReadResponseElement { + public MetadataService.ReadXOrgHubResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadActionLinkGroupTemplateResult implements IReadResult { + public MetadataService.ActionLinkGroupTemplate[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readActionLinkGroupTemplateResponse_element implements IReadResponseElement { + public MetadataService.ReadActionLinkGroupTemplateResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadLicenseDefinitionResult implements IReadResult { + public MetadataService.LicenseDefinition[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readLicenseDefinitionResponse_element implements IReadResponseElement { + public MetadataService.ReadLicenseDefinitionResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadMarketingResourceTypeResult implements IReadResult { + public MetadataService.MarketingResourceType[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readMarketingResourceTypeResponse_element implements IReadResponseElement { + public MetadataService.ReadMarketingResourceTypeResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadMatchingRuleResult implements IReadResult { + public MetadataService.MatchingRule[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readMatchingRuleResponse_element implements IReadResponseElement { + public MetadataService.ReadMatchingRuleResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadMatchingRulesResult implements IReadResult { + public MetadataService.MatchingRules[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readMatchingRulesResponse_element implements IReadResponseElement { + public MetadataService.ReadMatchingRulesResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadNamedCredentialResult implements IReadResult { + public MetadataService.NamedCredential[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readNamedCredentialResponse_element implements IReadResponseElement { + public MetadataService.ReadNamedCredentialResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadPersonalJourneySettingsResult implements IReadResult { + public MetadataService.PersonalJourneySettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readPersonalJourneySettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadPersonalJourneySettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadSharingRulesResult implements IReadResult { + public MetadataService.SharingRules[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readSharingRulesResponse_element implements IReadResponseElement { + public MetadataService.ReadSharingRulesResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadSharingBaseRuleResult implements IReadResult { + public MetadataService.SharingBaseRule[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readSharingBaseRuleResponse_element implements IReadResponseElement { + public MetadataService.ReadSharingBaseRuleResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadSharingCriteriaRuleResult implements IReadResult { + public MetadataService.SharingCriteriaRule[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readSharingCriteriaRuleResponse_element implements IReadResponseElement { + public MetadataService.ReadSharingCriteriaRuleResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadSharingOwnerRuleResult implements IReadResult { + public MetadataService.SharingOwnerRule[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readSharingOwnerRuleResponse_element implements IReadResponseElement { + public MetadataService.ReadSharingOwnerRuleResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadSharingTerritoryRuleResult implements IReadResult { + public MetadataService.SharingTerritoryRule[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readSharingTerritoryRuleResponse_element implements IReadResponseElement { + public MetadataService.ReadSharingTerritoryRuleResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadMetadataWithContentResult implements IReadResult { + public MetadataService.MetadataWithContent[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readMetadataWithContentResponse_element implements IReadResponseElement { + public MetadataService.ReadMetadataWithContentResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadDelegateGroupResult implements IReadResult { + public MetadataService.DelegateGroup[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readDelegateGroupResponse_element implements IReadResponseElement { + public MetadataService.ReadDelegateGroupResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadEventDeliveryResult implements IReadResult { + public MetadataService.EventDelivery[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readEventDeliveryResponse_element implements IReadResponseElement { + public MetadataService.ReadEventDeliveryResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadEventSubscriptionResult implements IReadResult { + public MetadataService.EventSubscription[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readEventSubscriptionResponse_element implements IReadResponseElement { + public MetadataService.ReadEventSubscriptionResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadEventTypeResult implements IReadResult { + public MetadataService.EventType[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readEventTypeResponse_element implements IReadResponseElement { + public MetadataService.ReadEventTypeResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadCertificateResult implements IReadResult { + public MetadataService.Certificate[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readCertificateResponse_element implements IReadResponseElement { + public MetadataService.ReadCertificateResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadModerationRuleResult implements IReadResult { + public MetadataService.ModerationRule[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readModerationRuleResponse_element implements IReadResponseElement { + public MetadataService.ReadModerationRuleResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadWaveApplicationResult implements IReadResult { + public MetadataService.WaveApplication[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readWaveApplicationResponse_element implements IReadResponseElement { + public MetadataService.ReadWaveApplicationResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadWaveDatasetResult implements IReadResult { + public MetadataService.WaveDataset[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readWaveDatasetResponse_element implements IReadResponseElement { + public MetadataService.ReadWaveDatasetResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadWaveDashboardResult implements IReadResult { + public MetadataService.WaveDashboard[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readWaveDashboardResponse_element implements IReadResponseElement { + public MetadataService.ReadWaveDashboardResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadWaveDataflowResult implements IReadResult { + public MetadataService.WaveDataflow[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readWaveDataflowResponse_element implements IReadResponseElement { + public MetadataService.ReadWaveDataflowResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadWaveLensResult implements IReadResult { + public MetadataService.WaveLens[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readWaveLensResponse_element implements IReadResponseElement { + public MetadataService.ReadWaveLensResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadOrgPreferenceSettingsResult implements IReadResult { + public MetadataService.OrgPreferenceSettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readOrgPreferenceSettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadOrgPreferenceSettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadSearchSettingsResult implements IReadResult { + public MetadataService.SearchSettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readSearchSettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadSearchSettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadGlobalValueSetResult implements IReadResult { + public MetadataService.GlobalValueSet[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readGlobalValueSetResponse_element implements IReadResponseElement { + public MetadataService.ReadGlobalValueSetResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadGlobalPicklistValueResult implements IReadResult { + public MetadataService.GlobalPicklistValue[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readGlobalPicklistValueResponse_element implements IReadResponseElement { + public MetadataService.ReadGlobalPicklistValueResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadStandardValueSetResult implements IReadResult { + public MetadataService.StandardValueSet[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readStandardValueSetResponse_element implements IReadResponseElement { + public MetadataService.ReadStandardValueSetResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadStandardValueResult implements IReadResult { + public MetadataService.StandardValue[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readStandardValueResponse_element implements IReadResponseElement { + public MetadataService.ReadStandardValueResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadCustomValueResult implements IReadResult { + public MetadataService.CustomValue[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readCustomValueResponse_element implements IReadResponseElement { + public MetadataService.ReadCustomValueResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadApexTestSuiteResult implements IReadResult { + public MetadataService.ApexTestSuite[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readApexTestSuiteResponse_element implements IReadResponseElement { + public MetadataService.ReadApexTestSuiteResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadChannelLayoutResult implements IReadResult { + public MetadataService.ChannelLayout[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readChannelLayoutResponse_element implements IReadResponseElement { + public MetadataService.ReadChannelLayoutResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadContentAssetResult implements IReadResult { + public MetadataService.ContentAsset[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readContentAssetResponse_element implements IReadResponseElement { + public MetadataService.ReadContentAssetResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadEmailServicesFunctionResult implements IReadResult { + public MetadataService.EmailServicesFunction[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readEmailServicesFunctionResponse_element implements IReadResponseElement { + public MetadataService.ReadEmailServicesFunctionResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadEmbeddedServiceBrandingResult implements IReadResult { + public MetadataService.EmbeddedServiceBranding[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readEmbeddedServiceBrandingResponse_element implements IReadResponseElement { + public MetadataService.ReadEmbeddedServiceBrandingResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadEmbeddedServiceConfigResult implements IReadResult { + public MetadataService.EmbeddedServiceConfig[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readEmbeddedServiceConfigResponse_element implements IReadResponseElement { + public MetadataService.ReadEmbeddedServiceConfigResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadEmbeddedServiceLiveAgentResult implements IReadResult { + public MetadataService.EmbeddedServiceLiveAgent[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readEmbeddedServiceLiveAgentResponse_element implements IReadResponseElement { + public MetadataService.ReadEmbeddedServiceLiveAgentResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadCaseSubjectParticleResult implements IReadResult { + public MetadataService.CaseSubjectParticle[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readCaseSubjectParticleResponse_element implements IReadResponseElement { + public MetadataService.ReadCaseSubjectParticleResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadNetworkBrandingResult implements IReadResult { + public MetadataService.NetworkBranding[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readNetworkBrandingResponse_element implements IReadResponseElement { + public MetadataService.ReadNetworkBrandingResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadSocialCustomerServiceSettingsResult implements IReadResult { + public MetadataService.SocialCustomerServiceSettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readSocialCustomerServiceSettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadSocialCustomerServiceSettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadTopicsForObjectsResult implements IReadResult { + public MetadataService.TopicsForObjects[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readTopicsForObjectsResponse_element implements IReadResponseElement { + public MetadataService.ReadTopicsForObjectsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadBrandingSetResult implements IReadResult { + public MetadataService.BrandingSet[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readBrandingSetResponse_element implements IReadResponseElement { + public MetadataService.ReadBrandingSetResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadProfilePasswordPolicyResult implements IReadResult { + public MetadataService.ProfilePasswordPolicy[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readProfilePasswordPolicyResponse_element implements IReadResponseElement { + public MetadataService.ReadProfilePasswordPolicyResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadProfileSessionSettingResult implements IReadResult { + public MetadataService.ProfileSessionSetting[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readProfileSessionSettingResponse_element implements IReadResponseElement { + public MetadataService.ReadProfileSessionSettingResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadCspTrustedSiteResult implements IReadResult { + public MetadataService.CspTrustedSite[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readCspTrustedSiteResponse_element implements IReadResponseElement { + public MetadataService.ReadCspTrustedSiteResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadEclairGeoDataResult implements IReadResult { + public MetadataService.EclairGeoData[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readEclairGeoDataResponse_element implements IReadResponseElement { + public MetadataService.ReadEclairGeoDataResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadExternalServiceRegistrationResult implements IReadResult { + public MetadataService.ExternalServiceRegistration[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readExternalServiceRegistrationResponse_element implements IReadResponseElement { + public MetadataService.ReadExternalServiceRegistrationResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadFileUploadAndDownloadSecuritySettingsResult implements IReadResult { + public MetadataService.FileUploadAndDownloadSecuritySettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readFileUploadAndDownloadSecuritySettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadFileUploadAndDownloadSecuritySettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadLeadConvertSettingsResult implements IReadResult { + public MetadataService.LeadConvertSettings[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readLeadConvertSettingsResponse_element implements IReadResponseElement { + public MetadataService.ReadLeadConvertSettingsResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadUserCriteriaResult implements IReadResult { + public MetadataService.UserCriteria[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readUserCriteriaResponse_element implements IReadResponseElement { + public MetadataService.ReadUserCriteriaResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadWavexmdResult implements IReadResult { + public MetadataService.Wavexmd[] records; + public MetadataService.Metadata[] getRecords() { return records; } + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class readWavexmdResponse_element implements IReadResponseElement { + public MetadataService.ReadWavexmdResult result; + public IReadResult getResult() { return result; } + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class ReadResult { + public MetadataService.Metadata[] records; + private String[] records_type_info = new String[]{'records',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'records'}; + } + public class ReportBucketFieldValue { + public MetadataService.ReportBucketFieldSourceValue[] sourceValues; + public String value; + private String[] sourceValues_type_info = new String[]{'sourceValues',SOAP_M_URI,null,'0','-1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'sourceValues','value'}; + } + public class BrandingSetProperty { + public String propertyName; + public String propertyValue; + private String[] propertyName_type_info = new String[]{'propertyName',SOAP_M_URI,null,'1','1','false'}; + private String[] propertyValue_type_info = new String[]{'propertyValue',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'propertyName','propertyValue'}; + } + public class ProfileApexPageAccess { + public String apexPage; + public Boolean enabled; + private String[] apexPage_type_info = new String[]{'apexPage',SOAP_M_URI,null,'1','1','false'}; + private String[] enabled_type_info = new String[]{'enabled',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'apexPage','enabled'}; + } + public class Scontrol extends MetadataWithContent { + public String type = 'Scontrol'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String content; + private String[] content_type_info = new String[]{'content',SOAP_M_URI,null,'0','1','false'}; + public String contentSource; + public String description; + public String encodingKey; + public String fileContent; + public String fileName; + public String name; + public Boolean supportsCaching; + private String[] contentSource_type_info = new String[]{'contentSource',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] encodingKey_type_info = new String[]{'encodingKey',SOAP_M_URI,null,'1','1','false'}; + private String[] fileContent_type_info = new String[]{'fileContent',SOAP_M_URI,null,'0','1','false'}; + private String[] fileName_type_info = new String[]{'fileName',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] supportsCaching_type_info = new String[]{'supportsCaching',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','content', 'contentSource','description','encodingKey','fileContent','fileName','name','supportsCaching'}; + } + public class Network extends Metadata { + public String type = 'Network'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean allowInternalUserLogin; + public Boolean allowMembersToFlag; + public String allowedExtensions; + public String caseCommentEmailTemplate; + public String changePasswordTemplate; + public MetadataService.CommunityRoles communityRoles; + public String description; + public Boolean disableReputationRecordConversations; + public String emailFooterLogo; + public String emailFooterText; + public String emailSenderAddress; + public String emailSenderName; + public Boolean enableCustomVFErrorPageOverrides; + public Boolean enableDirectMessages; + public Boolean enableGuestChatter; + public Boolean enableGuestFileAccess; + public Boolean enableInvitation; + public Boolean enableKnowledgeable; + public Boolean enableNicknameDisplay; + public Boolean enablePrivateMessages; + public Boolean enableReputation; + public Boolean enableShowAllNetworkSettings; + public Boolean enableSiteAsContainer; + public Boolean enableTalkingAboutStats; + public Boolean enableTopicAssignmentRules; + public Boolean enableTopicSuggestions; + public Boolean enableUpDownVote; + public String feedChannel; + public String forgotPasswordTemplate; + public Boolean gatherCustomerSentimentData; + public String logoutUrl; + public Integer maxFileSizeKb; + public MetadataService.NavigationLinkSet navigationLinkSet; + public MetadataService.NetworkMemberGroup networkMemberGroups; + public MetadataService.NetworkPageOverride networkPageOverrides; + public String newSenderAddress; + public String picassoSite; + public MetadataService.RecommendationAudience recommendationAudience; + public MetadataService.RecommendationDefinition recommendationDefinition; + public MetadataService.ReputationLevelDefinitions reputationLevels; + public MetadataService.ReputationPointsRules reputationPointsRules; + public String selfRegProfile; + public Boolean selfRegistration; + public Boolean sendWelcomeEmail; + public String site; + public String status; + public MetadataService.NetworkTabSet tabs; + public String urlPathPrefix; + public String welcomeTemplate; + private String[] allowInternalUserLogin_type_info = new String[]{'allowInternalUserLogin',SOAP_M_URI,null,'0','1','false'}; + private String[] allowMembersToFlag_type_info = new String[]{'allowMembersToFlag',SOAP_M_URI,null,'0','1','false'}; + private String[] allowedExtensions_type_info = new String[]{'allowedExtensions',SOAP_M_URI,null,'0','1','false'}; + private String[] caseCommentEmailTemplate_type_info = new String[]{'caseCommentEmailTemplate',SOAP_M_URI,null,'0','1','false'}; + private String[] changePasswordTemplate_type_info = new String[]{'changePasswordTemplate',SOAP_M_URI,null,'1','1','false'}; + private String[] communityRoles_type_info = new String[]{'communityRoles',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] disableReputationRecordConversations_type_info = new String[]{'disableReputationRecordConversations',SOAP_M_URI,null,'0','1','false'}; + private String[] emailFooterLogo_type_info = new String[]{'emailFooterLogo',SOAP_M_URI,null,'0','1','false'}; + private String[] emailFooterText_type_info = new String[]{'emailFooterText',SOAP_M_URI,null,'0','1','false'}; + private String[] emailSenderAddress_type_info = new String[]{'emailSenderAddress',SOAP_M_URI,null,'1','1','false'}; + private String[] emailSenderName_type_info = new String[]{'emailSenderName',SOAP_M_URI,null,'1','1','false'}; + private String[] enableCustomVFErrorPageOverrides_type_info = new String[]{'enableCustomVFErrorPageOverrides',SOAP_M_URI,null,'0','1','false'}; + private String[] enableDirectMessages_type_info = new String[]{'enableDirectMessages',SOAP_M_URI,null,'0','1','false'}; + private String[] enableGuestChatter_type_info = new String[]{'enableGuestChatter',SOAP_M_URI,null,'0','1','false'}; + private String[] enableGuestFileAccess_type_info = new String[]{'enableGuestFileAccess',SOAP_M_URI,null,'0','1','false'}; + private String[] enableInvitation_type_info = new String[]{'enableInvitation',SOAP_M_URI,null,'0','1','false'}; + private String[] enableKnowledgeable_type_info = new String[]{'enableKnowledgeable',SOAP_M_URI,null,'0','1','false'}; + private String[] enableNicknameDisplay_type_info = new String[]{'enableNicknameDisplay',SOAP_M_URI,null,'0','1','false'}; + private String[] enablePrivateMessages_type_info = new String[]{'enablePrivateMessages',SOAP_M_URI,null,'0','1','false'}; + private String[] enableReputation_type_info = new String[]{'enableReputation',SOAP_M_URI,null,'0','1','false'}; + private String[] enableShowAllNetworkSettings_type_info = new String[]{'enableShowAllNetworkSettings',SOAP_M_URI,null,'0','1','false'}; + private String[] enableSiteAsContainer_type_info = new String[]{'enableSiteAsContainer',SOAP_M_URI,null,'0','1','false'}; + private String[] enableTalkingAboutStats_type_info = new String[]{'enableTalkingAboutStats',SOAP_M_URI,null,'0','1','false'}; + private String[] enableTopicAssignmentRules_type_info = new String[]{'enableTopicAssignmentRules',SOAP_M_URI,null,'0','1','false'}; + private String[] enableTopicSuggestions_type_info = new String[]{'enableTopicSuggestions',SOAP_M_URI,null,'0','1','false'}; + private String[] enableUpDownVote_type_info = new String[]{'enableUpDownVote',SOAP_M_URI,null,'0','1','false'}; + private String[] feedChannel_type_info = new String[]{'feedChannel',SOAP_M_URI,null,'0','1','false'}; + private String[] forgotPasswordTemplate_type_info = new String[]{'forgotPasswordTemplate',SOAP_M_URI,null,'1','1','false'}; + private String[] gatherCustomerSentimentData_type_info = new String[]{'gatherCustomerSentimentData',SOAP_M_URI,null,'0','1','false'}; + private String[] logoutUrl_type_info = new String[]{'logoutUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] maxFileSizeKb_type_info = new String[]{'maxFileSizeKb',SOAP_M_URI,null,'0','1','false'}; + private String[] navigationLinkSet_type_info = new String[]{'navigationLinkSet',SOAP_M_URI,null,'0','1','false'}; + private String[] networkMemberGroups_type_info = new String[]{'networkMemberGroups',SOAP_M_URI,null,'0','1','false'}; + private String[] networkPageOverrides_type_info = new String[]{'networkPageOverrides',SOAP_M_URI,null,'0','1','false'}; + private String[] newSenderAddress_type_info = new String[]{'newSenderAddress',SOAP_M_URI,null,'0','1','false'}; + private String[] picassoSite_type_info = new String[]{'picassoSite',SOAP_M_URI,null,'0','1','false'}; + private String[] recommendationAudience_type_info = new String[]{'recommendationAudience',SOAP_M_URI,null,'0','1','false'}; + private String[] recommendationDefinition_type_info = new String[]{'recommendationDefinition',SOAP_M_URI,null,'0','1','false'}; + private String[] reputationLevels_type_info = new String[]{'reputationLevels',SOAP_M_URI,null,'0','1','false'}; + private String[] reputationPointsRules_type_info = new String[]{'reputationPointsRules',SOAP_M_URI,null,'0','1','false'}; + private String[] selfRegProfile_type_info = new String[]{'selfRegProfile',SOAP_M_URI,null,'0','1','false'}; + private String[] selfRegistration_type_info = new String[]{'selfRegistration',SOAP_M_URI,null,'0','1','false'}; + private String[] sendWelcomeEmail_type_info = new String[]{'sendWelcomeEmail',SOAP_M_URI,null,'0','1','false'}; + private String[] site_type_info = new String[]{'site',SOAP_M_URI,null,'1','1','false'}; + private String[] status_type_info = new String[]{'status',SOAP_M_URI,null,'1','1','false'}; + private String[] tabs_type_info = new String[]{'tabs',SOAP_M_URI,null,'1','1','false'}; + private String[] urlPathPrefix_type_info = new String[]{'urlPathPrefix',SOAP_M_URI,null,'0','1','false'}; + private String[] welcomeTemplate_type_info = new String[]{'welcomeTemplate',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'allowInternalUserLogin','allowMembersToFlag','allowedExtensions','caseCommentEmailTemplate','changePasswordTemplate','communityRoles','description','disableReputationRecordConversations','emailFooterLogo','emailFooterText','emailSenderAddress','emailSenderName','enableCustomVFErrorPageOverrides','enableDirectMessages','enableGuestChatter','enableGuestFileAccess','enableInvitation','enableKnowledgeable','enableNicknameDisplay','enablePrivateMessages','enableReputation','enableShowAllNetworkSettings','enableSiteAsContainer','enableTalkingAboutStats','enableTopicAssignmentRules','enableTopicSuggestions','enableUpDownVote','feedChannel','forgotPasswordTemplate','gatherCustomerSentimentData','logoutUrl','maxFileSizeKb','navigationLinkSet','networkMemberGroups','networkPageOverrides','newSenderAddress','picassoSite','recommendationAudience','recommendationDefinition','reputationLevels','reputationPointsRules','selfRegProfile','selfRegistration','sendWelcomeEmail','site','status','tabs','urlPathPrefix','welcomeTemplate'}; + } + public class ActionLinkTemplate { + public String actionUrl; + public String headers; + public Boolean isConfirmationRequired; + public Boolean isGroupDefault; + public String label; + public String labelKey; + public String linkType; + public String method; + public Integer position; + public String requestBody; + public String userAlias; + public String userVisibility; + private String[] actionUrl_type_info = new String[]{'actionUrl',SOAP_M_URI,null,'1','1','false'}; + private String[] headers_type_info = new String[]{'headers',SOAP_M_URI,null,'0','1','false'}; + private String[] isConfirmationRequired_type_info = new String[]{'isConfirmationRequired',SOAP_M_URI,null,'1','1','false'}; + private String[] isGroupDefault_type_info = new String[]{'isGroupDefault',SOAP_M_URI,null,'1','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'0','1','false'}; + private String[] labelKey_type_info = new String[]{'labelKey',SOAP_M_URI,null,'1','1','false'}; + private String[] linkType_type_info = new String[]{'linkType',SOAP_M_URI,null,'1','1','false'}; + private String[] method_type_info = new String[]{'method',SOAP_M_URI,null,'1','1','false'}; + private String[] position_type_info = new String[]{'position',SOAP_M_URI,null,'1','1','false'}; + private String[] requestBody_type_info = new String[]{'requestBody',SOAP_M_URI,null,'0','1','false'}; + private String[] userAlias_type_info = new String[]{'userAlias',SOAP_M_URI,null,'0','1','false'}; + private String[] userVisibility_type_info = new String[]{'userVisibility',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'actionUrl','headers','isConfirmationRequired','isGroupDefault','label','labelKey','linkType','method','position','requestBody','userAlias','userVisibility'}; + } + public class EntitlementProcessMilestoneItem { + public String businessHours; + public String criteriaBooleanFilter; + public MetadataService.FilterItem[] milestoneCriteriaFilterItems; + public String milestoneCriteriaFormula; + public String milestoneName; + public String minutesCustomClass; + public Integer minutesToComplete; + public MetadataService.WorkflowActionReference[] successActions; + public MetadataService.EntitlementProcessMilestoneTimeTrigger[] timeTriggers; + public Boolean useCriteriaStartTime; + private String[] businessHours_type_info = new String[]{'businessHours',SOAP_M_URI,null,'0','1','false'}; + private String[] criteriaBooleanFilter_type_info = new String[]{'criteriaBooleanFilter',SOAP_M_URI,null,'0','1','false'}; + private String[] milestoneCriteriaFilterItems_type_info = new String[]{'milestoneCriteriaFilterItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] milestoneCriteriaFormula_type_info = new String[]{'milestoneCriteriaFormula',SOAP_M_URI,null,'0','1','false'}; + private String[] milestoneName_type_info = new String[]{'milestoneName',SOAP_M_URI,null,'0','1','false'}; + private String[] minutesCustomClass_type_info = new String[]{'minutesCustomClass',SOAP_M_URI,null,'0','1','false'}; + private String[] minutesToComplete_type_info = new String[]{'minutesToComplete',SOAP_M_URI,null,'0','1','false'}; + private String[] successActions_type_info = new String[]{'successActions',SOAP_M_URI,null,'0','-1','false'}; + private String[] timeTriggers_type_info = new String[]{'timeTriggers',SOAP_M_URI,null,'0','-1','false'}; + private String[] useCriteriaStartTime_type_info = new String[]{'useCriteriaStartTime',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'businessHours','criteriaBooleanFilter','milestoneCriteriaFilterItems','milestoneCriteriaFormula','milestoneName','minutesCustomClass','minutesToComplete','successActions','timeTriggers','useCriteriaStartTime'}; + } + public class ReportFilter { + public String booleanFilter; + public MetadataService.ReportFilterItem[] criteriaItems; + public String language; + private String[] booleanFilter_type_info = new String[]{'booleanFilter',SOAP_M_URI,null,'0','1','false'}; + private String[] criteriaItems_type_info = new String[]{'criteriaItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] language_type_info = new String[]{'language',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'booleanFilter','criteriaItems','language'}; + } + public class RetrieveResult { + public Boolean done; + public String errorMessage; + public String errorStatusCode; + public MetadataService.FileProperties[] fileProperties; + public String id; + public MetadataService.RetrieveMessage[] messages; + public String status; + public Boolean success; + public String zipFile; + private String[] done_type_info = new String[]{'done',SOAP_M_URI,null,'1','1','false'}; + private String[] errorMessage_type_info = new String[]{'errorMessage',SOAP_M_URI,null,'0','1','false'}; + private String[] errorStatusCode_type_info = new String[]{'errorStatusCode',SOAP_M_URI,null,'0','1','false'}; + private String[] fileProperties_type_info = new String[]{'fileProperties',SOAP_M_URI,null,'0','-1','false'}; + private String[] id_type_info = new String[]{'id',SOAP_M_URI,null,'1','1','false'}; + private String[] messages_type_info = new String[]{'messages',SOAP_M_URI,null,'0','-1','false'}; + private String[] status_type_info = new String[]{'status',SOAP_M_URI,null,'1','1','false'}; + private String[] success_type_info = new String[]{'success',SOAP_M_URI,null,'1','1','false'}; + private String[] zipFile_type_info = new String[]{'zipFile',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'done','errorMessage','errorStatusCode','fileProperties','id','messages','status','success','zipFile'}; + } + public class KnowledgeWorkOrderFieldsSettings { + public MetadataService.KnowledgeWorkOrderField[] field; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'field'}; + } + public class Territory2Model extends Metadata { + public String type = 'Territory2Model'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.FieldValue[] customFields; + public String description; + public String name; + private String[] customFields_type_info = new String[]{'customFields',SOAP_M_URI,null,'0','-1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'customFields','description','name'}; + } + public class SearchSettingsByObject { + public MetadataService.ObjectSearchSetting[] searchSettingsByObject; + private String[] searchSettingsByObject_type_info = new String[]{'searchSettingsByObject',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'searchSettingsByObject'}; + } + public class CustomObject extends Metadata { + public String type = 'CustomObject'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.ActionOverride[] actionOverrides; + public Boolean allowInChatterGroups; + public MetadataService.ArticleTypeChannelDisplay articleTypeChannelDisplay; + public MetadataService.BusinessProcess[] businessProcesses; + public String compactLayoutAssignment; + public MetadataService.CompactLayout[] compactLayouts; + public String customHelp; + public String customHelpPage; + public String customSettingsType; + public String dataStewardGroup; + public String dataStewardUser; + public String deploymentStatus; + public Boolean deprecated; + public String description; + public Boolean enableActivities; + public Boolean enableBulkApi; + public Boolean enableChangeDataCapture; + public Boolean enableDivisions; + public Boolean enableEnhancedLookup; + public Boolean enableFeeds; + public Boolean enableHistory; + public Boolean enableReports; + public Boolean enableSearch; + public Boolean enableSharing; + public Boolean enableStreamingApi; + public String eventType; + public String externalDataSource; + public String externalName; + public String externalRepository; + public String externalSharingModel; + public MetadataService.FieldSet[] fieldSets; + public MetadataService.CustomField[] fields; + public String gender; + public MetadataService.HistoryRetentionPolicy historyRetentionPolicy; + public Boolean household; + public MetadataService.Index[] indexes; + public String label; + public MetadataService.ListView[] listViews; + public MetadataService.CustomField nameField; + public String pluralLabel; + public Boolean recordTypeTrackFeedHistory; + public Boolean recordTypeTrackHistory; + public MetadataService.RecordType[] recordTypes; + public MetadataService.SearchLayouts searchLayouts; + public String sharingModel; + public MetadataService.SharingReason[] sharingReasons; + public MetadataService.SharingRecalculation[] sharingRecalculations; + public String startsWith; + public MetadataService.ValidationRule[] validationRules; + public String visibility; + public MetadataService.WebLink[] webLinks; + private String[] actionOverrides_type_info = new String[]{'actionOverrides',SOAP_M_URI,null,'0','-1','false'}; + private String[] allowInChatterGroups_type_info = new String[]{'allowInChatterGroups',SOAP_M_URI,null,'0','1','false'}; + private String[] articleTypeChannelDisplay_type_info = new String[]{'articleTypeChannelDisplay',SOAP_M_URI,null,'0','1','false'}; + private String[] businessProcesses_type_info = new String[]{'businessProcesses',SOAP_M_URI,null,'0','-1','false'}; + private String[] compactLayoutAssignment_type_info = new String[]{'compactLayoutAssignment',SOAP_M_URI,null,'0','1','false'}; + private String[] compactLayouts_type_info = new String[]{'compactLayouts',SOAP_M_URI,null,'0','-1','false'}; + private String[] customHelp_type_info = new String[]{'customHelp',SOAP_M_URI,null,'0','1','false'}; + private String[] customHelpPage_type_info = new String[]{'customHelpPage',SOAP_M_URI,null,'0','1','false'}; + private String[] customSettingsType_type_info = new String[]{'customSettingsType',SOAP_M_URI,null,'0','1','false'}; + private String[] dataStewardGroup_type_info = new String[]{'dataStewardGroup',SOAP_M_URI,null,'0','1','false'}; + private String[] dataStewardUser_type_info = new String[]{'dataStewardUser',SOAP_M_URI,null,'0','1','false'}; + private String[] deploymentStatus_type_info = new String[]{'deploymentStatus',SOAP_M_URI,null,'0','1','false'}; + private String[] deprecated_type_info = new String[]{'deprecated',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] enableActivities_type_info = new String[]{'enableActivities',SOAP_M_URI,null,'0','1','false'}; + private String[] enableBulkApi_type_info = new String[]{'enableBulkApi',SOAP_M_URI,null,'0','1','false'}; + private String[] enableChangeDataCapture_type_info = new String[]{'enableChangeDataCapture',SOAP_M_URI,null,'0','1','false'}; + private String[] enableDivisions_type_info = new String[]{'enableDivisions',SOAP_M_URI,null,'0','1','false'}; + private String[] enableEnhancedLookup_type_info = new String[]{'enableEnhancedLookup',SOAP_M_URI,null,'0','1','false'}; + private String[] enableFeeds_type_info = new String[]{'enableFeeds',SOAP_M_URI,null,'0','1','false'}; + private String[] enableHistory_type_info = new String[]{'enableHistory',SOAP_M_URI,null,'0','1','false'}; + private String[] enableReports_type_info = new String[]{'enableReports',SOAP_M_URI,null,'0','1','false'}; + private String[] enableSearch_type_info = new String[]{'enableSearch',SOAP_M_URI,null,'0','1','false'}; + private String[] enableSharing_type_info = new String[]{'enableSharing',SOAP_M_URI,null,'0','1','false'}; + private String[] enableStreamingApi_type_info = new String[]{'enableStreamingApi',SOAP_M_URI,null,'0','1','false'}; + private String[] eventType_type_info = new String[]{'eventType',SOAP_M_URI,null,'0','1','false'}; + private String[] externalDataSource_type_info = new String[]{'externalDataSource',SOAP_M_URI,null,'0','1','false'}; + private String[] externalName_type_info = new String[]{'externalName',SOAP_M_URI,null,'0','1','false'}; + private String[] externalRepository_type_info = new String[]{'externalRepository',SOAP_M_URI,null,'0','1','false'}; + private String[] externalSharingModel_type_info = new String[]{'externalSharingModel',SOAP_M_URI,null,'0','1','false'}; + private String[] fieldSets_type_info = new String[]{'fieldSets',SOAP_M_URI,null,'0','-1','false'}; + private String[] fields_type_info = new String[]{'fields',SOAP_M_URI,null,'0','-1','false'}; + private String[] gender_type_info = new String[]{'gender',SOAP_M_URI,null,'0','1','false'}; + private String[] historyRetentionPolicy_type_info = new String[]{'historyRetentionPolicy',SOAP_M_URI,null,'0','1','false'}; + private String[] household_type_info = new String[]{'household',SOAP_M_URI,null,'0','1','false'}; + private String[] indexes_type_info = new String[]{'indexes',SOAP_M_URI,null,'0','-1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'0','1','false'}; + private String[] listViews_type_info = new String[]{'listViews',SOAP_M_URI,null,'0','-1','false'}; + private String[] nameField_type_info = new String[]{'nameField',SOAP_M_URI,null,'0','1','false'}; + private String[] pluralLabel_type_info = new String[]{'pluralLabel',SOAP_M_URI,null,'0','1','false'}; + private String[] recordTypeTrackFeedHistory_type_info = new String[]{'recordTypeTrackFeedHistory',SOAP_M_URI,null,'0','1','false'}; + private String[] recordTypeTrackHistory_type_info = new String[]{'recordTypeTrackHistory',SOAP_M_URI,null,'0','1','false'}; + private String[] recordTypes_type_info = new String[]{'recordTypes',SOAP_M_URI,null,'0','-1','false'}; + private String[] searchLayouts_type_info = new String[]{'searchLayouts',SOAP_M_URI,null,'0','1','false'}; + private String[] sharingModel_type_info = new String[]{'sharingModel',SOAP_M_URI,null,'0','1','false'}; + private String[] sharingReasons_type_info = new String[]{'sharingReasons',SOAP_M_URI,null,'0','-1','false'}; + private String[] sharingRecalculations_type_info = new String[]{'sharingRecalculations',SOAP_M_URI,null,'0','-1','false'}; + private String[] startsWith_type_info = new String[]{'startsWith',SOAP_M_URI,null,'0','1','false'}; + private String[] validationRules_type_info = new String[]{'validationRules',SOAP_M_URI,null,'0','-1','false'}; + private String[] visibility_type_info = new String[]{'visibility',SOAP_M_URI,null,'0','1','false'}; + private String[] webLinks_type_info = new String[]{'webLinks',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'actionOverrides','allowInChatterGroups','articleTypeChannelDisplay','businessProcesses','compactLayoutAssignment','compactLayouts','customHelp','customHelpPage','customSettingsType','dataStewardGroup','dataStewardUser','deploymentStatus','deprecated','description','enableActivities','enableBulkApi','enableChangeDataCapture','enableDivisions','enableEnhancedLookup','enableFeeds','enableHistory','enableReports','enableSearch','enableSharing','enableStreamingApi','eventType','externalDataSource','externalName','externalRepository','externalSharingModel','fieldSets','fields','gender','historyRetentionPolicy','household','indexes','label','listViews','nameField','pluralLabel','recordTypeTrackFeedHistory','recordTypeTrackHistory','recordTypes','searchLayouts','sharingModel','sharingReasons','sharingRecalculations','startsWith','validationRules','visibility','webLinks'}; + } + public class FlowTranslation { + public MetadataService.FlowChoiceTranslation[] choices; + public String fullName; + public String label; + public MetadataService.FlowScreenTranslation[] screens; + private String[] choices_type_info = new String[]{'choices',SOAP_M_URI,null,'0','-1','false'}; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'1','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'0','1','false'}; + private String[] screens_type_info = new String[]{'screens',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'choices','fullName','label','screens'}; + } + public class DuplicateRuleFilter { + public String booleanFilter; + public MetadataService.DuplicateRuleFilterItem[] duplicateRuleFilterItems; + private String[] booleanFilter_type_info = new String[]{'booleanFilter',SOAP_M_URI,null,'1','1','true'}; + private String[] duplicateRuleFilterItems_type_info = new String[]{'duplicateRuleFilterItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'booleanFilter','duplicateRuleFilterItems'}; + } + public class LayoutSection { + public Boolean customLabel; + public Boolean detailHeading; + public Boolean editHeading; + public String label; + public MetadataService.LayoutColumn[] layoutColumns; + public String style; + private String[] customLabel_type_info = new String[]{'customLabel',SOAP_M_URI,null,'0','1','false'}; + private String[] detailHeading_type_info = new String[]{'detailHeading',SOAP_M_URI,null,'0','1','false'}; + private String[] editHeading_type_info = new String[]{'editHeading',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'0','1','false'}; + private String[] layoutColumns_type_info = new String[]{'layoutColumns',SOAP_M_URI,null,'0','-1','false'}; + private String[] style_type_info = new String[]{'style',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'customLabel','detailHeading','editHeading','label','layoutColumns','style'}; + } + public class cancelDeployResponse_element { + public MetadataService.CancelDeployResult result; + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class FlowMetadataValue { + public String name; + public MetadataService.FlowElementReferenceOrValue value; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'name','value'}; + } + public class WaveRecipe { + public String dataflow; + public String masterLabel; + public String securityPredicate; + public String targetDatasetAlias; + private String[] dataflow_type_info = new String[]{'dataflow',SOAP_M_URI,null,'1','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] securityPredicate_type_info = new String[]{'securityPredicate',SOAP_M_URI,null,'0','1','false'}; + private String[] targetDatasetAlias_type_info = new String[]{'targetDatasetAlias',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'dataflow','masterLabel','securityPredicate','targetDatasetAlias'}; + } + public class ProfileObjectPermissions { + public Boolean allowCreate; + public Boolean allowDelete; + public Boolean allowEdit; + public Boolean allowRead; + public Boolean modifyAllRecords; + public String object_x; + public Boolean viewAllRecords; + private String[] allowCreate_type_info = new String[]{'allowCreate',SOAP_M_URI,null,'0','1','false'}; + private String[] allowDelete_type_info = new String[]{'allowDelete',SOAP_M_URI,null,'0','1','false'}; + private String[] allowEdit_type_info = new String[]{'allowEdit',SOAP_M_URI,null,'0','1','false'}; + private String[] allowRead_type_info = new String[]{'allowRead',SOAP_M_URI,null,'0','1','false'}; + private String[] modifyAllRecords_type_info = new String[]{'modifyAllRecords',SOAP_M_URI,null,'0','1','false'}; + private String[] object_x_type_info = new String[]{'object',SOAP_M_URI,null,'1','1','false'}; + private String[] viewAllRecords_type_info = new String[]{'viewAllRecords',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'allowCreate','allowDelete','allowEdit','allowRead','modifyAllRecords','object_x','viewAllRecords'}; + } + public class ReportGrouping { + public String aggregateType; + public String dateGranularity; + public String field; + public String sortByName; + public String sortOrder; + public String sortType; + private String[] aggregateType_type_info = new String[]{'aggregateType',SOAP_M_URI,null,'0','1','false'}; + private String[] dateGranularity_type_info = new String[]{'dateGranularity',SOAP_M_URI,null,'0','1','false'}; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'1','1','false'}; + private String[] sortByName_type_info = new String[]{'sortByName',SOAP_M_URI,null,'0','1','false'}; + private String[] sortOrder_type_info = new String[]{'sortOrder',SOAP_M_URI,null,'1','1','false'}; + private String[] sortType_type_info = new String[]{'sortType',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'aggregateType','dateGranularity','field','sortByName','sortOrder','sortType'}; + } + public class DeployMessage { + public Boolean changed; + public Integer columnNumber; + public String componentType; + public Boolean created; + public DateTime createdDate; + public Boolean deleted; + public String fileName; + public String fullName; + public String id; + public Integer lineNumber; + public String problem; + public String problemType; + public Boolean success; + private String[] changed_type_info = new String[]{'changed',SOAP_M_URI,null,'1','1','false'}; + private String[] columnNumber_type_info = new String[]{'columnNumber',SOAP_M_URI,null,'0','1','false'}; + private String[] componentType_type_info = new String[]{'componentType',SOAP_M_URI,null,'0','1','false'}; + private String[] created_type_info = new String[]{'created',SOAP_M_URI,null,'1','1','false'}; + private String[] createdDate_type_info = new String[]{'createdDate',SOAP_M_URI,null,'1','1','false'}; + private String[] deleted_type_info = new String[]{'deleted',SOAP_M_URI,null,'1','1','false'}; + private String[] fileName_type_info = new String[]{'fileName',SOAP_M_URI,null,'1','1','false'}; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'1','1','false'}; + private String[] id_type_info = new String[]{'id',SOAP_M_URI,null,'0','1','false'}; + private String[] lineNumber_type_info = new String[]{'lineNumber',SOAP_M_URI,null,'0','1','false'}; + private String[] problem_type_info = new String[]{'problem',SOAP_M_URI,null,'0','1','false'}; + private String[] problemType_type_info = new String[]{'problemType',SOAP_M_URI,null,'0','1','false'}; + private String[] success_type_info = new String[]{'success',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'changed','columnNumber','componentType','created','createdDate','deleted','fileName','fullName','id','lineNumber','problem','problemType','success'}; + } + public class EmailServicesAddress { + public String authorizedSenders; + public String developerName; + public Boolean isActive; + public String localPart; + public String runAsUser; + private String[] authorizedSenders_type_info = new String[]{'authorizedSenders',SOAP_M_URI,null,'0','1','false'}; + private String[] developerName_type_info = new String[]{'developerName',SOAP_M_URI,null,'1','1','false'}; + private String[] isActive_type_info = new String[]{'isActive',SOAP_M_URI,null,'0','1','false'}; + private String[] localPart_type_info = new String[]{'localPart',SOAP_M_URI,null,'1','1','false'}; + private String[] runAsUser_type_info = new String[]{'runAsUser',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'authorizedSenders','developerName','isActive','localPart','runAsUser'}; + } + public class PermissionSetObjectPermissions { + public Boolean allowCreate; + public Boolean allowDelete; + public Boolean allowEdit; + public Boolean allowRead; + public Boolean modifyAllRecords; + public String object_x; + public Boolean viewAllRecords; + private String[] allowCreate_type_info = new String[]{'allowCreate',SOAP_M_URI,null,'1','1','false'}; + private String[] allowDelete_type_info = new String[]{'allowDelete',SOAP_M_URI,null,'1','1','false'}; + private String[] allowEdit_type_info = new String[]{'allowEdit',SOAP_M_URI,null,'1','1','false'}; + private String[] allowRead_type_info = new String[]{'allowRead',SOAP_M_URI,null,'1','1','false'}; + private String[] modifyAllRecords_type_info = new String[]{'modifyAllRecords',SOAP_M_URI,null,'1','1','false'}; + private String[] object_x_type_info = new String[]{'object',SOAP_M_URI,null,'1','1','false'}; + private String[] viewAllRecords_type_info = new String[]{'viewAllRecords',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'allowCreate','allowDelete','allowEdit','allowRead','modifyAllRecords','object_x','viewAllRecords'}; + } + public class ProfileApexClassAccess { + public String apexClass; + public Boolean enabled; + private String[] apexClass_type_info = new String[]{'apexClass',SOAP_M_URI,null,'1','1','false'}; + private String[] enabled_type_info = new String[]{'enabled',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'apexClass','enabled'}; + } + public class ProfileLoginIpRange { + public String description; + public String endAddress; + public String startAddress; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] endAddress_type_info = new String[]{'endAddress',SOAP_M_URI,null,'1','1','false'}; + private String[] startAddress_type_info = new String[]{'startAddress',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'description','endAddress','startAddress'}; + } + public class ProfileSessionSetting extends Metadata { + public String type = 'ProfileSessionSetting'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean externalCommunityUserIdentityVerif; + public Boolean forceLogout; + public String profile; + public String requiredSessionLevel; + public Boolean sessionPersistence; + public Integer sessionTimeout; + public Boolean sessionTimeoutWarning; + private String[] externalCommunityUserIdentityVerif_type_info = new String[]{'externalCommunityUserIdentityVerif',SOAP_M_URI,null,'1','1','false'}; + private String[] forceLogout_type_info = new String[]{'forceLogout',SOAP_M_URI,null,'1','1','false'}; + private String[] profile_type_info = new String[]{'profile',SOAP_M_URI,null,'1','1','false'}; + private String[] requiredSessionLevel_type_info = new String[]{'requiredSessionLevel',SOAP_M_URI,null,'0','1','false'}; + private String[] sessionPersistence_type_info = new String[]{'sessionPersistence',SOAP_M_URI,null,'1','1','false'}; + private String[] sessionTimeout_type_info = new String[]{'sessionTimeout',SOAP_M_URI,null,'1','1','false'}; + private String[] sessionTimeoutWarning_type_info = new String[]{'sessionTimeoutWarning',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'externalCommunityUserIdentityVerif','forceLogout','profile','requiredSessionLevel','sessionPersistence','sessionTimeout','sessionTimeoutWarning'}; + } + public class DashboardComponentColumn { + public Double breakPoint1; + public Double breakPoint2; + public Integer breakPointOrder; + public Integer highRangeColor; + public Integer lowRangeColor; + public Integer midRangeColor; + public String reportColumn; + public Boolean showTotal; + public String type_x; + private String[] breakPoint1_type_info = new String[]{'breakPoint1',SOAP_M_URI,null,'0','1','false'}; + private String[] breakPoint2_type_info = new String[]{'breakPoint2',SOAP_M_URI,null,'0','1','false'}; + private String[] breakPointOrder_type_info = new String[]{'breakPointOrder',SOAP_M_URI,null,'0','1','false'}; + private String[] highRangeColor_type_info = new String[]{'highRangeColor',SOAP_M_URI,null,'0','1','false'}; + private String[] lowRangeColor_type_info = new String[]{'lowRangeColor',SOAP_M_URI,null,'0','1','false'}; + private String[] midRangeColor_type_info = new String[]{'midRangeColor',SOAP_M_URI,null,'0','1','false'}; + private String[] reportColumn_type_info = new String[]{'reportColumn',SOAP_M_URI,null,'1','1','false'}; + private String[] showTotal_type_info = new String[]{'showTotal',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'breakPoint1','breakPoint2','breakPointOrder','highRangeColor','lowRangeColor','midRangeColor','reportColumn','showTotal','type_x'}; + } + public class FlowWait extends FlowNode { + public String type = 'FlowWait'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String description; + public String name; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + public String label; + public Integer locationX; + public Integer locationY; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] locationX_type_info = new String[]{'locationX',SOAP_M_URI,null,'1','1','false'}; + private String[] locationY_type_info = new String[]{'locationY',SOAP_M_URI,null,'1','1','false'}; + public MetadataService.FlowConnector defaultConnector; + public String defaultConnectorLabel; + public MetadataService.FlowConnector faultConnector; + public MetadataService.FlowWaitEvent[] waitEvents; + private String[] defaultConnector_type_info = new String[]{'defaultConnector',SOAP_M_URI,null,'0','1','false'}; + private String[] defaultConnectorLabel_type_info = new String[]{'defaultConnectorLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] faultConnector_type_info = new String[]{'faultConnector',SOAP_M_URI,null,'0','1','false'}; + private String[] waitEvents_type_info = new String[]{'waitEvents',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues','description','name','label','locationX','locationY', 'defaultConnector','defaultConnectorLabel','faultConnector','waitEvents'}; + } + public class FlowStage { + public Boolean isActive; + public String label; + public Integer stageOrder; + private String[] isActive_type_info = new String[]{'isActive',SOAP_M_URI,null,'1','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] stageOrder_type_info = new String[]{'stageOrder',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'isActive','label','stageOrder'}; + } + public class ChartSummary { + public String aggregate; + public String axisBinding; + public String column; + private String[] aggregate_type_info = new String[]{'aggregate',SOAP_M_URI,null,'0','1','false'}; + private String[] axisBinding_type_info = new String[]{'axisBinding',SOAP_M_URI,null,'0','1','false'}; + private String[] column_type_info = new String[]{'column',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'aggregate','axisBinding','column'}; + } + public class InstalledPackage extends Metadata { + public String type = 'InstalledPackage'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String password; + public String versionNumber; + private String[] password_type_info = new String[]{'password',SOAP_M_URI,null,'0','1','false'}; + private String[] versionNumber_type_info = new String[]{'versionNumber',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'password','versionNumber'}; + } + public class NavigationMenuItem { + public String defaultListViewId; + public String label; + public Integer position; + public Boolean publiclyAvailable; + public MetadataService.NavigationSubMenu subMenu; + public String target; + public String targetPreference; + public String type_x; + private String[] defaultListViewId_type_info = new String[]{'defaultListViewId',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] position_type_info = new String[]{'position',SOAP_M_URI,null,'1','1','false'}; + private String[] publiclyAvailable_type_info = new String[]{'publiclyAvailable',SOAP_M_URI,null,'0','1','false'}; + private String[] subMenu_type_info = new String[]{'subMenu',SOAP_M_URI,null,'0','1','false'}; + private String[] target_type_info = new String[]{'target',SOAP_M_URI,null,'0','1','false'}; + private String[] targetPreference_type_info = new String[]{'targetPreference',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'defaultListViewId','label','position','publiclyAvailable','subMenu','target','targetPreference','type_x'}; + } + public class checkRetrieveStatus_element { + public String asyncProcessId; + public Boolean includeZip; + private String[] asyncProcessId_type_info = new String[]{'asyncProcessId',SOAP_M_URI,null,'1','1','false'}; + private String[] includeZip_type_info = new String[]{'includeZip',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'asyncProcessId','includeZip'}; + } + public class Country { + public Boolean active; + public String integrationValue; + public String isoCode; + public String label; + public Boolean orgDefault; + public Boolean standard; + public MetadataService.State[] states; + public Boolean visible; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'1','1','false'}; + private String[] integrationValue_type_info = new String[]{'integrationValue',SOAP_M_URI,null,'1','1','false'}; + private String[] isoCode_type_info = new String[]{'isoCode',SOAP_M_URI,null,'1','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] orgDefault_type_info = new String[]{'orgDefault',SOAP_M_URI,null,'1','1','false'}; + private String[] standard_type_info = new String[]{'standard',SOAP_M_URI,null,'1','1','false'}; + private String[] states_type_info = new String[]{'states',SOAP_M_URI,null,'0','-1','false'}; + private String[] visible_type_info = new String[]{'visible',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'active','integrationValue','isoCode','label','orgDefault','standard','states','visible'}; + } + public class ObjectUsage { + public String[] object_x; + private String[] object_x_type_info = new String[]{'object',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'object_x'}; + } + public class Package_x extends Metadata { + public String type = 'Package_x'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String apiAccessLevel; + public String description; + public String namespacePrefix; + public MetadataService.ProfileObjectPermissions[] objectPermissions; + public String packageType; + public String postInstallClass; + public String setupWeblink; + public MetadataService.PackageTypeMembers[] types; + public String uninstallClass; + public String version; + private String[] apiAccessLevel_type_info = new String[]{'apiAccessLevel',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] namespacePrefix_type_info = new String[]{'namespacePrefix',SOAP_M_URI,null,'0','1','false'}; + private String[] objectPermissions_type_info = new String[]{'objectPermissions',SOAP_M_URI,null,'0','-1','false'}; + private String[] packageType_type_info = new String[]{'packageType',SOAP_M_URI,null,'0','1','false'}; + private String[] postInstallClass_type_info = new String[]{'postInstallClass',SOAP_M_URI,null,'0','1','false'}; + private String[] setupWeblink_type_info = new String[]{'setupWeblink',SOAP_M_URI,null,'0','1','false'}; + private String[] types_type_info = new String[]{'types',SOAP_M_URI,null,'0','-1','false'}; + private String[] uninstallClass_type_info = new String[]{'uninstallClass',SOAP_M_URI,null,'0','1','false'}; + private String[] version_type_info = new String[]{'version',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'apiAccessLevel','description','namespacePrefix','objectPermissions','packageType','postInstallClass','setupWeblink','types','uninstallClass','version'}; + } + public class SharingReasonTranslation { + public String label; + public String name; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'label','name'}; + } + public class CustomDataTypeComponentTranslation { + public String developerSuffix; + public String label; + private String[] developerSuffix_type_info = new String[]{'developerSuffix',SOAP_M_URI,null,'1','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'developerSuffix','label'}; + } + public class CustomNotificationType { + public String customNotifTypeName; + public String description; + public Boolean desktop; + public Boolean email; + public String masterLabel; + public Boolean mobile; + private String[] customNotifTypeName_type_info = new String[]{'customNotifTypeName',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] desktop_type_info = new String[]{'desktop',SOAP_M_URI,null,'1','1','false'}; + private String[] email_type_info = new String[]{'email',SOAP_M_URI,null,'1','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] mobile_type_info = new String[]{'mobile',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'customNotifTypeName','description','desktop','email','masterLabel','mobile'}; + } + public class FeedLayoutComponent { + public String componentType; + public Integer height; + public String page_x; + private String[] componentType_type_info = new String[]{'componentType',SOAP_M_URI,null,'1','1','false'}; + private String[] height_type_info = new String[]{'height',SOAP_M_URI,null,'0','1','false'}; + private String[] page_x_type_info = new String[]{'page',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'componentType','height','page_x'}; + } + public class AssistantRecommendationType { + public String description; + public String masterLabel; + public MetadataService.PlatformActionList platformActionlist; + public String sobjectType; + public String title; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'1','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] platformActionlist_type_info = new String[]{'platformActionlist',SOAP_M_URI,null,'0','1','false'}; + private String[] sobjectType_type_info = new String[]{'sobjectType',SOAP_M_URI,null,'1','1','false'}; + private String[] title_type_info = new String[]{'title',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'description','masterLabel','platformActionlist','sobjectType','title'}; + } + public class FlowCondition extends FlowBaseElement { + public String type = 'FlowCondition'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String leftValueReference; + public String operator; + public MetadataService.FlowElementReferenceOrValue rightValue; + private String[] leftValueReference_type_info = new String[]{'leftValueReference',SOAP_M_URI,null,'1','1','false'}; + private String[] operator_type_info = new String[]{'operator',SOAP_M_URI,null,'1','1','false'}; + private String[] rightValue_type_info = new String[]{'rightValue',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues', 'leftValueReference','operator','rightValue'}; + } + public class CallCenterSection { + public MetadataService.CallCenterItem[] items; + public String label; + public String name; + private String[] items_type_info = new String[]{'items',SOAP_M_URI,null,'0','-1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'items','label','name'}; + } + public class RecommendationStrategy { + public String description; + public String masterLabel; + public String recommendationStrategyName; + public MetadataService.StrategyNode[] strategyNode; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'1','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] recommendationStrategyName_type_info = new String[]{'recommendationStrategyName',SOAP_M_URI,null,'1','1','false'}; + private String[] strategyNode_type_info = new String[]{'strategyNode',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'description','masterLabel','recommendationStrategyName','strategyNode'}; + } + public class WaveDashboard extends MetadataWithContent { + public String type = 'WaveDashboard'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String content; + private String[] content_type_info = new String[]{'content',SOAP_M_URI,null,'0','1','false'}; + public String application; + public String description; + public String masterLabel; + public String templateAssetSourceName; + private String[] application_type_info = new String[]{'application',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] templateAssetSourceName_type_info = new String[]{'templateAssetSourceName',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','content', 'application','description','masterLabel','templateAssetSourceName'}; + } + public class CustomApplication extends Metadata { + public String type = 'CustomApplication'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.AppActionOverride[] actionOverrides; + public MetadataService.AppBrand brand; + public MetadataService.ServiceCloudConsoleConfig consoleConfig; + public String defaultLandingTab; + public String description; + public String[] formFactors; + public Boolean isServiceCloudConsole; + public String label; + public String logo; + public String navType; + public MetadataService.AppPreferences preferences; + public MetadataService.AppProfileActionOverride[] profileActionOverrides; + public String setupExperience; + public String[] subscriberTabs; + public String[] tabs; + public String uiType; + public String utilityBar; + public MetadataService.AppWorkspaceConfig workspaceConfig; + private String[] actionOverrides_type_info = new String[]{'actionOverrides',SOAP_M_URI,null,'0','-1','false'}; + private String[] brand_type_info = new String[]{'brand',SOAP_M_URI,null,'0','1','false'}; + private String[] consoleConfig_type_info = new String[]{'consoleConfig',SOAP_M_URI,null,'0','1','false'}; + private String[] defaultLandingTab_type_info = new String[]{'defaultLandingTab',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] formFactors_type_info = new String[]{'formFactors',SOAP_M_URI,null,'0','-1','false'}; + private String[] isServiceCloudConsole_type_info = new String[]{'isServiceCloudConsole',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'0','1','false'}; + private String[] logo_type_info = new String[]{'logo',SOAP_M_URI,null,'0','1','false'}; + private String[] navType_type_info = new String[]{'navType',SOAP_M_URI,null,'0','1','false'}; + private String[] preferences_type_info = new String[]{'preferences',SOAP_M_URI,null,'0','1','false'}; + private String[] profileActionOverrides_type_info = new String[]{'profileActionOverrides',SOAP_M_URI,null,'0','-1','false'}; + private String[] setupExperience_type_info = new String[]{'setupExperience',SOAP_M_URI,null,'0','1','false'}; + private String[] subscriberTabs_type_info = new String[]{'subscriberTabs',SOAP_M_URI,null,'0','-1','false'}; + private String[] tabs_type_info = new String[]{'tabs',SOAP_M_URI,null,'0','-1','false'}; + private String[] uiType_type_info = new String[]{'uiType',SOAP_M_URI,null,'0','1','false'}; + private String[] utilityBar_type_info = new String[]{'utilityBar',SOAP_M_URI,null,'0','1','false'}; + private String[] workspaceConfig_type_info = new String[]{'workspaceConfig',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'actionOverrides','brand','consoleConfig','defaultLandingTab','description','formFactors','isServiceCloudConsole','label','logo','navType','preferences','profileActionOverrides','setupExperience','subscriberTabs','tabs','uiType','utilityBar','workspaceConfig'}; + } + public class DescribeMetadataResult { + public MetadataService.DescribeMetadataObject[] metadataObjects; + public String organizationNamespace; + public Boolean partialSaveAllowed; + public Boolean testRequired; + private String[] metadataObjects_type_info = new String[]{'metadataObjects',SOAP_M_URI,null,'0','-1','false'}; + private String[] organizationNamespace_type_info = new String[]{'organizationNamespace',SOAP_M_URI,null,'1','1','false'}; + private String[] partialSaveAllowed_type_info = new String[]{'partialSaveAllowed',SOAP_M_URI,null,'1','1','false'}; + private String[] testRequired_type_info = new String[]{'testRequired',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'metadataObjects','organizationNamespace','partialSaveAllowed','testRequired'}; + } + public class LeadConvertSettings extends Metadata { + public String type = 'LeadConvertSettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean allowOwnerChange; + public MetadataService.ObjectMapping[] objectMapping; + public String opportunityCreationOptions; + private String[] allowOwnerChange_type_info = new String[]{'allowOwnerChange',SOAP_M_URI,null,'0','1','false'}; + private String[] objectMapping_type_info = new String[]{'objectMapping',SOAP_M_URI,null,'0','-1','false'}; + private String[] opportunityCreationOptions_type_info = new String[]{'opportunityCreationOptions',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'allowOwnerChange','objectMapping','opportunityCreationOptions'}; + } + public class OpportunityListFieldsLabelMapping { + public String field; + public String label; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'1','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'field','label'}; + } + public class ReportType extends Metadata { + public String type = 'ReportType'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean autogenerated; + public String baseObject; + public String category; + public Boolean deployed; + public String description; + public MetadataService.ObjectRelationship join_x; + public String label; + public MetadataService.ReportLayoutSection[] sections; + private String[] autogenerated_type_info = new String[]{'autogenerated',SOAP_M_URI,null,'0','1','false'}; + private String[] baseObject_type_info = new String[]{'baseObject',SOAP_M_URI,null,'1','1','false'}; + private String[] category_type_info = new String[]{'category',SOAP_M_URI,null,'1','1','false'}; + private String[] deployed_type_info = new String[]{'deployed',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] join_x_type_info = new String[]{'join',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] sections_type_info = new String[]{'sections',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'autogenerated','baseObject','category','deployed','description','join_x','label','sections'}; + } + public class deleteMetadataResponse_element { + public MetadataService.DeleteResult[] result; + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class CodeLocation { + public Integer column; + public Integer line; + public Integer numExecutions; + public Double time_x; + private String[] column_type_info = new String[]{'column',SOAP_M_URI,null,'1','1','false'}; + private String[] line_type_info = new String[]{'line',SOAP_M_URI,null,'1','1','false'}; + private String[] numExecutions_type_info = new String[]{'numExecutions',SOAP_M_URI,null,'1','1','false'}; + private String[] time_x_type_info = new String[]{'time',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'column','line','numExecutions','time_x'}; + } + public class Keyword { + public String keyword; + private String[] keyword_type_info = new String[]{'keyword',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'keyword'}; + } + public class PermissionSetApplicationVisibility { + public String application; + public Boolean visible; + private String[] application_type_info = new String[]{'application',SOAP_M_URI,null,'1','1','false'}; + private String[] visible_type_info = new String[]{'visible',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'application','visible'}; + } + public class AppActionOverride { + public String pageOrSobjectType; + private String[] pageOrSobjectType_type_info = new String[]{'pageOrSobjectType',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'pageOrSobjectType'}; + } + public class RoleAndSubordinates { + public String[] roleAndSubordinate; + private String[] roleAndSubordinate_type_info = new String[]{'roleAndSubordinate',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'roleAndSubordinate'}; + } + public class StandardFieldTranslation { + public String label; + public String name; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'label','name'}; + } + public class EmbeddedServiceBranding extends Metadata { + public String type = 'EmbeddedServiceBranding'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String contrastInvertedColor; + public String contrastPrimaryColor; + public String embeddedServiceConfig; + public String font; + public String masterLabel; + public String navBarColor; + public String primaryColor; + public String secondaryColor; + private String[] contrastInvertedColor_type_info = new String[]{'contrastInvertedColor',SOAP_M_URI,null,'0','1','false'}; + private String[] contrastPrimaryColor_type_info = new String[]{'contrastPrimaryColor',SOAP_M_URI,null,'0','1','false'}; + private String[] embeddedServiceConfig_type_info = new String[]{'embeddedServiceConfig',SOAP_M_URI,null,'1','1','false'}; + private String[] font_type_info = new String[]{'font',SOAP_M_URI,null,'0','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] navBarColor_type_info = new String[]{'navBarColor',SOAP_M_URI,null,'0','1','false'}; + private String[] primaryColor_type_info = new String[]{'primaryColor',SOAP_M_URI,null,'0','1','false'}; + private String[] secondaryColor_type_info = new String[]{'secondaryColor',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'contrastInvertedColor','contrastPrimaryColor','embeddedServiceConfig','font','masterLabel','navBarColor','primaryColor','secondaryColor'}; + } + public class ProfilePasswordPolicy extends Metadata { + public String type = 'ProfilePasswordPolicy'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Integer lockoutInterval; + public Integer maxLoginAttempts; + public Integer minimumPasswordLength; + public Boolean minimumPasswordLifetime; + public Boolean obscure; + public Integer passwordComplexity; + public Integer passwordExpiration; + public Integer passwordHistory; + public Integer passwordQuestion; + public String profile; + private String[] lockoutInterval_type_info = new String[]{'lockoutInterval',SOAP_M_URI,null,'1','1','false'}; + private String[] maxLoginAttempts_type_info = new String[]{'maxLoginAttempts',SOAP_M_URI,null,'1','1','false'}; + private String[] minimumPasswordLength_type_info = new String[]{'minimumPasswordLength',SOAP_M_URI,null,'1','1','false'}; + private String[] minimumPasswordLifetime_type_info = new String[]{'minimumPasswordLifetime',SOAP_M_URI,null,'0','1','false'}; + private String[] obscure_type_info = new String[]{'obscure',SOAP_M_URI,null,'0','1','false'}; + private String[] passwordComplexity_type_info = new String[]{'passwordComplexity',SOAP_M_URI,null,'1','1','false'}; + private String[] passwordExpiration_type_info = new String[]{'passwordExpiration',SOAP_M_URI,null,'1','1','false'}; + private String[] passwordHistory_type_info = new String[]{'passwordHistory',SOAP_M_URI,null,'1','1','false'}; + private String[] passwordQuestion_type_info = new String[]{'passwordQuestion',SOAP_M_URI,null,'1','1','false'}; + private String[] profile_type_info = new String[]{'profile',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'lockoutInterval','maxLoginAttempts','minimumPasswordLength','minimumPasswordLifetime','obscure','passwordComplexity','passwordExpiration','passwordHistory','passwordQuestion','profile'}; + } + public class RecommendationAudienceDetail { + public String audienceCriteriaType; + public String audienceCriteriaValue; + public String setupName; + private String[] audienceCriteriaType_type_info = new String[]{'audienceCriteriaType',SOAP_M_URI,null,'0','1','false'}; + private String[] audienceCriteriaValue_type_info = new String[]{'audienceCriteriaValue',SOAP_M_URI,null,'0','1','false'}; + private String[] setupName_type_info = new String[]{'setupName',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'audienceCriteriaType','audienceCriteriaValue','setupName'}; + } + public class RoleOrTerritory extends Metadata { + public String type = 'RoleOrTerritory'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String caseAccessLevel; + public String contactAccessLevel; + public String description; + public Boolean mayForecastManagerShare; + public String name; + public String opportunityAccessLevel; + private String[] caseAccessLevel_type_info = new String[]{'caseAccessLevel',SOAP_M_URI,null,'0','1','false'}; + private String[] contactAccessLevel_type_info = new String[]{'contactAccessLevel',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] mayForecastManagerShare_type_info = new String[]{'mayForecastManagerShare',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] opportunityAccessLevel_type_info = new String[]{'opportunityAccessLevel',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'caseAccessLevel','contactAccessLevel','description','mayForecastManagerShare','name','opportunityAccessLevel'}; + } + public class FlowSubflowInputAssignment extends FlowBaseElement { + public String type = 'FlowSubflowInputAssignment'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String name; + public MetadataService.FlowElementReferenceOrValue value; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues', 'name','value'}; + } + public class LiveChatButtonSkills { + public String[] skill; + private String[] skill_type_info = new String[]{'skill',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'skill'}; + } + public class RemoteSiteSetting extends Metadata { + public String type = 'RemoteSiteSetting'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String description; + public Boolean disableProtocolSecurity; + public Boolean isActive; + public String url; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] disableProtocolSecurity_type_info = new String[]{'disableProtocolSecurity',SOAP_M_URI,null,'1','1','false'}; + private String[] isActive_type_info = new String[]{'isActive',SOAP_M_URI,null,'1','1','false'}; + private String[] url_type_info = new String[]{'url',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'description','disableProtocolSecurity','isActive','url'}; + } + public class ConnectedAppOauthConfig { + public String callbackUrl; + public String certificate; + public String consumerKey; + public String consumerSecret; + public String[] scopes; + public String singleLogoutUrl; + private String[] callbackUrl_type_info = new String[]{'callbackUrl',SOAP_M_URI,null,'1','1','false'}; + private String[] certificate_type_info = new String[]{'certificate',SOAP_M_URI,null,'0','1','false'}; + private String[] consumerKey_type_info = new String[]{'consumerKey',SOAP_M_URI,null,'0','1','false'}; + private String[] consumerSecret_type_info = new String[]{'consumerSecret',SOAP_M_URI,null,'0','1','false'}; + private String[] scopes_type_info = new String[]{'scopes',SOAP_M_URI,null,'0','-1','false'}; + private String[] singleLogoutUrl_type_info = new String[]{'singleLogoutUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'callbackUrl','certificate','consumerKey','consumerSecret','scopes','singleLogoutUrl'}; + } + public class ObjectSearchSetting { + public Boolean enhancedLookupEnabled; + public Boolean lookupAutoCompleteEnabled; + public String name; + public Integer resultsPerPageCount; + private String[] enhancedLookupEnabled_type_info = new String[]{'enhancedLookupEnabled',SOAP_M_URI,null,'1','1','false'}; + private String[] lookupAutoCompleteEnabled_type_info = new String[]{'lookupAutoCompleteEnabled',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] resultsPerPageCount_type_info = new String[]{'resultsPerPageCount',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'enhancedLookupEnabled','lookupAutoCompleteEnabled','name','resultsPerPageCount'}; + } + public class VisualizationResource { + public String description; + public String file; + public Integer rank; + public String type_x; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] file_type_info = new String[]{'file',SOAP_M_URI,null,'1','1','false'}; + private String[] rank_type_info = new String[]{'rank',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'description','file','rank','type_x'}; + } + public class FieldServiceSettings { + public Boolean fieldServiceNotificationsOrgPref; + public Boolean fieldServiceOrgPref; + public Integer serviceAppointmentsDueDateOffsetOrgValue; + public String[] workOrderLineItemSearchFields; + public String[] workOrderSearchFields; + private String[] fieldServiceNotificationsOrgPref_type_info = new String[]{'fieldServiceNotificationsOrgPref',SOAP_M_URI,null,'0','1','false'}; + private String[] fieldServiceOrgPref_type_info = new String[]{'fieldServiceOrgPref',SOAP_M_URI,null,'0','1','false'}; + private String[] serviceAppointmentsDueDateOffsetOrgValue_type_info = new String[]{'serviceAppointmentsDueDateOffsetOrgValue',SOAP_M_URI,null,'0','1','false'}; + private String[] workOrderLineItemSearchFields_type_info = new String[]{'workOrderLineItemSearchFields',SOAP_M_URI,null,'0','-1','false'}; + private String[] workOrderSearchFields_type_info = new String[]{'workOrderSearchFields',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'fieldServiceNotificationsOrgPref','fieldServiceOrgPref','serviceAppointmentsDueDateOffsetOrgValue','workOrderLineItemSearchFields','workOrderSearchFields'}; + } + public class NextAutomatedApprover { + public Boolean useApproverFieldOfRecordOwner; + public String userHierarchyField; + private String[] useApproverFieldOfRecordOwner_type_info = new String[]{'useApproverFieldOfRecordOwner',SOAP_M_URI,null,'0','1','false'}; + private String[] userHierarchyField_type_info = new String[]{'userHierarchyField',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'useApproverFieldOfRecordOwner','userHierarchyField'}; + } + public class ValueSetValuesDefinition { + public Boolean sorted; + public MetadataService.CustomValue[] value; + private String[] sorted_type_info = new String[]{'sorted',SOAP_M_URI,null,'1','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'sorted','value'}; + } + public class Territory2Rule { + public Boolean active; + public String booleanFilter; + public String name; + public String objectType; + public MetadataService.Territory2RuleItem[] ruleItems; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'1','1','false'}; + private String[] booleanFilter_type_info = new String[]{'booleanFilter',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] objectType_type_info = new String[]{'objectType',SOAP_M_URI,null,'1','1','false'}; + private String[] ruleItems_type_info = new String[]{'ruleItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'active','booleanFilter','name','objectType','ruleItems'}; + } + public class RetrieveMessage { + public String fileName; + public String problem; + private String[] fileName_type_info = new String[]{'fileName',SOAP_M_URI,null,'1','1','false'}; + private String[] problem_type_info = new String[]{'problem',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'fileName','problem'}; + } + public class ForecastingCategoryMapping { + public String forecastingItemCategoryApiName; + public MetadataService.WeightedSourceCategory[] weightedSourceCategories; + private String[] forecastingItemCategoryApiName_type_info = new String[]{'forecastingItemCategoryApiName',SOAP_M_URI,null,'1','1','false'}; + private String[] weightedSourceCategories_type_info = new String[]{'weightedSourceCategories',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'forecastingItemCategoryApiName','weightedSourceCategories'}; + } + public class EclairMap { + public Double boundingBoxBottom; + public Double boundingBoxLeft; + public Double boundingBoxRight; + public Double boundingBoxTop; + public String mapLabel; + public String mapName; + public String projection; + private String[] boundingBoxBottom_type_info = new String[]{'boundingBoxBottom',SOAP_M_URI,null,'0','1','false'}; + private String[] boundingBoxLeft_type_info = new String[]{'boundingBoxLeft',SOAP_M_URI,null,'0','1','false'}; + private String[] boundingBoxRight_type_info = new String[]{'boundingBoxRight',SOAP_M_URI,null,'0','1','false'}; + private String[] boundingBoxTop_type_info = new String[]{'boundingBoxTop',SOAP_M_URI,null,'0','1','false'}; + private String[] mapLabel_type_info = new String[]{'mapLabel',SOAP_M_URI,null,'0','1','false'}; + private String[] mapName_type_info = new String[]{'mapName',SOAP_M_URI,null,'1','1','false'}; + private String[] projection_type_info = new String[]{'projection',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'boundingBoxBottom','boundingBoxLeft','boundingBoxRight','boundingBoxTop','mapLabel','mapName','projection'}; + } + public class HistoryRetentionPolicy { + public Integer archiveAfterMonths; + public Integer archiveRetentionYears; + public String description; + public Integer gracePeriodDays; + private String[] archiveAfterMonths_type_info = new String[]{'archiveAfterMonths',SOAP_M_URI,null,'1','1','false'}; + private String[] archiveRetentionYears_type_info = new String[]{'archiveRetentionYears',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] gracePeriodDays_type_info = new String[]{'gracePeriodDays',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'archiveAfterMonths','archiveRetentionYears','description','gracePeriodDays'}; + } + public class FlowFormula extends FlowElement { + public String type = 'FlowFormula'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String description; + public String name; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + public String dataType; + public String expression; + public Integer scale; + private String[] dataType_type_info = new String[]{'dataType',SOAP_M_URI,null,'0','1','false'}; + private String[] expression_type_info = new String[]{'expression',SOAP_M_URI,null,'1','1','false'}; + private String[] scale_type_info = new String[]{'scale',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues','description','name', 'dataType','expression','scale'}; + } + public class Picklist { + public String controllingField; + public MetadataService.PicklistValue[] picklistValues; + public Boolean restrictedPicklist; + public Boolean sorted; + private String[] controllingField_type_info = new String[]{'controllingField','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'}; + private String[] picklistValues_type_info = new String[]{'picklistValues','http://soap.sforce.com/2006/04/metadata',null,'0','-1','false'}; + private String[] restrictedPicklist_type_info = new String[]{'restrictedPicklist','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'}; + private String[] sorted_type_info = new String[]{'sorted','http://soap.sforce.com/2006/04/metadata',null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{'http://soap.sforce.com/2006/04/metadata','true','false'}; + private String[] field_order_type_info = new String[]{'controllingField','picklistValues','restrictedPicklist','sorted'}; + } + public class deploy_element { + public String ZipFile; + public MetadataService.DeployOptions DeployOptions; + private String[] ZipFile_type_info = new String[]{'ZipFile',SOAP_M_URI,null,'1','1','false'}; + private String[] DeployOptions_type_info = new String[]{'DeployOptions',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'ZipFile','DeployOptions'}; + } + public class ReportTypeSectionTranslation { + public MetadataService.ReportTypeColumnTranslation[] columns; + public String label; + public String name; + private String[] columns_type_info = new String[]{'columns',SOAP_M_URI,null,'0','-1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'columns','label','name'}; + } + public class PersonalJourneySettings extends Metadata { + public String type = 'PersonalJourneySettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean enableExactTargetForSalesforceApps; + private String[] enableExactTargetForSalesforceApps_type_info = new String[]{'enableExactTargetForSalesforceApps',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'enableExactTargetForSalesforceApps'}; + } + public class AppProfileActionOverride { + public String profile; + private String[] profile_type_info = new String[]{'profile',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'profile'}; + } + public class CustomPermission extends Metadata { + public String type = 'CustomPermission'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String connectedApp; + public String description; + public String label; + public MetadataService.CustomPermissionDependencyRequired[] requiredPermission; + private String[] connectedApp_type_info = new String[]{'connectedApp',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] requiredPermission_type_info = new String[]{'requiredPermission',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'connectedApp','description','label','requiredPermission'}; + } + public class DuplicateRule { + public String actionOnInsert; + public String actionOnUpdate; + public String alertText; + public String description; + public MetadataService.DuplicateRuleFilter duplicateRuleFilter; + public MetadataService.DuplicateRuleMatchRule[] duplicateRuleMatchRules; + public Boolean isActive; + public String masterLabel; + public String[] operationsOnInsert; + public String[] operationsOnUpdate; + public String securityOption; + public Integer sortOrder; + private String[] actionOnInsert_type_info = new String[]{'actionOnInsert',SOAP_M_URI,null,'1','1','false'}; + private String[] actionOnUpdate_type_info = new String[]{'actionOnUpdate',SOAP_M_URI,null,'1','1','false'}; + private String[] alertText_type_info = new String[]{'alertText',SOAP_M_URI,null,'1','1','true'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'1','1','true'}; + private String[] duplicateRuleFilter_type_info = new String[]{'duplicateRuleFilter',SOAP_M_URI,null,'1','1','true'}; + private String[] duplicateRuleMatchRules_type_info = new String[]{'duplicateRuleMatchRules',SOAP_M_URI,null,'0','-1','true'}; + private String[] isActive_type_info = new String[]{'isActive',SOAP_M_URI,null,'1','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] operationsOnInsert_type_info = new String[]{'operationsOnInsert',SOAP_M_URI,null,'0','-1','false'}; + private String[] operationsOnUpdate_type_info = new String[]{'operationsOnUpdate',SOAP_M_URI,null,'0','-1','false'}; + private String[] securityOption_type_info = new String[]{'securityOption',SOAP_M_URI,null,'1','1','false'}; + private String[] sortOrder_type_info = new String[]{'sortOrder',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'actionOnInsert','actionOnUpdate','alertText','description','duplicateRuleFilter','duplicateRuleMatchRules','isActive','masterLabel','operationsOnInsert','operationsOnUpdate','securityOption','sortOrder'}; + } + public class FlowScreenFieldOutputParameter { + public String assignToReference; + public String name; + private String[] assignToReference_type_info = new String[]{'assignToReference',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'assignToReference','name'}; + } + public class AgentConfigSkills { + public String[] skill; + private String[] skill_type_info = new String[]{'skill',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'skill'}; + } + public class DeployResult { + public String canceledBy; + public String canceledByName; + public Boolean checkOnly; + public DateTime completedDate; + public String createdBy; + public String createdByName; + public DateTime createdDate; + public MetadataService.DeployDetails details; + public Boolean done; + public String errorMessage; + public String errorStatusCode; + public String id; + public Boolean ignoreWarnings; + public DateTime lastModifiedDate; + public Integer numberComponentErrors; + public Integer numberComponentsDeployed; + public Integer numberComponentsTotal; + public Integer numberTestErrors; + public Integer numberTestsCompleted; + public Integer numberTestsTotal; + public Boolean rollbackOnError; + public Boolean runTestsEnabled; + public DateTime startDate; + public String stateDetail; + public String status; + public Boolean success; + private String[] canceledBy_type_info = new String[]{'canceledBy',SOAP_M_URI,null,'0','1','false'}; + private String[] canceledByName_type_info = new String[]{'canceledByName',SOAP_M_URI,null,'0','1','false'}; + private String[] checkOnly_type_info = new String[]{'checkOnly',SOAP_M_URI,null,'1','1','false'}; + private String[] completedDate_type_info = new String[]{'completedDate',SOAP_M_URI,null,'0','1','false'}; + private String[] createdBy_type_info = new String[]{'createdBy',SOAP_M_URI,null,'1','1','false'}; + private String[] createdByName_type_info = new String[]{'createdByName',SOAP_M_URI,null,'1','1','false'}; + private String[] createdDate_type_info = new String[]{'createdDate',SOAP_M_URI,null,'1','1','false'}; + private String[] details_type_info = new String[]{'details',SOAP_M_URI,null,'1','1','false'}; + private String[] done_type_info = new String[]{'done',SOAP_M_URI,null,'1','1','false'}; + private String[] errorMessage_type_info = new String[]{'errorMessage',SOAP_M_URI,null,'0','1','false'}; + private String[] errorStatusCode_type_info = new String[]{'errorStatusCode',SOAP_M_URI,null,'0','1','false'}; + private String[] id_type_info = new String[]{'id',SOAP_M_URI,null,'1','1','false'}; + private String[] ignoreWarnings_type_info = new String[]{'ignoreWarnings',SOAP_M_URI,null,'1','1','false'}; + private String[] lastModifiedDate_type_info = new String[]{'lastModifiedDate',SOAP_M_URI,null,'0','1','false'}; + private String[] numberComponentErrors_type_info = new String[]{'numberComponentErrors',SOAP_M_URI,null,'1','1','false'}; + private String[] numberComponentsDeployed_type_info = new String[]{'numberComponentsDeployed',SOAP_M_URI,null,'1','1','false'}; + private String[] numberComponentsTotal_type_info = new String[]{'numberComponentsTotal',SOAP_M_URI,null,'1','1','false'}; + private String[] numberTestErrors_type_info = new String[]{'numberTestErrors',SOAP_M_URI,null,'1','1','false'}; + private String[] numberTestsCompleted_type_info = new String[]{'numberTestsCompleted',SOAP_M_URI,null,'1','1','false'}; + private String[] numberTestsTotal_type_info = new String[]{'numberTestsTotal',SOAP_M_URI,null,'1','1','false'}; + private String[] rollbackOnError_type_info = new String[]{'rollbackOnError',SOAP_M_URI,null,'1','1','false'}; + private String[] runTestsEnabled_type_info = new String[]{'runTestsEnabled',SOAP_M_URI,null,'1','1','false'}; + private String[] startDate_type_info = new String[]{'startDate',SOAP_M_URI,null,'0','1','false'}; + private String[] stateDetail_type_info = new String[]{'stateDetail',SOAP_M_URI,null,'0','1','false'}; + private String[] status_type_info = new String[]{'status',SOAP_M_URI,null,'1','1','false'}; + private String[] success_type_info = new String[]{'success',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'canceledBy','canceledByName','checkOnly','completedDate','createdBy','createdByName','createdDate','details','done','errorMessage','errorStatusCode','id','ignoreWarnings','lastModifiedDate','numberComponentErrors','numberComponentsDeployed','numberComponentsTotal','numberTestErrors','numberTestsCompleted','numberTestsTotal','rollbackOnError','runTestsEnabled','startDate','stateDetail','status','success'}; + } + public class IdeaReputationLevel { + public String name; + public Integer value; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'name','value'}; + } + public class EmbeddedServiceConfig extends Metadata { + public String type = 'EmbeddedServiceConfig'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String masterLabel; + public String site; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] site_type_info = new String[]{'site',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'masterLabel','site'}; + } + public class WorkflowTimeTrigger { + public MetadataService.WorkflowActionReference[] actions; + public String offsetFromField; + public String timeLength; + public String workflowTimeTriggerUnit; + private String[] actions_type_info = new String[]{'actions',SOAP_M_URI,null,'0','-1','false'}; + private String[] offsetFromField_type_info = new String[]{'offsetFromField',SOAP_M_URI,null,'0','1','false'}; + private String[] timeLength_type_info = new String[]{'timeLength',SOAP_M_URI,null,'0','1','false'}; + private String[] workflowTimeTriggerUnit_type_info = new String[]{'workflowTimeTriggerUnit',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'actions','offsetFromField','timeLength','workflowTimeTriggerUnit'}; + } + public class AutoResponseRules extends Metadata { + public String type = 'AutoResponseRules'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.AutoResponseRule[] autoResponseRule; + private String[] autoResponseRule_type_info = new String[]{'autoResponseRule',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'autoResponseRule'}; + } + public class LayoutTranslation { + public String layout; + public String layoutType; + public MetadataService.LayoutSectionTranslation[] sections; + private String[] layout_type_info = new String[]{'layout',SOAP_M_URI,null,'1','1','false'}; + private String[] layoutType_type_info = new String[]{'layoutType',SOAP_M_URI,null,'0','1','false'}; + private String[] sections_type_info = new String[]{'sections',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'layout','layoutType','sections'}; + } + public class DashboardFolder extends Folder { + public String type = 'DashboardFolder'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String accessType; + public MetadataService.FolderShare[] folderShares; + public String name; + public String publicFolderAccess; + public MetadataService.SharedTo sharedTo; + private String[] accessType_type_info = new String[]{'accessType',SOAP_M_URI,null,'0','1','false'}; + private String[] folderShares_type_info = new String[]{'folderShares',SOAP_M_URI,null,'0','-1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] publicFolderAccess_type_info = new String[]{'publicFolderAccess',SOAP_M_URI,null,'0','1','false'}; + private String[] sharedTo_type_info = new String[]{'sharedTo',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','accessType','folderShares','name','publicFolderAccess','sharedTo'}; + } + public class ForecastingSettings extends Metadata { + public String type = 'ForecastingSettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String displayCurrency; + public Boolean enableForecasts; + public MetadataService.ForecastingCategoryMapping[] forecastingCategoryMappings; + public MetadataService.ForecastingDisplayedFamilySettings[] forecastingDisplayedFamilySettings; + public MetadataService.ForecastingTypeSettings[] forecastingTypeSettings; + private String[] displayCurrency_type_info = new String[]{'displayCurrency',SOAP_M_URI,null,'0','1','false'}; + private String[] enableForecasts_type_info = new String[]{'enableForecasts',SOAP_M_URI,null,'0','1','false'}; + private String[] forecastingCategoryMappings_type_info = new String[]{'forecastingCategoryMappings',SOAP_M_URI,null,'0','-1','false'}; + private String[] forecastingDisplayedFamilySettings_type_info = new String[]{'forecastingDisplayedFamilySettings',SOAP_M_URI,null,'0','-1','false'}; + private String[] forecastingTypeSettings_type_info = new String[]{'forecastingTypeSettings',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'displayCurrency','enableForecasts','forecastingCategoryMappings','forecastingDisplayedFamilySettings','forecastingTypeSettings'}; + } + public class ReportAggregateReference { + public String aggregate; + private String[] aggregate_type_info = new String[]{'aggregate',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'aggregate'}; + } + public class CommunityTemplateDefinition { + public String baseTemplate; + public MetadataService.CommunityTemplateBundleInfo[] bundlesInfo; + public String category; + public String defaultBrandingSet; + public String defaultThemeDefinition; + public String description; + public Boolean enableExtendedCleanUpOnDelete; + public String masterLabel; + public MetadataService.NavigationLinkSet[] navigationLinkSet; + public MetadataService.CommunityTemplatePageSetting[] pageSetting; + private String[] baseTemplate_type_info = new String[]{'baseTemplate',SOAP_M_URI,null,'0','1','false'}; + private String[] bundlesInfo_type_info = new String[]{'bundlesInfo',SOAP_M_URI,null,'0','-1','false'}; + private String[] category_type_info = new String[]{'category',SOAP_M_URI,null,'1','1','false'}; + private String[] defaultBrandingSet_type_info = new String[]{'defaultBrandingSet',SOAP_M_URI,null,'0','1','false'}; + private String[] defaultThemeDefinition_type_info = new String[]{'defaultThemeDefinition',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] enableExtendedCleanUpOnDelete_type_info = new String[]{'enableExtendedCleanUpOnDelete',SOAP_M_URI,null,'0','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] navigationLinkSet_type_info = new String[]{'navigationLinkSet',SOAP_M_URI,null,'0','-1','false'}; + private String[] pageSetting_type_info = new String[]{'pageSetting',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'baseTemplate','bundlesInfo','category','defaultBrandingSet','defaultThemeDefinition','description','enableExtendedCleanUpOnDelete','masterLabel','navigationLinkSet','pageSetting'}; + } + public class DashboardFilterOption { + public String operator; + public String[] values; + private String[] operator_type_info = new String[]{'operator',SOAP_M_URI,null,'1','1','false'}; + private String[] values_type_info = new String[]{'values',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'operator','values'}; + } + public class FlowConstant extends FlowElement { + public String type = 'FlowConstant'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String description; + public String name; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + public String dataType; + public MetadataService.FlowElementReferenceOrValue value; + private String[] dataType_type_info = new String[]{'dataType',SOAP_M_URI,null,'1','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues','description','name', 'dataType','value'}; + } + public class ConnectedAppSamlConfig { + public String acsUrl; + public String certificate; + public String encryptionCertificate; + public String encryptionType; + public String entityUrl; + public String issuer; + public String samlIdpSLOBindingEnum; + public String samlNameIdFormat; + public String samlSloUrl; + public String samlSubjectCustomAttr; + public String samlSubjectType; + private String[] acsUrl_type_info = new String[]{'acsUrl',SOAP_M_URI,null,'1','1','false'}; + private String[] certificate_type_info = new String[]{'certificate',SOAP_M_URI,null,'0','1','false'}; + private String[] encryptionCertificate_type_info = new String[]{'encryptionCertificate',SOAP_M_URI,null,'0','1','false'}; + private String[] encryptionType_type_info = new String[]{'encryptionType',SOAP_M_URI,null,'0','1','false'}; + private String[] entityUrl_type_info = new String[]{'entityUrl',SOAP_M_URI,null,'1','1','false'}; + private String[] issuer_type_info = new String[]{'issuer',SOAP_M_URI,null,'0','1','false'}; + private String[] samlIdpSLOBindingEnum_type_info = new String[]{'samlIdpSLOBindingEnum',SOAP_M_URI,null,'0','1','false'}; + private String[] samlNameIdFormat_type_info = new String[]{'samlNameIdFormat',SOAP_M_URI,null,'0','1','false'}; + private String[] samlSloUrl_type_info = new String[]{'samlSloUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] samlSubjectCustomAttr_type_info = new String[]{'samlSubjectCustomAttr',SOAP_M_URI,null,'0','1','false'}; + private String[] samlSubjectType_type_info = new String[]{'samlSubjectType',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'acsUrl','certificate','encryptionCertificate','encryptionType','entityUrl','issuer','samlIdpSLOBindingEnum','samlNameIdFormat','samlSloUrl','samlSubjectCustomAttr','samlSubjectType'}; + } + public class LiveChatSensitiveDataRule { + public String actionType; + public String description; + public Integer enforceOn; + public Boolean isEnabled; + public String pattern; + public String replacement; + private String[] actionType_type_info = new String[]{'actionType',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] enforceOn_type_info = new String[]{'enforceOn',SOAP_M_URI,null,'1','1','false'}; + private String[] isEnabled_type_info = new String[]{'isEnabled',SOAP_M_URI,null,'1','1','false'}; + private String[] pattern_type_info = new String[]{'pattern',SOAP_M_URI,null,'1','1','false'}; + private String[] replacement_type_info = new String[]{'replacement',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'actionType','description','enforceOn','isEnabled','pattern','replacement'}; + } + public class ApprovalStepRejectBehavior { + public String type_x; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'type_x'}; + } + public class XOrgHubSharedObject { + public String[] fields; + public String name; + private String[] fields_type_info = new String[]{'fields',SOAP_M_URI,null,'0','-1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'fields','name'}; + } + public class createMetadata_element { + public MetadataService.Metadata[] metadata; + private String[] metadata_type_info = new String[]{'metadata',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'metadata'}; + } + public class ContentAsset extends Metadata { + public String type = 'ContentAsset'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String format; + public String language; + public String masterLabel; + public String originNetwork; + public MetadataService.ContentAssetRelationships relationships; + public MetadataService.ContentAssetVersions versions; + private String[] format_type_info = new String[]{'format',SOAP_M_URI,null,'0','1','false'}; + private String[] language_type_info = new String[]{'language',SOAP_M_URI,null,'1','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] originNetwork_type_info = new String[]{'originNetwork',SOAP_M_URI,null,'0','1','false'}; + private String[] relationships_type_info = new String[]{'relationships',SOAP_M_URI,null,'0','1','false'}; + private String[] versions_type_info = new String[]{'versions',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'format','language','masterLabel','originNetwork','relationships','versions'}; + } + public class DuplicateRuleFilterItem { + public Integer sortOrder; + public String table; + private String[] sortOrder_type_info = new String[]{'sortOrder',SOAP_M_URI,null,'1','1','false'}; + private String[] table_type_info = new String[]{'table',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'sortOrder','table'}; + } + public class CustomPageWebLinkTranslation { + public String label; + public String name; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'label','name'}; + } + public class describeMetadataResponse_element { + public MetadataService.DescribeMetadataResult result; + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class CustomPermissionDependencyRequired { + public String customPermission; + public Boolean dependency; + private String[] customPermission_type_info = new String[]{'customPermission',SOAP_M_URI,null,'1','1','false'}; + private String[] dependency_type_info = new String[]{'dependency',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'customPermission','dependency'}; + } + public class ProfileFieldLevelSecurity { + public Boolean editable; + public String field; + public Boolean readable; + private String[] editable_type_info = new String[]{'editable',SOAP_M_URI,null,'1','1','false'}; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'1','1','false'}; + private String[] readable_type_info = new String[]{'readable',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'editable','field','readable'}; + } + public class checkDeployStatus_element { + public String asyncProcessId; + public Boolean includeDetails; + private String[] asyncProcessId_type_info = new String[]{'asyncProcessId',SOAP_M_URI,null,'1','1','false'}; + private String[] includeDetails_type_info = new String[]{'includeDetails',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'asyncProcessId','includeDetails'}; + } + public virtual class MetadataWithContent extends Metadata { + public String content; + } + public class RecommendationDefinitionDetail { + public String actionUrl; + public String description; + public String linkText; + public MetadataService.ScheduledRecommendation scheduledRecommendations; + public String setupName; + public String title; + private String[] actionUrl_type_info = new String[]{'actionUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] linkText_type_info = new String[]{'linkText',SOAP_M_URI,null,'0','1','false'}; + private String[] scheduledRecommendations_type_info = new String[]{'scheduledRecommendations',SOAP_M_URI,null,'0','1','false'}; + private String[] setupName_type_info = new String[]{'setupName',SOAP_M_URI,null,'0','1','false'}; + private String[] title_type_info = new String[]{'title',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'actionUrl','description','linkText','scheduledRecommendations','setupName','title'}; + } + public class FlowActionCallInputParameter extends FlowBaseElement { + public String type = 'FlowActionCallInputParameter'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String name; + public MetadataService.FlowElementReferenceOrValue value; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] value_type_info = new String[]{'value',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues', 'name','value'}; + } + public class SkillUserAssignments { + public String[] user_x; + private String[] user_x_type_info = new String[]{'user',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'user_x'}; + } + public class checkDeployStatusResponse_element { + public MetadataService.DeployResult result; + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class FlowRecordUpdate extends FlowNode { + public String type = 'FlowRecordUpdate'; + public MetadataService.FlowMetadataValue[] processMetadataValues; + private String[] processMetadataValues_type_info = new String[]{'processMetadataValues',SOAP_M_URI,null,'0','-1','false'}; + public String description; + public String name; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + public String label; + public Integer locationX; + public Integer locationY; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] locationX_type_info = new String[]{'locationX',SOAP_M_URI,null,'1','1','false'}; + private String[] locationY_type_info = new String[]{'locationY',SOAP_M_URI,null,'1','1','false'}; + public MetadataService.FlowConnector connector; + public MetadataService.FlowConnector faultConnector; + public MetadataService.FlowRecordFilter[] filters; + public MetadataService.FlowInputFieldAssignment[] inputAssignments; + public String inputReference; + public String object_x; + private String[] connector_type_info = new String[]{'connector',SOAP_M_URI,null,'0','1','false'}; + private String[] faultConnector_type_info = new String[]{'faultConnector',SOAP_M_URI,null,'0','1','false'}; + private String[] filters_type_info = new String[]{'filters',SOAP_M_URI,null,'0','-1','false'}; + private String[] inputAssignments_type_info = new String[]{'inputAssignments',SOAP_M_URI,null,'0','-1','false'}; + private String[] inputReference_type_info = new String[]{'inputReference',SOAP_M_URI,null,'0','1','false'}; + private String[] object_x_type_info = new String[]{'object',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'processMetadataValues','description','name','label','locationX','locationY', 'connector','faultConnector','filters','inputAssignments','inputReference','object_x'}; + } + public class FlowInputValidationRuleTranslation { + public String errorMessage; + private String[] errorMessage_type_info = new String[]{'errorMessage',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'errorMessage'}; + } + public class CleanRule { + public Boolean bulkEnabled; + public Boolean bypassTriggers; + public Boolean bypassWorkflow; + public String description; + public String developerName; + public MetadataService.FieldMapping[] fieldMappings; + public String masterLabel; + public String matchRule; + public String sourceSobjectType; + public String status; + public String targetSobjectType; + private String[] bulkEnabled_type_info = new String[]{'bulkEnabled',SOAP_M_URI,null,'1','1','false'}; + private String[] bypassTriggers_type_info = new String[]{'bypassTriggers',SOAP_M_URI,null,'1','1','false'}; + private String[] bypassWorkflow_type_info = new String[]{'bypassWorkflow',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'1','1','false'}; + private String[] developerName_type_info = new String[]{'developerName',SOAP_M_URI,null,'1','1','false'}; + private String[] fieldMappings_type_info = new String[]{'fieldMappings',SOAP_M_URI,null,'0','-1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] matchRule_type_info = new String[]{'matchRule',SOAP_M_URI,null,'1','1','false'}; + private String[] sourceSobjectType_type_info = new String[]{'sourceSobjectType',SOAP_M_URI,null,'1','1','false'}; + private String[] status_type_info = new String[]{'status',SOAP_M_URI,null,'1','1','false'}; + private String[] targetSobjectType_type_info = new String[]{'targetSobjectType',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'bulkEnabled','bypassTriggers','bypassWorkflow','description','developerName','fieldMappings','masterLabel','matchRule','sourceSobjectType','status','targetSobjectType'}; + } + public class DashboardComponent { + public Boolean autoselectColumnsFromReport; + public String chartAxisRange; + public Double chartAxisRangeMax; + public Double chartAxisRangeMin; + public MetadataService.ChartSummary[] chartSummary; + public String componentChartTheme; + public String componentType; + public MetadataService.DashboardFilterColumn[] dashboardFilterColumns; + public MetadataService.DashboardTableColumn[] dashboardTableColumn; + public String displayUnits; + public String drillDownUrl; + public Boolean drillEnabled; + public Boolean drillToDetailEnabled; + public Boolean enableHover; + public Boolean expandOthers; + public MetadataService.DashboardFlexTableComponentProperties flexComponentProperties; + public String footer; + public Double gaugeMax; + public Double gaugeMin; + public String[] groupingColumn; + public String header; + public Double indicatorBreakpoint1; + public Double indicatorBreakpoint2; + public String indicatorHighColor; + public String indicatorLowColor; + public String indicatorMiddleColor; + public String legendPosition; + public Integer maxValuesDisplayed; + public String metricLabel; + public String page_x; + public Integer pageHeightInPixels; + public String report; + public String scontrol; + public Integer scontrolHeightInPixels; + public Boolean showPercentage; + public Boolean showPicturesOnCharts; + public Boolean showPicturesOnTables; + public Boolean showRange; + public Boolean showTotal; + public Boolean showValues; + public String sortBy; + public String title; + public Boolean useReportChart; + private String[] autoselectColumnsFromReport_type_info = new String[]{'autoselectColumnsFromReport',SOAP_M_URI,null,'0','1','false'}; + private String[] chartAxisRange_type_info = new String[]{'chartAxisRange',SOAP_M_URI,null,'0','1','false'}; + private String[] chartAxisRangeMax_type_info = new String[]{'chartAxisRangeMax',SOAP_M_URI,null,'0','1','false'}; + private String[] chartAxisRangeMin_type_info = new String[]{'chartAxisRangeMin',SOAP_M_URI,null,'0','1','false'}; + private String[] chartSummary_type_info = new String[]{'chartSummary',SOAP_M_URI,null,'0','-1','false'}; + private String[] componentChartTheme_type_info = new String[]{'componentChartTheme',SOAP_M_URI,null,'0','1','false'}; + private String[] componentType_type_info = new String[]{'componentType',SOAP_M_URI,null,'1','1','false'}; + private String[] dashboardFilterColumns_type_info = new String[]{'dashboardFilterColumns',SOAP_M_URI,null,'0','-1','false'}; + private String[] dashboardTableColumn_type_info = new String[]{'dashboardTableColumn',SOAP_M_URI,null,'0','-1','false'}; + private String[] displayUnits_type_info = new String[]{'displayUnits',SOAP_M_URI,null,'0','1','false'}; + private String[] drillDownUrl_type_info = new String[]{'drillDownUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] drillEnabled_type_info = new String[]{'drillEnabled',SOAP_M_URI,null,'0','1','false'}; + private String[] drillToDetailEnabled_type_info = new String[]{'drillToDetailEnabled',SOAP_M_URI,null,'0','1','false'}; + private String[] enableHover_type_info = new String[]{'enableHover',SOAP_M_URI,null,'0','1','false'}; + private String[] expandOthers_type_info = new String[]{'expandOthers',SOAP_M_URI,null,'0','1','false'}; + private String[] flexComponentProperties_type_info = new String[]{'flexComponentProperties',SOAP_M_URI,null,'0','1','false'}; + private String[] footer_type_info = new String[]{'footer',SOAP_M_URI,null,'0','1','false'}; + private String[] gaugeMax_type_info = new String[]{'gaugeMax',SOAP_M_URI,null,'0','1','false'}; + private String[] gaugeMin_type_info = new String[]{'gaugeMin',SOAP_M_URI,null,'0','1','false'}; + private String[] groupingColumn_type_info = new String[]{'groupingColumn',SOAP_M_URI,null,'0','-1','false'}; + private String[] header_type_info = new String[]{'header',SOAP_M_URI,null,'0','1','false'}; + private String[] indicatorBreakpoint1_type_info = new String[]{'indicatorBreakpoint1',SOAP_M_URI,null,'0','1','false'}; + private String[] indicatorBreakpoint2_type_info = new String[]{'indicatorBreakpoint2',SOAP_M_URI,null,'0','1','false'}; + private String[] indicatorHighColor_type_info = new String[]{'indicatorHighColor',SOAP_M_URI,null,'0','1','false'}; + private String[] indicatorLowColor_type_info = new String[]{'indicatorLowColor',SOAP_M_URI,null,'0','1','false'}; + private String[] indicatorMiddleColor_type_info = new String[]{'indicatorMiddleColor',SOAP_M_URI,null,'0','1','false'}; + private String[] legendPosition_type_info = new String[]{'legendPosition',SOAP_M_URI,null,'0','1','false'}; + private String[] maxValuesDisplayed_type_info = new String[]{'maxValuesDisplayed',SOAP_M_URI,null,'0','1','false'}; + private String[] metricLabel_type_info = new String[]{'metricLabel',SOAP_M_URI,null,'0','1','false'}; + private String[] page_x_type_info = new String[]{'page',SOAP_M_URI,null,'0','1','false'}; + private String[] pageHeightInPixels_type_info = new String[]{'pageHeightInPixels',SOAP_M_URI,null,'0','1','false'}; + private String[] report_type_info = new String[]{'report',SOAP_M_URI,null,'0','1','false'}; + private String[] scontrol_type_info = new String[]{'scontrol',SOAP_M_URI,null,'0','1','false'}; + private String[] scontrolHeightInPixels_type_info = new String[]{'scontrolHeightInPixels',SOAP_M_URI,null,'0','1','false'}; + private String[] showPercentage_type_info = new String[]{'showPercentage',SOAP_M_URI,null,'0','1','false'}; + private String[] showPicturesOnCharts_type_info = new String[]{'showPicturesOnCharts',SOAP_M_URI,null,'0','1','false'}; + private String[] showPicturesOnTables_type_info = new String[]{'showPicturesOnTables',SOAP_M_URI,null,'0','1','false'}; + private String[] showRange_type_info = new String[]{'showRange',SOAP_M_URI,null,'0','1','false'}; + private String[] showTotal_type_info = new String[]{'showTotal',SOAP_M_URI,null,'0','1','false'}; + private String[] showValues_type_info = new String[]{'showValues',SOAP_M_URI,null,'0','1','false'}; + private String[] sortBy_type_info = new String[]{'sortBy',SOAP_M_URI,null,'0','1','false'}; + private String[] title_type_info = new String[]{'title',SOAP_M_URI,null,'0','1','false'}; + private String[] useReportChart_type_info = new String[]{'useReportChart',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'autoselectColumnsFromReport','chartAxisRange','chartAxisRangeMax','chartAxisRangeMin','chartSummary','componentChartTheme','componentType','dashboardFilterColumns','dashboardTableColumn','displayUnits','drillDownUrl','drillEnabled','drillToDetailEnabled','enableHover','expandOthers','flexComponentProperties','footer','gaugeMax','gaugeMin','groupingColumn','header','indicatorBreakpoint1','indicatorBreakpoint2','indicatorHighColor','indicatorLowColor','indicatorMiddleColor','legendPosition','maxValuesDisplayed','metricLabel','page_x','pageHeightInPixels','report','scontrol','scontrolHeightInPixels','showPercentage','showPicturesOnCharts','showPicturesOnTables','showRange','showTotal','showValues','sortBy','title','useReportChart'}; + } + public class ReportColorRange { + public String aggregate; + public String columnName; + public Double highBreakpoint; + public String highColor; + public Double lowBreakpoint; + public String lowColor; + public String midColor; + private String[] aggregate_type_info = new String[]{'aggregate',SOAP_M_URI,null,'0','1','false'}; + private String[] columnName_type_info = new String[]{'columnName',SOAP_M_URI,null,'1','1','false'}; + private String[] highBreakpoint_type_info = new String[]{'highBreakpoint',SOAP_M_URI,null,'0','1','false'}; + private String[] highColor_type_info = new String[]{'highColor',SOAP_M_URI,null,'1','1','false'}; + private String[] lowBreakpoint_type_info = new String[]{'lowBreakpoint',SOAP_M_URI,null,'0','1','false'}; + private String[] lowColor_type_info = new String[]{'lowColor',SOAP_M_URI,null,'1','1','false'}; + private String[] midColor_type_info = new String[]{'midColor',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'aggregate','columnName','highBreakpoint','highColor','lowBreakpoint','lowColor','midColor'}; + } + public class OrganizationSettingsDetail { + public String settingName; + public Boolean settingValue; + private String[] settingName_type_info = new String[]{'settingName',SOAP_M_URI,null,'1','1','false'}; + private String[] settingValue_type_info = new String[]{'settingValue',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'settingName','settingValue'}; + } + public class EclairGeoData extends MetadataWithContent { + public String type = 'EclairGeoData'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String content; + private String[] content_type_info = new String[]{'content',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.EclairMap[] maps; + public String masterLabel; + private String[] maps_type_info = new String[]{'maps',SOAP_M_URI,null,'0','-1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName','content', 'maps','masterLabel'}; + } + public class SummaryLayout { + public String masterLabel; + public Integer sizeX; + public Integer sizeY; + public Integer sizeZ; + public MetadataService.SummaryLayoutItem[] summaryLayoutItems; + public String summaryLayoutStyle; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] sizeX_type_info = new String[]{'sizeX',SOAP_M_URI,null,'1','1','false'}; + private String[] sizeY_type_info = new String[]{'sizeY',SOAP_M_URI,null,'0','1','false'}; + private String[] sizeZ_type_info = new String[]{'sizeZ',SOAP_M_URI,null,'0','1','false'}; + private String[] summaryLayoutItems_type_info = new String[]{'summaryLayoutItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] summaryLayoutStyle_type_info = new String[]{'summaryLayoutStyle',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'masterLabel','sizeX','sizeY','sizeZ','summaryLayoutItems','summaryLayoutStyle'}; + } + public class GlobalValueSet extends Metadata { + public String type = 'GlobalValueSet'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.CustomValue[] customValue; + public String description; + public String masterLabel; + public Boolean sorted; + private String[] customValue_type_info = new String[]{'customValue',SOAP_M_URI,null,'0','-1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] sorted_type_info = new String[]{'sorted',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'customValue','description','masterLabel','sorted'}; + } + public class QuickActionLayout { + public String layoutSectionStyle; + public MetadataService.QuickActionLayoutColumn[] quickActionLayoutColumns; + private String[] layoutSectionStyle_type_info = new String[]{'layoutSectionStyle',SOAP_M_URI,null,'1','1','false'}; + private String[] quickActionLayoutColumns_type_info = new String[]{'quickActionLayoutColumns',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'layoutSectionStyle','quickActionLayoutColumns'}; + } + public class Territory2Type extends Metadata { + public String type = 'Territory2Type'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String description; + public String name; + public Integer priority; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] priority_type_info = new String[]{'priority',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'description','name','priority'}; + } + public class listMetadataResponse_element { + public MetadataService.FileProperties[] result; + private String[] result_type_info = new String[]{'result',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'result'}; + } + public class CommunityCustomThemeLayoutType { + public String description; + public String label; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'description','label'}; + } + public class CommunityTemplatePageSetting { + public String page_x; + public String themeLayout; + private String[] page_x_type_info = new String[]{'page',SOAP_M_URI,null,'1','1','false'}; + private String[] themeLayout_type_info = new String[]{'themeLayout',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'page_x','themeLayout'}; + } + public class SamlSsoConfig extends Metadata { + public String type = 'SamlSsoConfig'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String attributeName; + public String attributeNameIdFormat; + public String decryptionCertificate; + public String errorUrl; + public String executionUserId; + public String identityLocation; + public String identityMapping; + public String issuer; + public String loginUrl; + public String logoutUrl; + public String name; + public String oauthTokenEndpoint; + public Boolean redirectBinding; + public String requestSignatureMethod; + public String requestSigningCertId; + public String salesforceLoginUrl; + public String samlEntityId; + public String samlJitHandlerId; + public String samlVersion; + public String singleLogoutBinding; + public String singleLogoutUrl; + public Boolean userProvisioning; + public String validationCert; + private String[] attributeName_type_info = new String[]{'attributeName',SOAP_M_URI,null,'0','1','false'}; + private String[] attributeNameIdFormat_type_info = new String[]{'attributeNameIdFormat',SOAP_M_URI,null,'0','1','false'}; + private String[] decryptionCertificate_type_info = new String[]{'decryptionCertificate',SOAP_M_URI,null,'0','1','false'}; + private String[] errorUrl_type_info = new String[]{'errorUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] executionUserId_type_info = new String[]{'executionUserId',SOAP_M_URI,null,'0','1','false'}; + private String[] identityLocation_type_info = new String[]{'identityLocation',SOAP_M_URI,null,'1','1','false'}; + private String[] identityMapping_type_info = new String[]{'identityMapping',SOAP_M_URI,null,'1','1','false'}; + private String[] issuer_type_info = new String[]{'issuer',SOAP_M_URI,null,'1','1','false'}; + private String[] loginUrl_type_info = new String[]{'loginUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] logoutUrl_type_info = new String[]{'logoutUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] oauthTokenEndpoint_type_info = new String[]{'oauthTokenEndpoint',SOAP_M_URI,null,'0','1','false'}; + private String[] redirectBinding_type_info = new String[]{'redirectBinding',SOAP_M_URI,null,'0','1','false'}; + private String[] requestSignatureMethod_type_info = new String[]{'requestSignatureMethod',SOAP_M_URI,null,'0','1','false'}; + private String[] requestSigningCertId_type_info = new String[]{'requestSigningCertId',SOAP_M_URI,null,'0','1','false'}; + private String[] salesforceLoginUrl_type_info = new String[]{'salesforceLoginUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] samlEntityId_type_info = new String[]{'samlEntityId',SOAP_M_URI,null,'1','1','false'}; + private String[] samlJitHandlerId_type_info = new String[]{'samlJitHandlerId',SOAP_M_URI,null,'0','1','false'}; + private String[] samlVersion_type_info = new String[]{'samlVersion',SOAP_M_URI,null,'1','1','false'}; + private String[] singleLogoutBinding_type_info = new String[]{'singleLogoutBinding',SOAP_M_URI,null,'0','1','false'}; + private String[] singleLogoutUrl_type_info = new String[]{'singleLogoutUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] userProvisioning_type_info = new String[]{'userProvisioning',SOAP_M_URI,null,'0','1','false'}; + private String[] validationCert_type_info = new String[]{'validationCert',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'attributeName','attributeNameIdFormat','decryptionCertificate','errorUrl','executionUserId','identityLocation','identityMapping','issuer','loginUrl','logoutUrl','name','oauthTokenEndpoint','redirectBinding','requestSignatureMethod','requestSigningCertId','salesforceLoginUrl','samlEntityId','samlJitHandlerId','samlVersion','singleLogoutBinding','singleLogoutUrl','userProvisioning','validationCert'}; + } + public class describeValueType_element { + public String type_x; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'type_x'}; + } + public class ReputationLevels { + public MetadataService.ChatterAnswersReputationLevel[] chatterAnswersReputationLevels; + public MetadataService.IdeaReputationLevel[] ideaReputationLevels; + private String[] chatterAnswersReputationLevels_type_info = new String[]{'chatterAnswersReputationLevels',SOAP_M_URI,null,'0','-1','false'}; + private String[] ideaReputationLevels_type_info = new String[]{'ideaReputationLevels',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'chatterAnswersReputationLevels','ideaReputationLevels'}; + } + public virtual class FlowBaseElement { + public MetadataService.FlowMetadataValue[] processMetadataValues; + } + public class WaveXmdMeasure { + public String dateFormat; + public String description; + public String field; + public String formatCustomFormat; + public Integer formatDecimalDigits; + public Boolean formatIsNegativeParens; + public String formatPrefix; + public String formatSuffix; + public String formatUnit; + public Double formatUnitMultiplier; + public String fullyQualifiedName; + public Boolean isDerived; + public String label; + public String origin; + public Integer showDetailsDefaultFieldIndex; + public Boolean showInExplorer; + public Integer sortIndex; + private String[] dateFormat_type_info = new String[]{'dateFormat',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'1','1','false'}; + private String[] formatCustomFormat_type_info = new String[]{'formatCustomFormat',SOAP_M_URI,null,'0','1','false'}; + private String[] formatDecimalDigits_type_info = new String[]{'formatDecimalDigits',SOAP_M_URI,null,'0','1','false'}; + private String[] formatIsNegativeParens_type_info = new String[]{'formatIsNegativeParens',SOAP_M_URI,null,'0','1','false'}; + private String[] formatPrefix_type_info = new String[]{'formatPrefix',SOAP_M_URI,null,'0','1','false'}; + private String[] formatSuffix_type_info = new String[]{'formatSuffix',SOAP_M_URI,null,'0','1','false'}; + private String[] formatUnit_type_info = new String[]{'formatUnit',SOAP_M_URI,null,'0','1','false'}; + private String[] formatUnitMultiplier_type_info = new String[]{'formatUnitMultiplier',SOAP_M_URI,null,'0','1','false'}; + private String[] fullyQualifiedName_type_info = new String[]{'fullyQualifiedName',SOAP_M_URI,null,'0','1','false'}; + private String[] isDerived_type_info = new String[]{'isDerived',SOAP_M_URI,null,'1','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'0','1','false'}; + private String[] origin_type_info = new String[]{'origin',SOAP_M_URI,null,'0','1','false'}; + private String[] showDetailsDefaultFieldIndex_type_info = new String[]{'showDetailsDefaultFieldIndex',SOAP_M_URI,null,'0','1','false'}; + private String[] showInExplorer_type_info = new String[]{'showInExplorer',SOAP_M_URI,null,'0','1','false'}; + private String[] sortIndex_type_info = new String[]{'sortIndex',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'dateFormat','description','field','formatCustomFormat','formatDecimalDigits','formatIsNegativeParens','formatPrefix','formatSuffix','formatUnit','formatUnitMultiplier','fullyQualifiedName','isDerived','label','origin','showDetailsDefaultFieldIndex','showInExplorer','sortIndex'}; + } + public class SidebarComponent { + public String componentType; + public String createAction; + public Boolean enableLinking; + public Integer height; + public String label; + public String lookup; + public String page_x; + public MetadataService.RelatedList[] relatedLists; + public String unit; + public String updateAction; + public Integer width; + private String[] componentType_type_info = new String[]{'componentType',SOAP_M_URI,null,'1','1','false'}; + private String[] createAction_type_info = new String[]{'createAction',SOAP_M_URI,null,'0','1','false'}; + private String[] enableLinking_type_info = new String[]{'enableLinking',SOAP_M_URI,null,'0','1','false'}; + private String[] height_type_info = new String[]{'height',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'0','1','false'}; + private String[] lookup_type_info = new String[]{'lookup',SOAP_M_URI,null,'0','1','false'}; + private String[] page_x_type_info = new String[]{'page',SOAP_M_URI,null,'0','1','false'}; + private String[] relatedLists_type_info = new String[]{'relatedLists',SOAP_M_URI,null,'0','-1','false'}; + private String[] unit_type_info = new String[]{'unit',SOAP_M_URI,null,'0','1','false'}; + private String[] updateAction_type_info = new String[]{'updateAction',SOAP_M_URI,null,'0','1','false'}; + private String[] width_type_info = new String[]{'width',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'componentType','createAction','enableLinking','height','label','lookup','page_x','relatedLists','unit','updateAction','width'}; + } + public class PermissionSetGroup { + public String description; + public Boolean isCalculatingChanges; + public String label; + public String[] permissionSets; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] isCalculatingChanges_type_info = new String[]{'isCalculatingChanges',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'1','1','false'}; + private String[] permissionSets_type_info = new String[]{'permissionSets',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'description','isCalculatingChanges','label','permissionSets'}; + } + public class TransactionSecurityNotification { + public Boolean inApp; + public Boolean sendEmail; + public String user_x; + private String[] inApp_type_info = new String[]{'inApp',SOAP_M_URI,null,'1','1','false'}; + private String[] sendEmail_type_info = new String[]{'sendEmail',SOAP_M_URI,null,'1','1','false'}; + private String[] user_x_type_info = new String[]{'user',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'inApp','sendEmail','user_x'}; + } + public class ReportColumn { + public String[] aggregateTypes; + public String field; + public Boolean reverseColors; + public Boolean showChanges; + private String[] aggregateTypes_type_info = new String[]{'aggregateTypes',SOAP_M_URI,null,'0','-1','false'}; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'1','1','false'}; + private String[] reverseColors_type_info = new String[]{'reverseColors',SOAP_M_URI,null,'0','1','false'}; + private String[] showChanges_type_info = new String[]{'showChanges',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'aggregateTypes','field','reverseColors','showChanges'}; + } + public class BusinessHoursSettings extends Metadata { + public String type = 'BusinessHoursSettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.BusinessHoursEntry[] businessHours; + public MetadataService.Holiday[] holidays; + private String[] businessHours_type_info = new String[]{'businessHours',SOAP_M_URI,null,'0','-1','false'}; + private String[] holidays_type_info = new String[]{'holidays',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'businessHours','holidays'}; + } + public class TopicsForObjects extends Metadata { + public String type = 'TopicsForObjects'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean enableTopics; + public String entityApiName; + private String[] enableTopics_type_info = new String[]{'enableTopics',SOAP_M_URI,null,'1','1','false'}; + private String[] entityApiName_type_info = new String[]{'entityApiName',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'enableTopics','entityApiName'}; + } + public class FlowChoiceUserInputTranslation { + public String promptText; + public MetadataService.FlowInputValidationRuleTranslation validationRule; + private String[] promptText_type_info = new String[]{'promptText',SOAP_M_URI,null,'0','1','false'}; + private String[] validationRule_type_info = new String[]{'validationRule',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'promptText','validationRule'}; + } + public class FieldSetItem { + public String field; + public Boolean isFieldManaged; + public Boolean isRequired; + private String[] field_type_info = new String[]{'field',SOAP_M_URI,null,'0','1','false'}; + private String[] isFieldManaged_type_info = new String[]{'isFieldManaged',SOAP_M_URI,null,'0','1','false'}; + private String[] isRequired_type_info = new String[]{'isRequired',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'field','isFieldManaged','isRequired'}; + } + public class ProfileUserPermission { + public Boolean enabled; + public String name; + private String[] enabled_type_info = new String[]{'enabled',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'enabled','name'}; + } + public class FindSimilarOppFilter { + public String[] similarOpportunitiesDisplayColumns; + public String[] similarOpportunitiesMatchFields; + private String[] similarOpportunitiesDisplayColumns_type_info = new String[]{'similarOpportunitiesDisplayColumns',SOAP_M_URI,null,'0','-1','false'}; + private String[] similarOpportunitiesMatchFields_type_info = new String[]{'similarOpportunitiesMatchFields',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'similarOpportunitiesDisplayColumns','similarOpportunitiesMatchFields'}; + } + public class ReportAggregate { + public String acrossGroupingContext; + public String calculatedFormula; + public String datatype; + public String description; + public String developerName; + public String downGroupingContext; + public Boolean isActive; + public Boolean isCrossBlock; + public String masterLabel; + public String reportType; + public Integer scale; + private String[] acrossGroupingContext_type_info = new String[]{'acrossGroupingContext',SOAP_M_URI,null,'0','1','false'}; + private String[] calculatedFormula_type_info = new String[]{'calculatedFormula',SOAP_M_URI,null,'1','1','false'}; + private String[] datatype_type_info = new String[]{'datatype',SOAP_M_URI,null,'1','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] developerName_type_info = new String[]{'developerName',SOAP_M_URI,null,'1','1','false'}; + private String[] downGroupingContext_type_info = new String[]{'downGroupingContext',SOAP_M_URI,null,'0','1','false'}; + private String[] isActive_type_info = new String[]{'isActive',SOAP_M_URI,null,'1','1','false'}; + private String[] isCrossBlock_type_info = new String[]{'isCrossBlock',SOAP_M_URI,null,'0','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] reportType_type_info = new String[]{'reportType',SOAP_M_URI,null,'0','1','false'}; + private String[] scale_type_info = new String[]{'scale',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'acrossGroupingContext','calculatedFormula','datatype','description','developerName','downGroupingContext','isActive','isCrossBlock','masterLabel','reportType','scale'}; + } + public class ContractSettings extends Metadata { + public String type = 'ContractSettings'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public Boolean autoCalculateEndDate; + public String autoExpirationDelay; + public String autoExpirationRecipient; + public Boolean autoExpireContracts; + public Boolean enableContractHistoryTracking; + public Boolean notifyOwnersOnContractExpiration; + private String[] autoCalculateEndDate_type_info = new String[]{'autoCalculateEndDate',SOAP_M_URI,null,'0','1','false'}; + private String[] autoExpirationDelay_type_info = new String[]{'autoExpirationDelay',SOAP_M_URI,null,'0','1','false'}; + private String[] autoExpirationRecipient_type_info = new String[]{'autoExpirationRecipient',SOAP_M_URI,null,'0','1','false'}; + private String[] autoExpireContracts_type_info = new String[]{'autoExpireContracts',SOAP_M_URI,null,'0','1','false'}; + private String[] enableContractHistoryTracking_type_info = new String[]{'enableContractHistoryTracking',SOAP_M_URI,null,'0','1','false'}; + private String[] notifyOwnersOnContractExpiration_type_info = new String[]{'notifyOwnersOnContractExpiration',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'autoCalculateEndDate','autoExpirationDelay','autoExpirationRecipient','autoExpireContracts','enableContractHistoryTracking','notifyOwnersOnContractExpiration'}; + } + public class EscalationRules extends Metadata { + public String type = 'EscalationRules'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.EscalationRule[] escalationRule; + private String[] escalationRule_type_info = new String[]{'escalationRule',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'escalationRule'}; + } + public class NetworkTabSet { + public String[] customTab; + public String defaultTab; + public String[] standardTab; + private String[] customTab_type_info = new String[]{'customTab',SOAP_M_URI,null,'0','-1','false'}; + private String[] defaultTab_type_info = new String[]{'defaultTab',SOAP_M_URI,null,'1','1','false'}; + private String[] standardTab_type_info = new String[]{'standardTab',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'customTab','defaultTab','standardTab'}; + } + public class EmbeddedServiceLiveAgent extends Metadata { + public String type = 'EmbeddedServiceLiveAgent'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String avatarImg; + public String customPrechatComponent; + public String embeddedServiceConfig; + public MetadataService.EmbeddedServiceQuickAction[] embeddedServiceQuickActions; + public Boolean enabled; + public String fontSize; + public String headerBackgroundImg; + public String liveAgentChatUrl; + public String liveAgentContentUrl; + public String liveChatButton; + public String liveChatDeployment; + public String masterLabel; + public String prechatBackgroundImg; + public Boolean prechatEnabled; + public String prechatJson; + public String scenario; + public String smallCompanyLogoImg; + public String waitingStateBackgroundImg; + private String[] avatarImg_type_info = new String[]{'avatarImg',SOAP_M_URI,null,'0','1','false'}; + private String[] customPrechatComponent_type_info = new String[]{'customPrechatComponent',SOAP_M_URI,null,'0','1','false'}; + private String[] embeddedServiceConfig_type_info = new String[]{'embeddedServiceConfig',SOAP_M_URI,null,'1','1','false'}; + private String[] embeddedServiceQuickActions_type_info = new String[]{'embeddedServiceQuickActions',SOAP_M_URI,null,'0','-1','false'}; + private String[] enabled_type_info = new String[]{'enabled',SOAP_M_URI,null,'1','1','false'}; + private String[] fontSize_type_info = new String[]{'fontSize',SOAP_M_URI,null,'1','1','false'}; + private String[] headerBackgroundImg_type_info = new String[]{'headerBackgroundImg',SOAP_M_URI,null,'0','1','false'}; + private String[] liveAgentChatUrl_type_info = new String[]{'liveAgentChatUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] liveAgentContentUrl_type_info = new String[]{'liveAgentContentUrl',SOAP_M_URI,null,'0','1','false'}; + private String[] liveChatButton_type_info = new String[]{'liveChatButton',SOAP_M_URI,null,'1','1','false'}; + private String[] liveChatDeployment_type_info = new String[]{'liveChatDeployment',SOAP_M_URI,null,'1','1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] prechatBackgroundImg_type_info = new String[]{'prechatBackgroundImg',SOAP_M_URI,null,'0','1','false'}; + private String[] prechatEnabled_type_info = new String[]{'prechatEnabled',SOAP_M_URI,null,'1','1','false'}; + private String[] prechatJson_type_info = new String[]{'prechatJson',SOAP_M_URI,null,'0','1','false'}; + private String[] scenario_type_info = new String[]{'scenario',SOAP_M_URI,null,'1','1','false'}; + private String[] smallCompanyLogoImg_type_info = new String[]{'smallCompanyLogoImg',SOAP_M_URI,null,'0','1','false'}; + private String[] waitingStateBackgroundImg_type_info = new String[]{'waitingStateBackgroundImg',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'avatarImg','customPrechatComponent','embeddedServiceConfig','embeddedServiceQuickActions','enabled','fontSize','headerBackgroundImg','liveAgentChatUrl','liveAgentContentUrl','liveChatButton','liveChatDeployment','masterLabel','prechatBackgroundImg','prechatEnabled','prechatJson','scenario','smallCompanyLogoImg','waitingStateBackgroundImg'}; + } + public class CustomField extends Metadata { + public String type = 'CustomField'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public String businessOwnerGroup; + public String businessOwnerUser; + public String businessStatus; + public Boolean caseSensitive; + public String customDataType; + public String defaultValue; + public String deleteConstraint; + public Boolean deprecated; + public String description; + public String displayFormat; + public Boolean displayLocationInDecimal; + public Boolean encrypted; + public Boolean escapeMarkup; + public String externalDeveloperName; + public Boolean externalId; + public String fieldManageability; + public String formula; + public String formulaTreatBlanksAs; + public String inlineHelpText; + public Boolean isConvertLeadDisabled; + public Boolean isFilteringDisabled; + public Boolean isNameField; + public Boolean isSortingDisabled; + public String label; + public Integer length; + public MetadataService.LookupFilter lookupFilter; + public String maskChar; + public String maskType; + public String metadataRelationshipControllingField; + public Boolean populateExistingRows; + public Integer precision; + public String referenceTargetField; + public String referenceTo; + public String relationshipLabel; + public String relationshipName; + public Integer relationshipOrder; + public Boolean reparentableMasterDetail; + public Boolean required; + public Boolean restrictedAdminField; + public Integer scale; + public String securityClassification; + public Integer startingNumber; + public Boolean stripMarkup; + public String summarizedField; + public MetadataService.FilterItem[] summaryFilterItems; + public String summaryForeignKey; + public String summaryOperation; + public Boolean trackFeedHistory; + public Boolean trackHistory; + public Boolean trackTrending; + public String type_x; + public Boolean unique; + public MetadataService.ValueSet valueSet; + public Integer visibleLines; + public Boolean writeRequiresMasterRead; + private String[] businessOwnerGroup_type_info = new String[]{'businessOwnerGroup',SOAP_M_URI,null,'0','1','false'}; + private String[] businessOwnerUser_type_info = new String[]{'businessOwnerUser',SOAP_M_URI,null,'0','1','false'}; + private String[] businessStatus_type_info = new String[]{'businessStatus',SOAP_M_URI,null,'0','1','false'}; + private String[] caseSensitive_type_info = new String[]{'caseSensitive',SOAP_M_URI,null,'0','1','false'}; + private String[] customDataType_type_info = new String[]{'customDataType',SOAP_M_URI,null,'0','1','false'}; + private String[] defaultValue_type_info = new String[]{'defaultValue',SOAP_M_URI,null,'0','1','false'}; + private String[] deleteConstraint_type_info = new String[]{'deleteConstraint',SOAP_M_URI,null,'0','1','false'}; + private String[] deprecated_type_info = new String[]{'deprecated',SOAP_M_URI,null,'0','1','false'}; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] displayFormat_type_info = new String[]{'displayFormat',SOAP_M_URI,null,'0','1','false'}; + private String[] displayLocationInDecimal_type_info = new String[]{'displayLocationInDecimal',SOAP_M_URI,null,'0','1','false'}; + private String[] encrypted_type_info = new String[]{'encrypted',SOAP_M_URI,null,'0','1','false'}; + private String[] escapeMarkup_type_info = new String[]{'escapeMarkup',SOAP_M_URI,null,'0','1','false'}; + private String[] externalDeveloperName_type_info = new String[]{'externalDeveloperName',SOAP_M_URI,null,'0','1','false'}; + private String[] externalId_type_info = new String[]{'externalId',SOAP_M_URI,null,'0','1','false'}; + private String[] fieldManageability_type_info = new String[]{'fieldManageability',SOAP_M_URI,null,'0','1','false'}; + private String[] formula_type_info = new String[]{'formula',SOAP_M_URI,null,'0','1','false'}; + private String[] formulaTreatBlanksAs_type_info = new String[]{'formulaTreatBlanksAs',SOAP_M_URI,null,'0','1','false'}; + private String[] inlineHelpText_type_info = new String[]{'inlineHelpText',SOAP_M_URI,null,'0','1','false'}; + private String[] isConvertLeadDisabled_type_info = new String[]{'isConvertLeadDisabled',SOAP_M_URI,null,'0','1','false'}; + private String[] isFilteringDisabled_type_info = new String[]{'isFilteringDisabled',SOAP_M_URI,null,'0','1','false'}; + private String[] isNameField_type_info = new String[]{'isNameField',SOAP_M_URI,null,'0','1','false'}; + private String[] isSortingDisabled_type_info = new String[]{'isSortingDisabled',SOAP_M_URI,null,'0','1','false'}; + private String[] label_type_info = new String[]{'label',SOAP_M_URI,null,'0','1','false'}; + private String[] length_type_info = new String[]{'length',SOAP_M_URI,null,'0','1','false'}; + private String[] lookupFilter_type_info = new String[]{'lookupFilter',SOAP_M_URI,null,'0','1','false'}; + private String[] maskChar_type_info = new String[]{'maskChar',SOAP_M_URI,null,'0','1','false'}; + private String[] maskType_type_info = new String[]{'maskType',SOAP_M_URI,null,'0','1','false'}; + private String[] metadataRelationshipControllingField_type_info = new String[]{'metadataRelationshipControllingField',SOAP_M_URI,null,'0','1','false'}; + private String[] populateExistingRows_type_info = new String[]{'populateExistingRows',SOAP_M_URI,null,'0','1','false'}; + private String[] precision_type_info = new String[]{'precision',SOAP_M_URI,null,'0','1','false'}; + private String[] referenceTargetField_type_info = new String[]{'referenceTargetField',SOAP_M_URI,null,'0','1','false'}; + private String[] referenceTo_type_info = new String[]{'referenceTo',SOAP_M_URI,null,'0','1','false'}; + private String[] relationshipLabel_type_info = new String[]{'relationshipLabel',SOAP_M_URI,null,'0','1','false'}; + private String[] relationshipName_type_info = new String[]{'relationshipName',SOAP_M_URI,null,'0','1','false'}; + private String[] relationshipOrder_type_info = new String[]{'relationshipOrder',SOAP_M_URI,null,'0','1','false'}; + private String[] reparentableMasterDetail_type_info = new String[]{'reparentableMasterDetail',SOAP_M_URI,null,'0','1','false'}; + private String[] required_type_info = new String[]{'required',SOAP_M_URI,null,'0','1','false'}; + private String[] restrictedAdminField_type_info = new String[]{'restrictedAdminField',SOAP_M_URI,null,'0','1','false'}; + private String[] scale_type_info = new String[]{'scale',SOAP_M_URI,null,'0','1','false'}; + private String[] securityClassification_type_info = new String[]{'securityClassification',SOAP_M_URI,null,'0','1','false'}; + private String[] startingNumber_type_info = new String[]{'startingNumber',SOAP_M_URI,null,'0','1','false'}; + private String[] stripMarkup_type_info = new String[]{'stripMarkup',SOAP_M_URI,null,'0','1','false'}; + private String[] summarizedField_type_info = new String[]{'summarizedField',SOAP_M_URI,null,'0','1','false'}; + private String[] summaryFilterItems_type_info = new String[]{'summaryFilterItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] summaryForeignKey_type_info = new String[]{'summaryForeignKey',SOAP_M_URI,null,'0','1','false'}; + private String[] summaryOperation_type_info = new String[]{'summaryOperation',SOAP_M_URI,null,'0','1','false'}; + private String[] trackFeedHistory_type_info = new String[]{'trackFeedHistory',SOAP_M_URI,null,'0','1','false'}; + private String[] trackHistory_type_info = new String[]{'trackHistory',SOAP_M_URI,null,'0','1','false'}; + private String[] trackTrending_type_info = new String[]{'trackTrending',SOAP_M_URI,null,'0','1','false'}; + private String[] type_x_type_info = new String[]{'type',SOAP_M_URI,null,'0','1','false'}; + private String[] unique_type_info = new String[]{'unique',SOAP_M_URI,null,'0','1','false'}; + private String[] valueSet_type_info = new String[]{'valueSet',SOAP_M_URI,null,'0','1','false'}; + private String[] visibleLines_type_info = new String[]{'visibleLines',SOAP_M_URI,null,'0','1','false'}; + private String[] writeRequiresMasterRead_type_info = new String[]{'writeRequiresMasterRead',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'businessOwnerGroup','businessOwnerUser','businessStatus','caseSensitive','customDataType','defaultValue','deleteConstraint','deprecated','description','displayFormat','displayLocationInDecimal','encrypted','escapeMarkup','externalDeveloperName','externalId','fieldManageability','formula','formulaTreatBlanksAs','inlineHelpText','isConvertLeadDisabled','isFilteringDisabled','isNameField','isSortingDisabled','label','length','lookupFilter','maskChar','maskType','metadataRelationshipControllingField','populateExistingRows','precision','referenceTargetField','referenceTo','relationshipLabel','relationshipName','relationshipOrder','reparentableMasterDetail','required','restrictedAdminField','scale','securityClassification','startingNumber','stripMarkup','summarizedField','summaryFilterItems','summaryForeignKey','summaryOperation','trackFeedHistory','trackHistory','trackTrending','type_x','unique','valueSet','visibleLines','writeRequiresMasterRead'}; + } + public class KeywordList { + public String description; + public MetadataService.Keyword[] keywords; + public String masterLabel; + private String[] description_type_info = new String[]{'description',SOAP_M_URI,null,'0','1','false'}; + private String[] keywords_type_info = new String[]{'keywords',SOAP_M_URI,null,'0','-1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'description','keywords','masterLabel'}; + } + public class MatchingRuleItem { + public String blankValueBehavior; + public String fieldName; + public String matchingMethod; + private String[] blankValueBehavior_type_info = new String[]{'blankValueBehavior',SOAP_M_URI,null,'0','1','false'}; + private String[] fieldName_type_info = new String[]{'fieldName',SOAP_M_URI,null,'1','1','false'}; + private String[] matchingMethod_type_info = new String[]{'matchingMethod',SOAP_M_URI,null,'1','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'blankValueBehavior','fieldName','matchingMethod'}; + } + public class RuleEntry { + public String assignedTo; + public String assignedToType; + public String booleanFilter; + public String businessHours; + public String businessHoursSource; + public MetadataService.FilterItem[] criteriaItems; + public Boolean disableEscalationWhenModified; + public MetadataService.EscalationAction[] escalationAction; + public String escalationStartTime; + public String formula; + public Boolean notifyCcRecipients; + public Boolean overrideExistingTeams; + public String replyToEmail; + public String senderEmail; + public String senderName; + public String[] team; + public String template; + private String[] assignedTo_type_info = new String[]{'assignedTo',SOAP_M_URI,null,'0','1','false'}; + private String[] assignedToType_type_info = new String[]{'assignedToType',SOAP_M_URI,null,'0','1','false'}; + private String[] booleanFilter_type_info = new String[]{'booleanFilter',SOAP_M_URI,null,'0','1','false'}; + private String[] businessHours_type_info = new String[]{'businessHours',SOAP_M_URI,null,'0','1','false'}; + private String[] businessHoursSource_type_info = new String[]{'businessHoursSource',SOAP_M_URI,null,'0','1','false'}; + private String[] criteriaItems_type_info = new String[]{'criteriaItems',SOAP_M_URI,null,'0','-1','false'}; + private String[] disableEscalationWhenModified_type_info = new String[]{'disableEscalationWhenModified',SOAP_M_URI,null,'0','1','false'}; + private String[] escalationAction_type_info = new String[]{'escalationAction',SOAP_M_URI,null,'0','-1','false'}; + private String[] escalationStartTime_type_info = new String[]{'escalationStartTime',SOAP_M_URI,null,'0','1','false'}; + private String[] formula_type_info = new String[]{'formula',SOAP_M_URI,null,'0','1','false'}; + private String[] notifyCcRecipients_type_info = new String[]{'notifyCcRecipients',SOAP_M_URI,null,'0','1','false'}; + private String[] overrideExistingTeams_type_info = new String[]{'overrideExistingTeams',SOAP_M_URI,null,'0','1','false'}; + private String[] replyToEmail_type_info = new String[]{'replyToEmail',SOAP_M_URI,null,'0','1','false'}; + private String[] senderEmail_type_info = new String[]{'senderEmail',SOAP_M_URI,null,'0','1','false'}; + private String[] senderName_type_info = new String[]{'senderName',SOAP_M_URI,null,'0','1','false'}; + private String[] team_type_info = new String[]{'team',SOAP_M_URI,null,'0','-1','false'}; + private String[] template_type_info = new String[]{'template',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'assignedTo','assignedToType','booleanFilter','businessHours','businessHoursSource','criteriaItems','disableEscalationWhenModified','escalationAction','escalationStartTime','formula','notifyCcRecipients','overrideExistingTeams','replyToEmail','senderEmail','senderName','team','template'}; + } + public class DashboardComponentSortInfo { + public String sortColumn; + public String sortOrder; + private String[] sortColumn_type_info = new String[]{'sortColumn',SOAP_M_URI,null,'0','1','false'}; + private String[] sortOrder_type_info = new String[]{'sortOrder',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'sortColumn','sortOrder'}; + } + public class CustomObjectTranslation extends Metadata { + public String type = 'CustomObjectTranslation'; + public String fullName; + private String[] fullName_type_info = new String[]{'fullName',SOAP_M_URI,null,'0','1','false'}; + public MetadataService.ObjectNameCaseValue[] caseValues; + public MetadataService.FieldSetTranslation[] fieldSets; + public MetadataService.CustomFieldTranslation[] fields; + public String gender; + public MetadataService.LayoutTranslation[] layouts; + public String nameFieldLabel; + public MetadataService.QuickActionTranslation[] quickActions; + public MetadataService.RecordTypeTranslation[] recordTypes; + public MetadataService.SharingReasonTranslation[] sharingReasons; + public MetadataService.StandardFieldTranslation[] standardFields; + public String startsWith; + public MetadataService.ValidationRuleTranslation[] validationRules; + public MetadataService.WebLinkTranslation[] webLinks; + public MetadataService.WorkflowTaskTranslation[] workflowTasks; + private String[] caseValues_type_info = new String[]{'caseValues',SOAP_M_URI,null,'0','-1','false'}; + private String[] fieldSets_type_info = new String[]{'fieldSets',SOAP_M_URI,null,'0','-1','false'}; + private String[] fields_type_info = new String[]{'fields',SOAP_M_URI,null,'0','-1','false'}; + private String[] gender_type_info = new String[]{'gender',SOAP_M_URI,null,'0','1','false'}; + private String[] layouts_type_info = new String[]{'layouts',SOAP_M_URI,null,'0','-1','false'}; + private String[] nameFieldLabel_type_info = new String[]{'nameFieldLabel',SOAP_M_URI,null,'0','1','false'}; + private String[] quickActions_type_info = new String[]{'quickActions',SOAP_M_URI,null,'0','-1','false'}; + private String[] recordTypes_type_info = new String[]{'recordTypes',SOAP_M_URI,null,'0','-1','false'}; + private String[] sharingReasons_type_info = new String[]{'sharingReasons',SOAP_M_URI,null,'0','-1','false'}; + private String[] standardFields_type_info = new String[]{'standardFields',SOAP_M_URI,null,'0','-1','false'}; + private String[] startsWith_type_info = new String[]{'startsWith',SOAP_M_URI,null,'0','1','false'}; + private String[] validationRules_type_info = new String[]{'validationRules',SOAP_M_URI,null,'0','-1','false'}; + private String[] webLinks_type_info = new String[]{'webLinks',SOAP_M_URI,null,'0','-1','false'}; + private String[] workflowTasks_type_info = new String[]{'workflowTasks',SOAP_M_URI,null,'0','-1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] field_order_type_info = new String[]{'fullName', 'caseValues','fieldSets','fields','gender','layouts','nameFieldLabel','quickActions','recordTypes','sharingReasons','standardFields','startsWith','validationRules','webLinks','workflowTasks'}; + } + public class ForecastingTypeSettings { + public Boolean active; + public MetadataService.AdjustmentsSettings adjustmentsSettings; + public String[] displayedCategoryApiNames; + public MetadataService.ForecastRangeSettings forecastRangeSettings; + public String[] forecastedCategoryApiNames; + public String forecastingDateType; + public Boolean hasProductFamily; + public Boolean isAmount; + public Boolean isAvailable; + public Boolean isQuantity; + public String[] managerAdjustableCategoryApiNames; + public String masterLabel; + public String name; + public MetadataService.OpportunityListFieldsLabelMapping[] opportunityListFieldsLabelMappings; + public MetadataService.OpportunityListFieldsSelectedSettings opportunityListFieldsSelectedSettings; + public MetadataService.OpportunityListFieldsUnselectedSettings opportunityListFieldsUnselectedSettings; + public String opportunitySplitName; + public String[] ownerAdjustableCategoryApiNames; + public MetadataService.QuotasSettings quotasSettings; + public String territory2ModelName; + private String[] active_type_info = new String[]{'active',SOAP_M_URI,null,'1','1','false'}; + private String[] adjustmentsSettings_type_info = new String[]{'adjustmentsSettings',SOAP_M_URI,null,'1','1','false'}; + private String[] displayedCategoryApiNames_type_info = new String[]{'displayedCategoryApiNames',SOAP_M_URI,null,'0','-1','false'}; + private String[] forecastRangeSettings_type_info = new String[]{'forecastRangeSettings',SOAP_M_URI,null,'1','1','false'}; + private String[] forecastedCategoryApiNames_type_info = new String[]{'forecastedCategoryApiNames',SOAP_M_URI,null,'0','-1','false'}; + private String[] forecastingDateType_type_info = new String[]{'forecastingDateType',SOAP_M_URI,null,'1','1','false'}; + private String[] hasProductFamily_type_info = new String[]{'hasProductFamily',SOAP_M_URI,null,'1','1','false'}; + private String[] isAmount_type_info = new String[]{'isAmount',SOAP_M_URI,null,'1','1','false'}; + private String[] isAvailable_type_info = new String[]{'isAvailable',SOAP_M_URI,null,'1','1','false'}; + private String[] isQuantity_type_info = new String[]{'isQuantity',SOAP_M_URI,null,'1','1','false'}; + private String[] managerAdjustableCategoryApiNames_type_info = new String[]{'managerAdjustableCategoryApiNames',SOAP_M_URI,null,'0','-1','false'}; + private String[] masterLabel_type_info = new String[]{'masterLabel',SOAP_M_URI,null,'1','1','false'}; + private String[] name_type_info = new String[]{'name',SOAP_M_URI,null,'1','1','false'}; + private String[] opportunityListFieldsLabelMappings_type_info = new String[]{'opportunityListFieldsLabelMappings',SOAP_M_URI,null,'0','-1','false'}; + private String[] opportunityListFieldsSelectedSettings_type_info = new String[]{'opportunityListFieldsSelectedSettings',SOAP_M_URI,null,'1','1','false'}; + private String[] opportunityListFieldsUnselectedSettings_type_info = new String[]{'opportunityListFieldsUnselectedSettings',SOAP_M_URI,null,'1','1','false'}; + private String[] opportunitySplitName_type_info = new String[]{'opportunitySplitName',SOAP_M_URI,null,'0','1','false'}; + private String[] ownerAdjustableCategoryApiNames_type_info = new String[]{'ownerAdjustableCategoryApiNames',SOAP_M_URI,null,'0','-1','false'}; + private String[] quotasSettings_type_info = new String[]{'quotasSettings',SOAP_M_URI,null,'1','1','false'}; + private String[] territory2ModelName_type_info = new String[]{'territory2ModelName',SOAP_M_URI,null,'0','1','false'}; + private String[] apex_schema_type_info = new String[]{SOAP_M_URI,'true','false'}; + private String[] field_order_type_info = new String[]{'active','adjustmentsSettings','displayedCategoryApiNames','forecastRangeSettings','forecastedCategoryApiNames','forecastingDateType','hasProductFamily','isAmount','isAvailable','isQuantity','managerAdjustableCategoryApiNames','masterLabel','name','opportunityListFieldsLabelMappings','opportunityListFieldsSelectedSettings','opportunityListFieldsUnselectedSettings','opportunitySplitName','ownerAdjustableCategoryApiNames','quotasSettings','territory2ModelName'}; + } + public class MetadataPort { + public String endpoint_x = URL.getOrgDomainUrl().toExternalForm() + '/services/Soap/m/42.0'; + public Map inputHttpHeaders_x; + public Map outputHttpHeaders_x; + public String clientCertName_x; + public String clientCert_x; + public String clientCertPasswd_x; + public Integer timeout_x; + public MetadataService.SessionHeader_element SessionHeader; + public MetadataService.DebuggingInfo_element DebuggingInfo; + public MetadataService.DebuggingHeader_element DebuggingHeader; + public MetadataService.CallOptions_element CallOptions; + public MetadataService.AllOrNoneHeader_element AllOrNoneHeader; + private String SessionHeader_hns = 'SessionHeader=http://soap.sforce.com/2006/04/metadata'; + private String DebuggingInfo_hns = 'DebuggingInfo=http://soap.sforce.com/2006/04/metadata'; + private String DebuggingHeader_hns = 'DebuggingHeader=http://soap.sforce.com/2006/04/metadata'; + private String CallOptions_hns = 'CallOptions=http://soap.sforce.com/2006/04/metadata'; + private String AllOrNoneHeader_hns = 'AllOrNoneHeader=http://soap.sforce.com/2006/04/metadata'; + private String[] ns_map_type_info = new String[]{SOAP_M_URI, 'MetadataService'}; + public MetadataService.DeleteResult[] deleteMetadata(String type_x,String[] fullNames) { + MetadataService.deleteMetadata_element request_x = new MetadataService.deleteMetadata_element(); + request_x.type_x = type_x; + request_x.fullNames = fullNames; + MetadataService.deleteMetadataResponse_element response_x; + Map response_map_x = new Map(); + response_map_x.put('response_x', response_x); + WebServiceCallout.invoke( + this, + request_x, + response_map_x, + new String[]{endpoint_x, + '', + SOAP_M_URI, + 'deleteMetadata', + SOAP_M_URI, + 'deleteMetadataResponse', + 'MetadataService.deleteMetadataResponse_element'} + ); + response_x = response_map_x.get('response_x'); + return response_x.result; + } + public MetadataService.SaveResult renameMetadata(String type_x,String oldFullName,String newFullName) { + MetadataService.renameMetadata_element request_x = new MetadataService.renameMetadata_element(); + request_x.type_x = type_x; + request_x.oldFullName = oldFullName; + request_x.newFullName = newFullName; + MetadataService.renameMetadataResponse_element response_x; + Map response_map_x = new Map(); + response_map_x.put('response_x', response_x); + WebServiceCallout.invoke( + this, + request_x, + response_map_x, + new String[]{endpoint_x, + '', + SOAP_M_URI, + 'renameMetadata', + SOAP_M_URI, + 'renameMetadataResponse', + 'MetadataService.renameMetadataResponse_element'} + ); + response_x = response_map_x.get('response_x'); + return response_x.result; + } + public MetadataService.SaveResult[] updateMetadata(MetadataService.Metadata[] metadata) { + MetadataService.updateMetadata_element request_x = new MetadataService.updateMetadata_element(); + request_x.metadata = metadata; + MetadataService.updateMetadataResponse_element response_x; + Map response_map_x = new Map(); + response_map_x.put('response_x', response_x); + WebServiceCallout.invoke( + this, + request_x, + response_map_x, + new String[]{endpoint_x, + '', + SOAP_M_URI, + 'updateMetadata', + SOAP_M_URI, + 'updateMetadataResponse', + 'MetadataService.updateMetadataResponse_element'} + ); + response_x = response_map_x.get('response_x'); + return response_x.result; + } + public MetadataService.DescribeMetadataResult describeMetadata(Double asOfVersion) { + MetadataService.describeMetadata_element request_x = new MetadataService.describeMetadata_element(); + request_x.asOfVersion = asOfVersion; + MetadataService.describeMetadataResponse_element response_x; + Map response_map_x = new Map(); + response_map_x.put('response_x', response_x); + WebServiceCallout.invoke( + this, + request_x, + response_map_x, + new String[]{endpoint_x, + '', + SOAP_M_URI, + 'describeMetadata', + SOAP_M_URI, + 'describeMetadataResponse', + 'MetadataService.describeMetadataResponse_element'} + ); + response_x = response_map_x.get('response_x'); + return response_x.result; + } + public MetadataService.DeployResult checkDeployStatus(String asyncProcessId,Boolean includeDetails) { + MetadataService.checkDeployStatus_element request_x = new MetadataService.checkDeployStatus_element(); + request_x.asyncProcessId = asyncProcessId; + request_x.includeDetails = includeDetails; + MetadataService.checkDeployStatusResponse_element response_x; + Map response_map_x = new Map(); + response_map_x.put('response_x', response_x); + WebServiceCallout.invoke( + this, + request_x, + response_map_x, + new String[]{endpoint_x, + '', + SOAP_M_URI, + 'checkDeployStatus', + SOAP_M_URI, + 'checkDeployStatusResponse', + 'MetadataService.checkDeployStatusResponse_element'} + ); + response_x = response_map_x.get('response_x'); + return response_x.result; + } + public MetadataService.RetrieveResult checkRetrieveStatus(String asyncProcessId,Boolean includeZip) { + MetadataService.checkRetrieveStatus_element request_x = new MetadataService.checkRetrieveStatus_element(); + request_x.asyncProcessId = asyncProcessId; + request_x.includeZip = includeZip; + MetadataService.checkRetrieveStatusResponse_element response_x; + Map response_map_x = new Map(); + response_map_x.put('response_x', response_x); + WebServiceCallout.invoke( + this, + request_x, + response_map_x, + new String[]{endpoint_x, + '', + SOAP_M_URI, + 'checkRetrieveStatus', + SOAP_M_URI, + 'checkRetrieveStatusResponse', + 'MetadataService.checkRetrieveStatusResponse_element'} + ); + response_x = response_map_x.get('response_x'); + return response_x.result; + } + public MetadataService.AsyncResult retrieve(MetadataService.RetrieveRequest retrieveRequest) { + MetadataService.retrieve_element request_x = new MetadataService.retrieve_element(); + request_x.retrieveRequest = retrieveRequest; + MetadataService.retrieveResponse_element response_x; + Map response_map_x = new Map(); + response_map_x.put('response_x', response_x); + WebServiceCallout.invoke( + this, + request_x, + response_map_x, + new String[]{endpoint_x, + '', + SOAP_M_URI, + 'retrieve', + SOAP_M_URI, + 'retrieveResponse', + 'MetadataService.retrieveResponse_element'} + ); + response_x = response_map_x.get('response_x'); + return response_x.result; + } + public MetadataService.CancelDeployResult cancelDeploy(String String_x) { + MetadataService.cancelDeploy_element request_x = new MetadataService.cancelDeploy_element(); + request_x.String_x = String_x; + MetadataService.cancelDeployResponse_element response_x; + Map response_map_x = new Map(); + response_map_x.put('response_x', response_x); + WebServiceCallout.invoke( + this, + request_x, + response_map_x, + new String[]{endpoint_x, + '', + SOAP_M_URI, + 'cancelDeploy', + SOAP_M_URI, + 'cancelDeployResponse', + 'MetadataService.cancelDeployResponse_element'} + ); + response_x = response_map_x.get('response_x'); + return response_x.result; + } + public String deployRecentValidation(String validationId) { + MetadataService.deployRecentValidation_element request_x = new MetadataService.deployRecentValidation_element(); + request_x.validationId = validationId; + MetadataService.deployRecentValidationResponse_element response_x; + Map response_map_x = new Map(); + response_map_x.put('response_x', response_x); + WebServiceCallout.invoke( + this, + request_x, + response_map_x, + new String[]{endpoint_x, + '', + SOAP_M_URI, + 'deployRecentValidation', + SOAP_M_URI, + 'deployRecentValidationResponse', + 'MetadataService.deployRecentValidationResponse_element'} + ); + response_x = response_map_x.get('response_x'); + return response_x.result; + } + public MetadataService.DescribeValueTypeResult describeValueType(String type_x) { + MetadataService.describeValueType_element request_x = new MetadataService.describeValueType_element(); + request_x.type_x = type_x; + MetadataService.describeValueTypeResponse_element response_x; + Map response_map_x = new Map(); + response_map_x.put('response_x', response_x); + WebServiceCallout.invoke( + this, + request_x, + response_map_x, + new String[]{endpoint_x, + '', + SOAP_M_URI, + 'describeValueType', + SOAP_M_URI, + 'describeValueTypeResponse', + 'MetadataService.describeValueTypeResponse_element'} + ); + response_x = response_map_x.get('response_x'); + return response_x.result; + } + public MetadataService.SaveResult[] createMetadata(MetadataService.Metadata[] metadata) { + MetadataService.createMetadata_element request_x = new MetadataService.createMetadata_element(); + request_x.metadata = metadata; + MetadataService.createMetadataResponse_element response_x; + Map response_map_x = new Map(); + response_map_x.put('response_x', response_x); + WebServiceCallout.invoke( + this, + request_x, + response_map_x, + new String[]{endpoint_x, + '', + SOAP_M_URI, + 'createMetadata', + SOAP_M_URI, + 'createMetadataResponse', + 'MetadataService.createMetadataResponse_element'} + ); + response_x = response_map_x.get('response_x'); + return response_x.result; + } + public MetadataService.AsyncResult deploy(String ZipFile,MetadataService.DeployOptions DeployOptions) { + MetadataService.deploy_element request_x = new MetadataService.deploy_element(); + request_x.ZipFile = ZipFile; + request_x.DeployOptions = DeployOptions; + MetadataService.deployResponse_element response_x; + Map response_map_x = new Map(); + response_map_x.put('response_x', response_x); + WebServiceCallout.invoke( + this, + request_x, + response_map_x, + new String[]{endpoint_x, + '', + SOAP_M_URI, + 'deploy', + SOAP_M_URI, + 'deployResponse', + 'MetadataService.deployResponse_element'} + ); + response_x = response_map_x.get('response_x'); + return response_x.result; + } + public MetadataService.IReadResult readMetadata(String type_x,String[] fullNames) { + MetadataService.readMetadata_element request_x = new MetadataService.readMetadata_element(); + request_x.type_x = type_x; + request_x.fullNames = fullNames; + MetadataService.IReadResponseElement response_x; + Map response_map_x = new Map(); + response_map_x.put('response_x', response_x); + WebServiceCallout.invoke( + this, + request_x, + response_map_x, + new String[]{endpoint_x, + '', + SOAP_M_URI, + 'readMetadata', + SOAP_M_URI, + 'readMetadataResponse', + 'MetadataService.read' + type_x + 'Response_element'} + ); + response_x = response_map_x.get('response_x'); + return response_x.getResult(); + } + public MetadataService.UpsertResult[] upsertMetadata(MetadataService.Metadata[] metadata) { + MetadataService.upsertMetadata_element request_x = new MetadataService.upsertMetadata_element(); + request_x.metadata = metadata; + MetadataService.upsertMetadataResponse_element response_x; + Map response_map_x = new Map(); + response_map_x.put('response_x', response_x); + WebServiceCallout.invoke( + this, + request_x, + response_map_x, + new String[]{endpoint_x, + '', + SOAP_M_URI, + 'upsertMetadata', + SOAP_M_URI, + 'upsertMetadataResponse', + 'MetadataService.upsertMetadataResponse_element'} + ); + response_x = response_map_x.get('response_x'); + return response_x.result; + } + public MetadataService.FileProperties[] listMetadata(MetadataService.ListMetadataQuery[] queries,Double asOfVersion) { + MetadataService.listMetadata_element request_x = new MetadataService.listMetadata_element(); + request_x.queries = queries; + request_x.asOfVersion = asOfVersion; + MetadataService.listMetadataResponse_element response_x; + Map response_map_x = new Map(); + response_map_x.put('response_x', response_x); + WebServiceCallout.invoke( + this, + request_x, + response_map_x, + new String[]{endpoint_x, + '', + SOAP_M_URI, + 'listMetadata', + SOAP_M_URI, + 'listMetadataResponse', + 'MetadataService.listMetadataResponse_element'} + ); + response_x = response_map_x.get('response_x'); + return response_x.result; + } + } +} diff --git a/sfdx-project/force-app/main/default/classes/MetadataService.cls-meta.xml b/sfdx-project/force-app/main/default/classes/MetadataService.cls-meta.xml new file mode 100644 index 0000000..fec71a2 --- /dev/null +++ b/sfdx-project/force-app/main/default/classes/MetadataService.cls-meta.xml @@ -0,0 +1,5 @@ + + + 42.0 + Active + diff --git a/sfdx-project/force-app/main/default/classes/MetadataServiceExamples.cls b/sfdx-project/force-app/main/default/classes/MetadataServiceExamples.cls new file mode 100644 index 0000000..0d51b12 --- /dev/null +++ b/sfdx-project/force-app/main/default/classes/MetadataServiceExamples.cls @@ -0,0 +1,1716 @@ +/** + * Copyright (c) 2012, FinancialForce.com, inc + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * - Neither the name of the FinancialForce.com, inc nor the names of its contributors + * may be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +**/ + +/** + * This file demonstrates how to call the Salesforce Metadata API from Apex + * for warnings, limits and further todos of this approach please review the readme + * at https://github.com/financialforcedev/apex-mdapi for more information + **/ + +public with sharing class MetadataServiceExamples +{ + public static void createObject() + { + MetadataService.MetadataPort service = createService(); + MetadataService.CustomObject customObject = new MetadataService.CustomObject(); + customObject.fullName = 'Test__c'; + customObject.label = 'Test'; + customObject.pluralLabel = 'Tests'; + customObject.nameField = new MetadataService.CustomField(); + customObject.nameField.type_x = 'Text'; + customObject.nameField.label = 'Test Record'; + customObject.deploymentStatus = 'Deployed'; + customObject.sharingModel = 'ReadWrite'; + List results = + service.createMetadata( + new MetadataService.Metadata[] { customObject }); + handleSaveResults(results[0]); + } + + public static void upsertObject() + { + MetadataService.MetadataPort service = createService(); + MetadataService.CustomObject customObject = new MetadataService.CustomObject(); + customObject.fullName = 'Test__c'; + customObject.label = 'Test'; + customObject.pluralLabel = 'Tests Upsert'; + customObject.nameField = new MetadataService.CustomField(); + customObject.nameField.type_x = 'Text'; + customObject.nameField.label = 'Test Record Upsert'; + customObject.deploymentStatus = 'Deployed'; + customObject.sharingModel = 'ReadWrite'; + List results = + service.upsertMetadata( + new MetadataService.Metadata[] { customObject }); + handleUpsertResults(results[0]); + } + + public static void createLookupField() + { + MetadataService.MetadataPort service = createService(); + MetadataService.CustomField customField = new MetadataService.CustomField(); + customField.fullName = 'Test__c.LookupField__c'; + customField.label = 'Lookup Field'; + customField.type_x = 'Lookup'; + customField.relationshipLabel = 'Tests'; + customField.relationshipName = 'Tests'; + customField.referenceTo = 'Test__c'; + List results = + service.createMetadata( + new MetadataService.Metadata[] { customField }); + handleSaveResults(results[0]); + } + + public static void createExternalField() + { + MetadataService.MetadataPort service = createService(); + MetadataService.CustomField customField = new MetadataService.CustomField(); + customField.fullName = 'Test__c.ExternalField__c'; + customField.label = 'External Field'; + customField.type_x = 'Text'; + customField.length = 42; + customField.externalId = true; + List results = + service.createMetadata( + new MetadataService.Metadata[] { customField }); + handleSaveResults(results[0]); + } + + public static void createLongTextAreaField() + { + MetadataService.MetadataPort service = createService(); + MetadataService.CustomField customField = new MetadataService.CustomField(); + customField.fullName = 'Test__c.LongTextAreaField__c'; + customField.label = 'Long Text Area Field'; + customField.type_x = 'LongTextArea'; + customField.length = 32000; + customField.visibleLines = 3; + List results = + service.createMetadata( + new MetadataService.Metadata[] { customField }); + handleSaveResults(results[0]); + } + + public static void createField() + { + MetadataService.MetadataPort service = createService(); + MetadataService.CustomField customField = new MetadataService.CustomField(); + customField.fullName = 'Test__c.TestField__c'; + customField.label = 'Test Field'; + customField.type_x = 'Text'; + customField.length = 42; + List results = + service.createMetadata( + new MetadataService.Metadata[] { customField }); + handleSaveResults(results[0]); + } + + public static void deleteField() + { + MetadataService.MetadataPort service = createService(); + List results = + service.deleteMetadata( + 'CustomField', new String[] { 'Test__c.TestField__c' }); + handleDeleteResults(results[0]); + } + + public static void updateField() + { + MetadataService.MetadataPort service = createService(); + MetadataService.CustomField customField = new MetadataService.CustomField(); + customField.fullName = 'Test__c.TestField__c'; + customField.label='New Test Field Label'; + customField.type_x = 'Text'; + customField.length = 52; + List results = + service.updateMetadata( + new MetadataService.Metadata[] { customField }); + handleSaveResults(results[0]); + } + + /** + * NOTE: Consider using Permission Sets, these can also be created and assignd with DML in Apex + **/ + public static void updateFieldLevelSecurity() + { + MetadataService.MetadataPort service = createService(); + MetadataService.Profile admin = new MetadataService.Profile(); + admin.fullName = 'Admin'; + admin.custom = false; + MetadataService.ProfileFieldLevelSecurity fieldSec = new MetadataService.ProfileFieldLevelSecurity(); + fieldSec.field='Test__c.TestField__c'; + fieldSec.editable=true; + admin.fieldPermissions = new MetadataService.ProfileFieldLevelSecurity[] {fieldSec} ; + List results = + service.updateMetadata( + new MetadataService.Metadata[] { admin }); + handleSaveResults(results[0]); + } + + public static void updateTabVisibility() + { + MetadataService.MetadataPort service = createService(); + MetadataService.Profile admin = (MetadataService.Profile) service.readMetadata('Profile', new String[] { 'Admin' }).getRecords()[0]; + MetadataService.ProfileTabVisibility tabVis = new MetadataService.ProfileTabVisibility(); + tabVis.tab = 'Test_Tab__c'; + tabVis.visibility = 'Hidden'; + admin.tabVisibilities = new MetadataService.ProfileTabVisibility[] {tabVis}; + List results = + service.updateMetadata( + new MetadataService.Metadata[] { admin }); + handleSaveResults(results[0]); + } + + public static void updateCustomApplication() + { + MetadataService.MetadataPort service = createService(); + MetadataService.CustomApplication customApp = (MetadataService.CustomApplication) service.readMetadata('CustomApplication', new String[] { 'Test_Application' }).getRecords()[0]; + customApp.defaultLandingTab = 'Test_Tab__c'; + List results = + service.updateMetadata( + new MetadataService.Metadata[] { customApp }); + + handleSaveResults(results[0]); + } + + public static void createPage() + { + MetadataService.MetadataPort service = createService(); + MetadataService.ApexPage apexPage = new MetadataService.ApexPage(); + apexPage.apiVersion = 25; + apexPage.fullName = 'test'; + apexPage.label = 'Test Page'; + apexPage.content = EncodingUtil.base64Encode(Blob.valueOf('')); + List results = + service.createMetadata( + new MetadataService.Metadata[] { apexPage }); + handleSaveResults(results[0]); + } + + public static void createStaticResource() + { + MetadataService.MetadataPort service = createService(); + MetadataService.StaticResource staticResource = new MetadataService.StaticResource(); + staticResource.fullName = 'test'; + staticResource.contentType = 'text'; + staticResource.cacheControl = 'public'; + staticResource.content = EncodingUtil.base64Encode(Blob.valueOf('Static stuff')); + List results = + service.createMetadata( + new MetadataService.Metadata[] { staticResource }); + handleSaveResults(results[0]); + } + + public static void updateStaticResource() + { + MetadataService.MetadataPort service = createService(); + MetadataService.StaticResource staticResource = new MetadataService.StaticResource(); + staticResource.fullName = 'test'; + staticResource.contentType = 'text'; + staticResource.cacheControl = 'public'; + staticResource.content = EncodingUtil.base64Encode(Blob.valueOf('Static stuff Changed')); + List results = + service.updateMetadata( + new MetadataService.Metadata[] { staticResource }); + handleSaveResults(results[0]); + } + + public static void deleteStaticResource() + { + MetadataService.MetadataPort service = createService(); + List results = + service.deleteMetadata( + 'StaticResource', new String[] { 'test' }); + handleDeleteResults(results[0]); + } + + public static void createWebLink() + { + MetadataService.MetadataPort service = createService(); + MetadataService.WebLink webLink = new MetadataService.WebLink(); + webLink.fullName = 'Test__c.googleButton'; + webLink.availability = 'online'; + webLink.displayType = 'link'; + webLink.encodingKey = 'UTF-8'; + webLink.hasMenubar = false; + webLink.hasScrollbars = true; + webLink.hasToolbar = false; + webLink.height = 600; + webLink.isResizable = true; + webLink.linkType = 'url'; + webLink.masterLabel = 'google'; + webLink.openType = 'newWindow'; + webLink.position = 'none'; + webLink.protected_x = false; + webLink.showsLocation = false; + webLink.showsStatus = false; + webLink.url = 'http://www.google.com'; + webLink.width = 600; + List results = + service.createMetadata( + new MetadataService.Metadata[] { webLink }); + handleSaveResults(results[0]); + } + + public static void listMetadata() + { + MetadataService.MetadataPort service = createService(); + List queries = new List(); + MetadataService.ListMetadataQuery queryWorkflow = new MetadataService.ListMetadataQuery(); + queryWorkflow.type_x = 'Workflow'; + queries.add(queryWorkflow); + MetadataService.ListMetadataQuery queryValidationRule = new MetadataService.ListMetadataQuery(); + queryValidationRule.type_x = 'ValidationRule'; + queries.add(queryValidationRule); + MetadataService.ListMetadataQuery queryCustomField = new MetadataService.ListMetadataQuery(); + queryCustomField.type_x = 'CustomField'; + queries.add(queryCustomField); + MetadataService.FileProperties[] fileProperties = service.listMetadata(queries, 25); + for(MetadataService.FileProperties fileProperty : fileProperties) + System.debug(fileProperty.fullName); + } + + /* + * Piclkist in CustomField has been deprecated use valueSet instead + public static void createPicklistField() + { + MetadataService.MetadataPort service = createService(); + MetadataService.CustomField customField = new MetadataService.CustomField(); + customField.fullName = 'Lead.picklist__c'; + customField.label = 'picklist'; + customField.type_x = 'Picklist'; + metadataservice.Picklist pt = new metadataservice.Picklist(); + pt.sorted= false; + metadataservice.PicklistValue one = new metadataservice.PicklistValue(); + one.fullName= 'first'; + one.default_x=false ; + pt.picklistValues = new List{one}; + customField.picklist = pt ; + List results = + service.createMetadata( + new MetadataService.Metadata[] { customField }); + handleSaveResults(results[0]); + } + + public static void updatePicklistField() + { + MetadataService.MetadataPort service = createService(); + MetadataService.CustomField customField = new MetadataService.CustomField(); + customField.fullName = 'Lead.picklist__c'; + customField.label = 'picklist'; + customField.type_x = 'Picklist'; + metadataservice.Picklist pt = new metadataservice.Picklist(); + pt.sorted= false; + metadataservice.PicklistValue two = new metadataservice.PicklistValue(); + two.fullName= 'second'; + two.default_x=false ; + metadataservice.PicklistValue three = new metadataservice.PicklistValue(); + three.fullName= 'third'; + three.default_x=false ; + pt.picklistValues = new list{two,three}; + customField.picklist = pt ; + List results = + service.updateMetadata( + new MetadataService.Metadata[] { customField }); + handleSaveResults(results[0]); + }*/ + + /** + * Example of how to retrieve dependent picklist values + * when you are NOT using record types on the object. + * If using record types, please see other example getDependentPicklistValuesByRecordType(). + * + * Setup: + * 1. In a dev org, create a field dependency on the Account object with Active__c picklist controlling values in CustomerPriority__c picklist + * 1a. When Active__c = Yes then let CustomerPriority__c include High + * 1b. When Active__c = No then let CustomerPriority__c include Low + * 2. Verify intended behavior by creating a new account record via browser. When Active__c = Yes then CustomerPriority__c should allow you to choose High. + * 3. Run the below example snippet to see that the same filtered picklist values come back + * + * https://github.com/financialforcedev/apex-mdapi/issues/93 + * https://help.salesforce.com/HTViewHelpDoc?id=fields_defining_field_dependencies.htm + + public static void getDependentPicklistValues() + { + // Create service + MetadataService.MetadataPort service = createService(); + + // Read Custom Field (dependent picklist) + MetadataService.CustomField customField = (MetadataService.CustomField) service.readMetadata( + 'CustomField', new String[] { 'Account.CustomerPriority__c' } + ).getRecords()[0]; + + // At the end of this example, this list will contain only those picklist values + // that satisfy the picklist dependency of the controlling field's value. + // The controlling field is the 'Active__c' picklist field. + List filteredDependentValues = new List(); + + for ( MetadataService.PicklistValue picklistValue : customField.picklist.picklistValues ) { + // In this example the controlling field, Account.Active__c, has selected value of 'Yes' + // so if the PicklistValue entry we're iterating over right now is controlled by that value + // then we'll add it to our filtered list, otherwise we must ignore it. + // The controlling field value could come from other user input, hard code, etc... + String controllingFieldValue = 'Yes'; + if ( ( picklistValue.controllingFieldValues == null ) || new Set( picklistValue.controllingFieldValues ).contains( controllingFieldValue ) ) { + filteredDependentValues.add( picklistValue ); + } + } + + System.debug( 'Filtered, Dependent Values = ' + filteredDependentValues ); + + }*/ + + /** + * Example of how to retrieve the dependent picklist values that are both: + * 1. Assigned to the record type, and + * 2. Have a dependency upon the specified value from the controlling field + * + * Setup: + * 1. In a dev org, create a field dependency on the Account object with Active__c picklist controlling values in CustomerPriority__c picklist + * 1a. When Active__c = Yes then let CustomerPriority__c include High + * 1b. When Active__c = No then let CustomerPriority__c include Low + * 2. Create an Account record type called Record_Type_A and allow all values for Active__c be available but only allow CustomerPriority__c to have High and Low (exclude Medium) + * 3. Verify intended behavior by creating a new account record via browser. When Active__c = Yes then CustomerPriority__c should allow you to choose High. + * 4. Run the below example snippet to see that the same filtered picklist values come back + * + * https://github.com/financialforcedev/apex-mdapi/issues/93 + * https://help.salesforce.com/HTViewHelpDoc?id=fields_defining_field_dependencies.htm + + public static void getDependentPicklistValuesByRecordType() + { + // Create service + MetadataService.MetadataPort service = createService(); + + // Read Custom Field (dependent picklist) + MetadataService.CustomField customField = (MetadataService.CustomField) service.readMetadata( + 'CustomField', new String[] { 'Account.CustomerPriority__c' } + ).getRecords()[0]; + + // Print each picklist value + // At this point we will see every value assigned to this field + // regardless of record type or controlling field value + for ( MetadataService.PicklistValue pk : customField.picklist.picklistValues ) { + System.debug( pk ); + } + + // Read Record Type + MetadataService.RecordType recordType = (MetadataService.RecordType) service.readMetadata( + 'RecordType', new String[] { 'Account.Record_Type_A' } + ).getRecords()[0]; + + System.debug( recordType ); + + // Build map of all picklist values by name configured for the field. + // This is necessary because only these references have the 'controllingFieldValues' property defined. + // When picklist values are retrieved via RecordType then this property is null, unfortunately. + Map picklistValuesMap = new Map(); + for ( MetadataService.PicklistValue pk : customField.picklist.picklistValues ) { + picklistValuesMap.put( pk.fullName, pk ); + } + + System.debug( picklistValuesMap ); + + // At the end of this example, this list will contain only those picklist values + // that are both assigned to the RecordType and satisfy the + // picklist dependency of the controlling field's value. + // The controlling field is the 'Active__c' picklist field. + List filteredDependentValues = new List(); + + // Of all the picklist values setup for the Account.CustomerPriority__c field, + // iterate over the values explicitly assigned to the Account.Record_Type_A record type. + for ( MetadataService.RecordTypePicklistValue rpk : recordType.picklistValues ) { + if ( 'CustomerPriority__c' == rpk.picklist ) { + for ( MetadataService.PicklistValue pk : rpk.values ) { + + // Since the Metadata API does not provide the 'controllingFieldValues' property + // on the PicklistValues of the RecordType metadata response, we must now look that data up + // from the map we built earlier of the PicklistValues of the CustomField metadata response + MetadataService.PicklistValue picklistValue = picklistValuesMap.get( pk.fullName ); + + // In this example the controlling field, Account.Active__c, has selected value of 'Yes' + // so if the PicklistValue entry we're iterating over right now is controlled by that value + // then we'll add it to our filtered list, otherwise we must ignore it. + // The controlling field value could come from other user input, hard code, etc... + String controllingFieldValue = 'Yes'; + if ( ( picklistValue.controllingFieldValues == null ) || new Set( picklistValue.controllingFieldValues ).contains( controllingFieldValue ) ) { + filteredDependentValues.add( picklistValue ); + } + + } + } + } + + System.debug( 'Filtered, Dependent Values = ' + filteredDependentValues ); + + }*/ + + public static void createAddressSettings() + { + MetadataService.MetadataPort service = createService(); + MetadataService.AddressSettings addressSettings = new MetadataService.AddressSettings(); + addressSettings.fullName = 'Address'; + addressSettings.countriesAndStates = new MetadataService.CountriesAndStates(); + MetadataService.Country us = new MetadataService.Country(); + us.active = true; + us.integrationValue = 'United States'; + us.isoCode = 'US'; + us.label = 'United States'; + MetadataService.State stateAL = new MetadataService.State(); + stateAL.active = true; + stateAL.integrationValue = 'Alabama'; + stateAL.isoCode = 'AL'; + stateAL.label = 'Alabama'; + MetadataService.State stateAK = new MetadataService.State(); + stateAK.active = true; + stateAK.integrationValue = 'Alaska'; + stateAK.isoCode = 'AK'; + stateAK.label = 'Alaska'; + us.states = new List { stateAL, stateAK }; + addressSettings.countriesAndStates.countries = new List { us }; + List results = + service.createMetadata( + new MetadataService.Metadata[] { addressSettings }); + handleSaveResults(results[0]); + } + + public static void updateCaseSettings() + { + MetadataService.MetadataPort service = createService(); + MetadataService.CaseSettings caseSettings = new MetadataService.CaseSettings(); + caseSettings.fullName = 'Case'; + caseSettings.notifyOwnerOnCaseComment = true; + List results = + service.updateMetadata( + new MetadataService.Metadata[] { caseSettings }); + handleSaveResults(results[0]); + } + + public static void dynamicCreation(String objectName) + { + // Define Metadata item to create a Custom Object + MetadataService.CustomObject customObject = new MetadataService.CustomObject(); + customObject.fullName = objectName + '__c'; + customObject.label = objectName; + customObject.pluralLabel = objectName+'s'; + customObject.nameField = new MetadataService.CustomField(); + customObject.nameField.type_x = 'Text'; + customObject.nameField.label = 'Test Record'; + customObject.deploymentStatus = 'Deployed'; + customObject.sharingModel = 'ReadWrite'; + + // Define Metadata item to create a Custom Field on the above object + MetadataService.CustomField customField1 = new MetadataService.CustomField(); + customField1.fullName = objectName+'__c.TestField1__c'; + customField1.label = 'Test Field 1'; + customField1.type_x = 'Text'; + customField1.length = 42; + + // Define Metadata item to create a Custom Field on the above object + MetadataService.CustomField customField2 = new MetadataService.CustomField(); + customField2.fullName = objectName+'__c.TestField2__c'; + customField2.label = 'Test Field 2'; + customField2.type_x = 'Text'; + customField2.length = 42; + + // Define Metadata item to create a Visualforce page to display the above field + MetadataService.ApexPage apexPage = new MetadataService.ApexPage(); + apexPage.apiVersion = 25; + apexPage.fullName = objectName.toLowercase(); + apexPage.label = objectName + ' Page'; + apexPage.content = EncodingUtil.base64Encode(Blob.valueOf( + ''+ + '{!' + objectName + '__c.TestField1__c}' + + '{!' + objectName + '__c.TestField2__c}' + + '')); + + // Create components in the correct order + MetadataService.MetadataPort service = createService(); + List results = + service.createMetadata( + new MetadataService.Metadata[] { customObject }); + handleSaveResults(results[0]); + results = + service.createMetadata( + new MetadataService.Metadata[] { customField1, customField2 }); + handleSaveResults(results[0]); + handleSaveResults(results[1]); + results = + service.createMetadata( + new MetadataService.Metadata[] { apexPage }); + handleSaveResults(results[0]); + } + + public static void createRecordType() + { + MetadataService.RecordType recordType = new MetadataService.RecordType(); + recordType.active = true; + recordType.fullName = 'Test__c.RecordTypeA'; + recordType.label = 'Record Type A'; + recordType.businessProcess = null; + recordType.description = 'My new record type'; + + MetadataService.MetadataPort service = createService(); + List results = + service.createMetadata( + new MetadataService.Metadata[] { recordType }); + handleSaveResults(results[0]); + } + + public static void deleteRecordType() + { + // Salesforce bug? The follow results in 'Cannot delete record type through API' + // yet the docs say otherwise, http://www.salesforce.com/us/developer/docs/api_meta/Content/meta_recordtype.htm + // 'For more information, see “Record Types Overview” in the Salesforce online help. + // Use this metadata type to create, update, or delete record type definitions for a custom object.' + MetadataService.RecordType recordType = new MetadataService.RecordType(); + recordType.active = true; + recordType.fullName = 'Test__c.RecordTypeA'; + MetadataService.MetadataPort service = createService(); + List results = + service.deleteMetadata( + 'RecordType', new String[] { 'Test__c.RecordTypeA' }); + handleDeleteResults(results[0]); + } + + public static void installPackages() + { + // Install packageA, then pacakgeB + MetadataService.InstalledPackage installedPackageA = new MetadataService.InstalledPackage(); + installedPackageA.password = 'fred1234'; + installedPackageA.versionNumber = '1.0'; + installedPackageA.fullName = 'packagea'; + MetadataService.InstalledPackage installedPackageB = new MetadataService.InstalledPackage(); + installedPackageB.versionNumber = '1.0'; + installedPackageB.fullName = 'packageb'; + + // Install the packages + MetadataService.MetadataPort service = createService(); + List results = + service.createMetadata( + new MetadataService.Metadata[] { installedPackageA, installedPackageB }); + handleSaveResults(results[0]); + handleSaveResults(results[1]); + } + + public static void uninstallPackages() + { + // Uninstall packages + MetadataService.MetadataPort service = createService(); + List results = + service.deleteMetadata( + 'InstalledPackage', new String[] { 'packagea', 'packageb' }); + handleDeleteResults(results[0]); + handleDeleteResults(results[1]); + } + + public static void createCustomSite() + { + MetadataService.CustomSite customSite = new MetadataService.CustomSite(); + customSite.fullName = 'MyCustomSite'; + customSite.active = true; + customSite.allowHomePage = true; + customSite.allowStandardIdeasPages = true; + customSite.active = true; + customSite.allowHomePage = true; + customSite.allowStandardIdeasPages = true; + customSite.allowStandardLookups = true; + customSite.allowStandardSearch = true; + customSite.authorizationRequiredPage = 'Unauthorized'; + customSite.bandwidthExceededPage = 'BandwidthExceeded'; + customSite.changePasswordPage = 'ChangePassword'; + customSite.chatterAnswersForgotPasswordConfirmPage = null; + customSite.chatterAnswersForgotPasswordPage = null; + customSite.chatterAnswersHelpPage = null; + customSite.chatterAnswersLoginPage = null; + customSite.chatterAnswersRegistrationPage = null; + customSite.favoriteIcon = null; + customSite.fileNotFoundPage = 'FileNotFound'; + customSite.genericErrorPage = 'Exception'; + customSite.inMaintenancePage = 'InMaintenance'; + customSite.serverIsDown = null; + customSite.indexPage = 'UnderConstruction'; + customSite.masterLabel = 'customSite'; + customSite.portal = null; + customSite.requireInsecurePortalAccess = false; + customSite.siteAdmin = 'admin@mysiteorg.com'; + customSite.siteTemplate = 'SiteTemplate'; + customSite.siteType = 'Visualforce'; + customSite.clickjackProtectionLevel = 'AllowAllFraming'; + customSite.requireHttps = true; + MetadataService.MetadataPort service = createService(); + List results = + service.createMetadata( + new MetadataService.Metadata[] { customSite }); + handleSaveResults(results[0]); + } + + public static void createDetailObject() + { + // Define Metadata item to create a Custom Object + MetadataService.CustomObject customObject = new MetadataService.CustomObject(); + customObject.fullName = 'TestDetail__c'; + customObject.label = 'Test Detail'; + customObject.pluralLabel = 'Test Details'; + customObject.nameField = new MetadataService.CustomField(); + customObject.nameField.type_x = 'Text'; + customObject.nameField.label = 'Test Detail Record'; + customObject.deploymentStatus = 'Deployed'; + customObject.sharingModel = 'ReadWrite'; + + // Define Metadata item to create a Custom Formula Field on the above object + MetadataService.CustomField customField1 = new MetadataService.CustomField(); + customField1.fullName = 'TestDetail__c.FormulaField__c'; + customField1.externalId = false; + customField1.formula = '42'; + customField1.formulaTreatBlanksAs = 'BlankAsZero'; + customField1.label = 'Formula Field'; + customField1.precision = 18; + customField1.required = false; + customField1.scale = 2; + customField1.type_x = 'Number'; + customField1.unique = false; + + // Define Metadata item to create a Custom Field on the above object + MetadataService.CustomField customField2 = new MetadataService.CustomField(); + customField2.fullName = 'TestDetail__c.Test__c'; + customField2.externalId = false; + customField2.label = 'Test'; + customField2.referenceTo = 'Test__c'; + customField2.relationshipLabel = 'Test Children'; + customField2.relationshipName = 'Test_Children'; + customField2.relationshipOrder = 0; + customField2.type_x = 'MasterDetail'; + customField2.writeRequiresMasterRead = false; + + // Create components in the correct order + MetadataService.MetadataPort service = createService(); + List results = + service.createMetadata( + new MetadataService.Metadata[] { customObject }); + handleSaveResults(results[0]); + results = + service.createMetadata( + new MetadataService.Metadata[] { customField1, customField2 }); + handleSaveResults(results[0]); + handleSaveResults(results[1]); + } + + public static void createFieldSet() + { + MetadataService.MetadataPort service = createService(); + + // FieldSet + MetadataService.FieldSet fieldSet = new MetadataService.FieldSet(); + fieldSet.fullName = 'Test__c.MyFieldSet'; + fieldSet.label = 'My FieldSet'; + fieldSet.description = 'Used by my VF page'; + MetadataService.FieldSetItem myAvailableField = new MetadataService.FieldSetItem(); + myAvailableField.field = 'TestField__c'; + myAvailableField.isFieldManaged = true; + myAvailableField.isRequired = true; + fieldSet.availableFields = new List(); + fieldSet.availableFields.add(myAvailableField); + + // Create + List results = + service.createMetadata( + new MetadataService.Metadata[] { fieldSet }); + handleSaveResults(results[0]); + } + + public static void updateFieldSet() + { + MetadataService.MetadataPort service = createService(); + + // FieldSet + MetadataService.FieldSet fieldSet = new MetadataService.FieldSet(); + fieldSet.fullName = 'Test__c.MyFieldSet'; + fieldSet.label = 'My FieldSet'; + fieldSet.description = 'Used by my VF page'; + MetadataService.FieldSetItem myAvailableField = new MetadataService.FieldSetItem(); + myAvailableField.field = 'TestField__c'; + myAvailableField.isFieldManaged = true; + myAvailableField.isRequired = true; + MetadataService.FieldSetItem myAvailableFieldNew = new MetadataService.FieldSetItem(); + myAvailableFieldNew.field = 'ExternalField__c'; + myAvailableFieldNew.isFieldManaged = true; + myAvailableFieldNew.isRequired = true; + fieldSet.availableFields = new List(); + fieldSet.availableFields.add(myAvailableField); + fieldSet.availableFields.add(myAvailableFieldNew); + + // Update + List results = + service.updateMetadata( + new MetadataService.Metadata[] { fieldSet }); + handleSaveResults(results[0]); + } + + public static void addActionOverride() + { + MetadataService.MetadataPort service = createService(); + MetadataService.CustomObject customObject = new MetadataService.CustomObject(); + customObject.fullName = 'Test__c'; + customObject.label = 'Test'; + customObject.pluralLabel = 'Tests'; + customObject.nameField = new MetadataService.CustomField(); + customObject.nameField.type_x = 'Text'; + customObject.nameField.label = 'Test Record'; + customObject.deploymentStatus = 'Deployed'; + customObject.sharingModel = 'ReadWrite'; + customObject.actionOverrides = new List(); + customObject.actionOverrides.add(new MetadataService.ActionOverride()); + customObject.actionOverrides[0].actionName = 'Edit'; + customObject.actionOverrides[0].content = 'TestPage'; + customObject.actionOverrides[0].type_x = 'visualforce'; + customObject.actionOverrides[0].skipRecordTypeSelect = false; + customObject.actionOverrides[0].comment = 'A comment for edit action'; + List results = + service.updateMetadata( + new MetadataService.Metadata[] { customObject }); + handleSaveResults(results[0]); + } + + public static void createListView() + { + MetadataService.MetadataPort service = createService(); + MetadataService.ListView listView = new MetadataService.ListView(); + listView.fullName = 'Test__c.MyListView'; + listView.label = 'My List View'; + listView.filterScope = 'Everything'; + listView.columns = new List { 'NAME' }; + List results = + service.createMetadata( + new MetadataService.Metadata[] { listView }); + handleSaveResults(results[0]); + } + + public static void deleteListView() + { + MetadataService.MetadataPort service = createService(); + List results = + service.deleteMetadata( + 'ListView', new String[] { 'Test__c.MyListView' }); + handleDeleteResults(results[0]); + } + + public static void listListViews() + { + MetadataService.MetadataPort service = createService(); + List queries = new List(); + MetadataService.ListMetadataQuery listView = new MetadataService.ListMetadataQuery(); + listView.type_x = 'ListView'; + queries.add(listView); + MetadataService.FileProperties[] fileProperties = service.listMetadata(queries, 25); + for(MetadataService.FileProperties fileProperty : fileProperties) + System.debug(fileProperty.fullName); + } + + public static void readListView() + { + MetadataService.MetadataPort service = createService(); + + // Read List View definition + MetadataService.ListView listView = + (MetadataService.ListView) service.readMetadata('ListView', + new String[] { 'Test__c.MyListView' }).getRecords()[0]; + if(listView.columns!=null) + for(String column : listView.columns) + System.debug('Column ' + column); + if(listView.filters!=null) + for(MetadataService.ListViewFilter filter : listView.filters) + System.debug('Filter ' + filter.field + ' ' + filter.operation + ' ' + filter.value); + } + + public static void createApprovalProcess() + { + MetadataService.MetadataPort service = createService(); + MetadataService.ApprovalProcess approvalProcess = new MetadataService.ApprovalProcess(); + approvalProcess.fullName = 'Test__c.TestApproval'; + approvalProcess.label = 'Test Approval'; + approvalProcess.active = false; + approvalProcess.allowRecall = false; + approvalProcess.showApprovalHistory = true; + approvalProcess.recordEditability = 'AdminOnly'; + approvalProcess.finalApprovalRecordLock = false; + approvalProcess.finalRejectionRecordLock = false; + approvalProcess.showApprovalHistory = false; + MetadataService.ApprovalSubmitter submitter = new MetadataService.ApprovalSubmitter(); + submitter.type_x = 'user'; + submitter.submitter = UserInfo.getUserName(); + approvalProcess.allowedSubmitters = new List { submitter }; + List results = + service.createMetadata( + new MetadataService.Metadata[] { approvalProcess }); + handleSaveResults(results[0]); + } + + public static void readAndUpdateLayout() + { + MetadataService.MetadataPort service = createService(); + + // Create Button + MetadataService.WebLink webLink = new MetadataService.WebLink(); + webLink.fullName = 'Test__c.googleButton'; + webLink.availability = 'online'; + webLink.displayType = 'button'; + webLink.encodingKey = 'UTF-8'; + webLink.hasMenubar = false; + webLink.hasScrollbars = true; + webLink.hasToolbar = false; + webLink.height = 600; + webLink.isResizable = true; + webLink.linkType = 'url'; + webLink.masterLabel = 'google'; + webLink.openType = 'newWindow'; + webLink.position = 'none'; + webLink.protected_x = false; + webLink.showsLocation = false; + webLink.showsStatus = false; + webLink.url = 'http://www.google.com'; + webLink.width = 600; + handleSaveResults( + service.createMetadata( + new List { webLink })[0]); + + // Read the Layout + MetadataService.Layout layout = + (MetadataService.Layout) service.readMetadata('Layout', + new String[] { 'Test__c-Test Layout' }).getRecords()[0]; + + // Add the Custom Button to the Layout + if(layout.customButtons==null) + layout.customButtons = new List(); + layout.customButtons.add('googleButton'); + + // Update the Layout + handleSaveResults( + service.updateMetadata( + new MetadataService.Metadata[] { layout })[0]); + } + + + public static void addFieldToLayout() + { + MetadataService.MetadataPort service = createService(); + + // Read the Layout + MetadataService.Layout layout = + (MetadataService.Layout) service.readMetadata('Layout', + new String[] { 'Test__c-Test Layout' }).getRecords()[0]; + + // Add Layout section, layout, item and field + if(layout.layoutSections==null) + layout.layoutSections = new List(); + MetadataService.LayoutSection newLayoutSection = new MetadataService.LayoutSection(); + newLayoutSection.style = 'OneColumn'; + MetadataService.LayoutColumn newLayoutColumn = new MetadataService.LayoutColumn(); + MetadataService.LayoutItem newLayoutItem = new MetadataService.LayoutItem(); + newLayoutItem.field = 'TestField__c'; + newLayoutColumn.layoutItems = new List { newLayoutItem }; + newLayoutSection.layoutColumns = new List { newLayoutColumn }; + layout.layoutSections.add(newLayoutSection); + + // Update the Layout + handleSaveResults( + service.updateMetadata( + new MetadataService.Metadata[] { layout })[0]); + } + + /*public static void updatePicklist() + { + MetadataService.MetadataPort service = createService(); + + // Read Custom Field + MetadataService.CustomField customField = + (MetadataService.CustomField) service.readMetadata('CustomField', + new String[] { 'Lead.picklist__c' }).getRecords()[0]; + + // Add pick list values + metadataservice.PicklistValue two = new metadataservice.PicklistValue(); + two.fullName= 'second'; + two.default_x=false; + metadataservice.PicklistValue three = new metadataservice.PicklistValue(); + three.fullName= 'third'; + three.default_x=false; + customField.picklist.picklistValues.add(two); + customField.picklist.picklistValues.add(three); + + // Update Custom Field + handleSaveResults( + service.updateMetadata( + new MetadataService.Metadata[] { customField })[0]); + }*/ + + public static void copyLayoutSection() + { + MetadataService.MetadataPort service = createService(); + + // Read the source Layout + MetadataService.Layout sourceLayout = + (MetadataService.Layout) service.readMetadata('Layout', + new String[] { 'Test__c-Test Template Layout' }).getRecords()[0]; + + // Read the target Layout + MetadataService.Layout targetLayout = + (MetadataService.Layout) service.readMetadata('Layout', + new String[] { 'Test__c-Test Layout' }).getRecords()[0]; + + // Add section from source Layout to target Layout + targetLayout.layoutSections.add( + sourceLayout.layoutSections[0]); + + // Update target Layout + handleSaveResults( + service.updateMetadata( + new MetadataService.Metadata[] { targetLayout })[0]); + } + + public static void readWorkflowAlert() + { + MetadataService.MetadataPort service = createService(); + + // Read Workflow Alert + MetadataService.WorkflowAlert wfa = + (MetadataService.WorkflowAlert) service.readMetadata('WorkflowAlert', + new String[] { 'Test__c.Test' }).getRecords()[0]; + System.debug('Description ' + wfa.description); + System.debug('Sender Address ' + wfa.senderAddress); + } + + public static void readCustomObject() + { + MetadataService.MetadataPort service = createService(); + + MetadataService.CustomObject customObject = + (MetadataService.CustomObject) service.readMetadata('CustomObject', + new String[] { 'Test__c' }).getRecords()[0]; + for(MetadataService.CustomField field : customObject.fields) + System.debug(field.fullName); + } + + public static void addComponentsToHomePageLayout() + { + // Retrieve Home Page Layout + MetadataService.MetadataPort service = createService(); + MetadataService.HomePageLayout homePageLayout = + (MetadataService.HomePageLayout) service.readMetadata('HomePageLayout', + new String[] { 'DE Default' }).getRecords()[0]; + + // Create Home Page Component + MetadataService.HomePageComponent homePageComponent = + new MetadataService.HomePageComponent(); + homePageComponent.width = 'wide'; + homePageComponent.pageComponentType = 'htmlArea'; + homePageComponent.fullName = 'helloworld'; + homePageComponent.body = '

Hello World

'; + handleSaveResults( + service.createMetadata( + new MetadataService.Metadata[] { homePageComponent })[0]); + + // Add component to Home Page Layout and Update + if(homePageLayout.wideComponents==null) + homePageLayout.wideComponents = new List(); + homePageLayout.wideComponents.add('helloworld'); + handleSaveResults( + service.updateMetadata( + new MetadataService.Metadata[] { homePageLayout })[0]); + } + + public static void readFolder() + { + // Retrieve Folder + MetadataService.MetadataPort service = createService(); + MetadataService.ReportFolder folder = + (MetadataService.ReportFolder) service.readMetadata('ReportFolder', + new String[] { 'MyFolder' }).getRecords()[0]; + System.debug('name ' + folder.name); + System.debug('fullName ' + folder.fullName); + System.debug('allInternalUsers ' + folder.sharedTo.allInternalUsers); + } + + public static void readReport() + { + MetadataService.MetadataPort service = createService(); + MetadataService.Report report = + (MetadataService.Report) service.readMetadata('Report', + new String[] { 'MyFolder/MyReport' }).getRecords()[0]; + System.debug(report.description); + } + + public static void readPermissionSet() + { + MetadataService.MetadataPort service = createService(); + MetadataService.PermissionSet ps = + (MetadataService.PermissionSet) service.readMetadata('PermissionSet', + new String[] { 'Test' }).getRecords()[0]; + + } + + public static void createLayout() + { + MetadataService.MetadataPort service = createService(); + MetadataService.Layout layout = new MetadataService.Layout(); + layout.fullName = 'Test__c-My Layout'; + layout.layoutSections = new List(); + MetadataService.LayoutSection layoutSection = new MetadataService.LayoutSection(); + layoutSection.editHeading = true; + layoutSection.label = 'System Information'; + layoutSection.style = 'TwoColumnsTopToBottom'; + layoutSection.layoutColumns = new List(); + MetadataService.LayoutColumn layoutColumn = new MetadataService.LayoutColumn(); + layoutColumn.layoutItems = new List(); + MetadataService.LayoutItem layoutItem1 = new MetadataService.LayoutItem(); + layoutItem1.behavior = 'Readonly'; + layoutItem1.field = 'CreatedById'; + layoutColumn.layoutItems.add(layoutItem1); + MetadataService.LayoutItem layoutItem2 = new MetadataService.LayoutItem(); + layoutItem2.behavior = 'Required'; + layoutItem2.field = 'Name'; + layoutColumn.layoutItems.add(layoutItem2); + layoutSection.layoutColumns.add(layoutColumn); + layout.layoutSections.add(layoutSection); + layout.summaryLayout = new MetadataService.SummaryLayout(); + layout.summaryLayout.masterLabel = 'Great name'; + layout.summaryLayout.sizeX = 4; + layout.summaryLayout.sizeY = 2; + layout.summaryLayout.summaryLayoutStyle = 'Default'; + layout.summaryLayout.summaryLayoutItems = new List(); + MetadataService.SummaryLayoutItem summaryLayoutItem = new MetadataService.SummaryLayoutItem(); + summaryLayoutItem.posX = 0; + summaryLayoutItem.posY = 0; + summaryLayoutItem.field = 'Name'; + layout.summaryLayout.summaryLayoutItems.add(summaryLayoutItem); + List results = + service.createMetadata( + new MetadataService.Metadata[] { layout }); + handleSaveResults(results[0]); + } + + public static void readLightningComponent() + { + MetadataService.MetadataPort service = createService(); + MetadataService.AuraDefinitionBundle auraBundle = + (MetadataService.AuraDefinitionBundle) service.readMetadata('AuraDefinitionBundle', + new String[] { 'HelloWorld' }).getRecords()[0]; + System.debug(EncodingUtil.base64Decode(auraBundle.markup).toString()); + } + + public static void createLightningComponent() + { + MetadataService.MetadataPort service = createService(); + MetadataService.AuraDefinitionBundle auraBundle = new MetadataService.AuraDefinitionBundle(); + auraBundle.fullName = 'HelloWorld'; + auraBundle.type_x = 'Component'; + auraBundle.markup = EncodingUtil.base64Encode(Blob.valueOf( + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '')); + auraBundle.controllerContent = EncodingUtil.base64Encode(Blob.valueOf( + '({' + + 'myAction : function(component) {' + + 'component.set(\'v.val1\',\'Value1\');' + + 'component.set(\'v.val2\',\'Value2\');' + + '}' + + '})')); + List results = + service.createMetadata( + new MetadataService.Metadata[] { auraBundle }); + handleSaveResults(results[0]); + } + + public static void createFormulaField() + { + MetadataService.MetadataPort service = createService(); + MetadataService.CustomField customField = new MetadataService.CustomField(); + customField.fullName = 'Test__c.TestFormulaField__c'; + customField.label = 'Test Formula Field'; + customField.type_x = 'Date'; + customField.formula = 'TODAY()'; + List results = + service.createMetadata( + new MetadataService.Metadata[] { customField }); + handleSaveResults(results[0]); + } + + public static void createLayoutManaged() + { + MetadataService.MetadataPort service = createService(); + MetadataService.Layout layout = new MetadataService.Layout(); + layout.fullName = 'packageb__Sales_Invoice__c-Test'; + layout.layoutSections = new List(); + MetadataService.LayoutSection layoutSection = new MetadataService.LayoutSection(); + layoutSection.editHeading = true; + layoutSection.label = 'System Information'; + layoutSection.style = 'TwoColumnsTopToBottom'; + layoutSection.layoutColumns = new List(); + MetadataService.LayoutColumn layoutColumn = new MetadataService.LayoutColumn(); + layoutColumn.layoutItems = new List(); + MetadataService.LayoutItem layoutItem1 = new MetadataService.LayoutItem(); + layoutItem1.behavior = 'Readonly'; + layoutItem1.field = 'CreatedById'; + layoutColumn.layoutItems.add(layoutItem1); + MetadataService.LayoutItem layoutItem2 = new MetadataService.LayoutItem(); + layoutItem2.behavior = 'Required'; + layoutItem2.field = 'Name'; + layoutColumn.layoutItems.add(layoutItem2); + layoutSection.layoutColumns.add(layoutColumn); + layout.layoutSections.add(layoutSection); + List results = + service.upsertMetadata( + new MetadataService.Metadata[] { layout }); + handleUpsertResults(results[0]); + } + + public static void createSharingRule() + { + // Create Sharing Rule + MetadataService.MetadataPort service = createService(); + MetadataService.SharingRules testSharingRule = new MetadataService.SharingRules(); + testSharingRule.fullName = 'Test__c'; + testSharingRule.sharingCriteriaRules = new List(); + MetadataService.SharingCriteriaRule sharingCriteriaRule = new MetadataService.SharingCriteriaRule(); + sharingCriteriaRule.fullName = 'TestCriteria'; + sharingCriteriaRule.accessLevel = 'Read'; + sharingCriteriaRule.label = 'Test'; + sharingCriteriaRule.sharedTo = new MetadataService.SharedTo(); + sharingCriteriaRule.sharedTo.allPartnerUsers = ''; + sharingCriteriaRule.criteriaItems = new List(); + MetadataService.FilterItem cirteriaFilterItem = new MetadataService.FilterItem(); + cirteriaFilterItem.field = 'RecordTypeId'; + cirteriaFilterItem.operation = 'equals'; + cirteriaFilterItem.value = 'Record Type A'; + sharingCriteriaRule.criteriaItems.add(cirteriaFilterItem); + testSharingRule.sharingCriteriaRules.add(sharingCriteriaRule); + testSharingRule.sharingOwnerRules = new List(); + MetadataService.SharingOwnerRule sharingOwnerRule = new MetadataService.SharingOwnerRule(); + sharingOwnerRule.fullName = 'TestOwner'; + sharingOwnerRule.accessLevel = 'Read'; + sharingOwnerRule.label = 'Test'; + sharingOwnerRule.sharedTo = new MetadataService.SharedTo(); + sharingOwnerRule.sharedTo.allPartnerUsers = ''; + sharingOwnerRule.sharedFrom = new MetadataService.SharedTo(); + sharingOwnerRule.sharedFrom.allInternalUsers = ''; + testSharingRule.sharingOwnerRules.add(sharingOwnerRule); + List results = + service.createMetadata( + new MetadataService.Metadata[] { testSharingRule }); + handleSaveResults(results[0]); + } + + public static void readSharingRule() + { + // Read Sharing Rule + MetadataService.MetadataPort service = createService(); + MetadataService.SharingRules sharingRules = + (MetadataService.SharingRules) service.readMetadata('SharingRules', + new String[] { 'Test__c' }).getRecords()[0]; + System.debug(sharingRules.sharingOwnerRules[0].fullName); + } + + public static void deleteSharingRule() + { + // Delete Sharing Rule + MetadataService.MetadataPort service = createService(); + List results = + service.deleteMetadata( + 'SharingRules', new String[] { 'Test__c' }); + handleDeleteResults(results[0]); + } + + public static void readTranslation() + { + // Read Translation + MetadataService.MetadataPort service = createService(); + MetadataService.Translations translations = + (MetadataService.Translations) service.readMetadata('Translations', + new String[] { 'nl_NL' }).getRecords()[0]; + for(MetadataService.CustomLabelTranslation customLabelTranslation : translations.customLabels) + System.debug(customLabelTranslation.label); + } + + public static void readApprovalProcess() + { + // Read Translation + MetadataService.MetadataPort service = createService(); + MetadataService.ApprovalProcess approvalProcess = + (MetadataService.ApprovalProcess) service.readMetadata('ApprovalProcess', + new String[] { 'Test__c.TestApproval' }).getRecords()[0]; + } + + public static void createCustomPageWeblink() + { + MetadataService.MetadataPort service = createService(); + + MetadataService.CustomPageWebLink customPageWeblink = new MetadataService.CustomPageWebLink(); + + //no object name here, no spaces, single "_" allowed + customPageWeblink.fullName = 'CustomPageWeblink_Name'; + customPageWeblink.availability = 'online'; + customPageWeblink.displayType = 'link'; + customPageWeblink.encodingKey = 'UTF-8'; + customPageWeblink.hasMenubar = false; + customPageWeblink.hasScrollbars = false; + customPageWeblink.hasToolbar = false; + customPageWeblink.height = 600; + customPageWeblink.isResizable = false; + customPageWeblink.linkType = 'url'; + //friendly name that is displayed on SFDc pages + customPageWeblink.masterLabel = 'Label'; + customPageWeblink.openType = 'newWindow'; + customPageWeblink.position = 'none'; + customPageWeblink.protected_x = false; + customPageWeblink.showsLocation = false; + customPageWeblink.showsStatus = false; + customPageWeblink.url = 'http://www.google.com'; + + List results = + service.createMetadata( + new MetadataService.Metadata[] { customPageWeblink }); + + handleSaveResults(results[0]); + } + + /** + * If you have subscribed to the paid feature add-on "Field Audit Trail" then you can define the + * History Retention Policy using the Metadata API. + * + * https://developer.salesforce.com/docs/atlas.en-us.field_history_retention.meta/field_history_retention/ + * https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_historyretentionpolicy.htm + */ + public static void updateHistoryRetentionPolicy() { + + // Create service + MetadataService.MetadataPort service = createService(); + + // Retrieve the custom object metadata + MetadataService.CustomObject customObject = (MetadataService.CustomObject) service.readMetadata( + 'CustomObject', new String[] { 'Account' } + ).getRecords()[0]; + + // Print the existing policy, if any defined + System.debug( customObject.historyRetentionPolicy ); + + // Define the retention policy + MetadataService.HistoryRetentionPolicy policy = new MetadataService.HistoryRetentionPolicy(); + policy.archiveAfterMonths = 3; + policy.archiveRetentionYears = 5; + policy.gracePeriodDays = 0; + + // Assign policy to the custom object + customObject.historyRetentionPolicy = policy; + + // Update the metadata using API + List saveResults = service.updateMetadata( + new MetadataService.Metadata[] { + customObject + } + ); + + // Inspect the save result for any errors + for ( MetadataService.SaveResult saveResult : saveResults ) { + if ( !saveResult.success ) { + System.debug( 'failure' ); + for ( MetadataService.Error err : saveResult.errors ) { + System.debug( System.LoggingLevel.ERROR, err.statusCode + ': ' + err.message ); + } + } + System.debug( 'success' ); + } + + } + + public static void createFlow() { + + MetadataService.MetadataPort service = createService(); + + // Create Flow + MetadataService.Flow flow = new MetadataService.Flow(); + flow.fullName = 'NewFlow-1'; + flow.description = 'New Flow'; + flow.label = 'New Flow'; + flow.processType = 'Flow'; + MetadataService.FlowRecordCreate recordCreate = new MetadataService.FlowRecordCreate(); + recordCreate.name = 'RecordCreate'; + recordCreate.label = 'Record Create'; + recordCreate.object_x = 'Account'; + recordCreate.locationX = 10; + recordCreate.locationY = 10; + recordCreate.inputAssignments = new List(); + recordCreate.inputAssignments.add(new MetadataService.FlowInputFieldAssignment()); + recordCreate.inputAssignments[0].field = 'AccountNumber'; + recordCreate.inputAssignments[0].value = new MetadataService.FlowElementReferenceOrValue(); + recordCreate.inputAssignments[0].value.stringValue = '1234'; + flow.recordCreates = new List { recordCreate }; + flow.startElementReference = 'RecordCreate'; + handleSaveResults(service.createMetadata(new List { flow })[0]); + } + + public static void readFlow() + { + MetadataService.MetadataPort service = createService(); + + // Read Flow + MetadataService.Flow flow = + (MetadataService.Flow) service.readMetadata('Flow', + new String[] { 'NewFlow-1' }).getRecords()[0]; + System.debug('Description ' + flow.description); + System.debug('Name ' + flow.RecordCreates[0].name); + System.debug('Location X ' + flow.RecordCreates[0].locationX); + System.debug('Location Y ' + flow.RecordCreates[0].locationY); + } + + public static void updateFlow() { + + MetadataService.MetadataPort service = createService(); + + // Read Flow + MetadataService.Flow flow = + (MetadataService.Flow) service.readMetadata('Flow', + new String[] { 'NewFlow-1' }).getRecords()[0]; + + // Add a new step + MetadataService.FlowScreen flowScreen = new MetadataService.FlowScreen(); + flowScreen.name = 'NewScreen'; + flowScreen.label = 'New Screen'; + flowScreen.locationX = 100; + flowScreen.locationY = 100; + flowScreen.allowBack = true; + flowScreen.allowFinish = true; + flowScreen.fields = new List(); + flowScreen.fields.add(new MetadataService.FlowScreenField()); + flowScreen.fields[0].name = 'Test_Box'; + flowScreen.fields[0].dataType = 'String'; + flowScreen.fields[0].fieldText = 'Test Box'; + flowScreen.fields[0].fieldType = 'InputField'; + flowScreen.fields[0].isRequired = true; + flow.screens = new List { flowScreen }; + + // Link it with the previous one + flow.recordCreates[0].connector = new MetadataService.FlowConnector(); + flow.recordCreates[0].connector.targetReference = 'NewScreen'; + + // Update + handleSaveResults(service.updateMetadata(new List { flow })[0]); + } + + public static void deleteFlow() { + + MetadataService.MetadataPort service = createService(); + + // Delete Flow + handleDeleteResults( + service.deleteMetadata('Flow', new String[] { 'NewFlow-1' })[0]); + } + + + public static void createFlowAdvanced() { + + MetadataService.MetadataPort service = createService(); + + // Create Flow + MetadataService.Flow flow = new MetadataService.Flow(); + flow.fullName = 'NewFlow-1'; + flow.description = 'New Flow'; + flow.label = 'New Flow'; + flow.processType = 'Flow'; + flow.startElementReference = 'NewScreen'; + + // Add a new step + MetadataService.FlowScreen flowScreen = new MetadataService.FlowScreen(); + flowScreen.name = 'NewScreen'; + flowScreen.label = 'New Screen'; + flowScreen.locationX = 100; + flowScreen.locationY = 100; + flowScreen.allowBack = true; + flowScreen.allowFinish = true; + addFields(flowScreen, + new List { + Account.AccountNumber, + Account.Description, + Account.Fax, + Account.AnnualRevenue }); + flow.screens = new List { flowScreen }; + + // Create + handleSaveResults(service.createMetadata(new List { flow })[0]); + } + + public static final Map FLOWTYPEBYDISPLAYTYPE = + new Map{ + DisplayType.anytype => 'String', + DisplayType.base64 => 'String', + DisplayType.Boolean => 'Boolean', + DisplayType.Combobox => 'String', + DisplayType.Currency => 'Currency', + DisplayType.Date => 'Date', + DisplayType.DateTime => 'DateTime', + DisplayType.Double => 'Number', + DisplayType.Email => 'String', + DisplayType.EncryptedString => 'String', + DisplayType.Id => 'String', + DisplayType.Integer => 'Number', + DisplayType.MultiPicklist => 'Multipicklist', + DisplayType.Percent => 'Number', + DisplayType.Phone => 'String', + DisplayType.Picklist => 'Picklist', + DisplayType.Reference => 'Reference', + DisplayType.String => 'String', + DisplayType.TextArea => 'String', + DisplayType.Time => 'String', + DisplayType.URL => 'String'}; + + /** + * This is for demo purposes only, it requires more work and testing to refine + **/ + public static void addFields(MetadataService.FlowScreen flowScreen, List fieldsToAdd) { + for(SObjectField field : fieldsToAdd) { + // Construct a FlowScreenField based on the SObjectField metadata + DescribeFieldResult fieldDescribe = field.getDescribe(); + // https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_visual_workflow.htm#FlowScreenField + MetadataService.FlowScreenField flowScreenField = new MetadataService.FlowScreenField(); + flowScreenField.name = fieldDescribe.getName(); + flowScreenField.dataType = FLOWTYPEBYDISPLAYTYPE.get(fieldDescribe.getType()); + flowScreenField.fieldText = fieldDescribe.getLabel(); + flowScreenField.fieldType = 'InputField'; + flowScreenField.isRequired = flowScreenField.dataType == 'Boolean' ? true : fieldDescribe.isNillable(); + flowScreenField.helpText = fieldDescribe.getInlineHelpText(); + if(flowScreenField.dataType == 'Number') { + flowScreenField.scale = fieldDescribe.getScale(); + } + // Add to Screen field list + if(flowScreen.fields==null) + flowScreen.fields = new List(); + flowScreen.fields.add(flowScreenField); + } + } + + public static void retrieveConnectedApp() { + // This only seems to work for Connected App's created in the org, not those packaged, see Workbench only created ones get listed + MetadataService.MetadataPort service = new MetadataService.MetadataPort(); + service.SessionHeader = new MetadataService.SessionHeader_element(); + service.SessionHeader.sessionId = UserInfo.getSessionId(); + MetadataService.ConnectedApp connectedApp = + (MetadataService.ConnectedApp)service.readMetadata('ConnectedApp', new String[] {'Test' }).getRecords()[0]; + system.debug('connectedApp = ' + connectedApp); + } + + public static void dumpOrgSettings() { + MetadataService.MetadataPort service = createService(); + List queries = new List(); + MetadataService.ListMetadataQuery querySettings = new MetadataService.ListMetadataQuery(); + querySettings.type_x = 'Settings'; + queries.add(querySettings); + MetadataService.FileProperties[] fileProperties = service.listMetadata(queries, 37); + for(MetadataService.FileProperties fileProperty : fileProperties) + System.debug(fileProperty.fullName); + } + + + /** + * Method cloneReport(String sFolderApiName, String sReportApiName, String tFolderApiName, String tReportApiName) + * @param sFolderApiName: api name of the (source) folder of the report to clone + * @param sReportApiName: api name of the (source) report to clone + * @param tFolderApiName: api name of the (target) folder to create the cloned report in + * @param tReportApiName: api name of the (target) cloned report + */ + public static void cloneReport(String sFolderApiName, String sReportApiName, String tFolderApiName, String tReportApiName) { + MetadataService.MetadataPort service = new MetadataService.MetadataPort(); + service.SessionHeader = new MetadataService.SessionHeader_element(); + service.SessionHeader.sessionId = UserInfo.getSessionId(); + + // Get the report to clone + MetadataService.Report reportToClone = (MetadataService.Report) service.readMetadata('Report', new String[] { sFolderApiName+'/'+sReportApiName }).getRecords()[0]; + + // Instanciate a new one to attribute the same metadata from the report to clone + MetadataService.Report apexReport = new MetadataService.Report(); + // Set the cloned report properties from parameters and the source report + apexReport.name = reportToClone.name + ' Clone'; + apexReport.fullName = tFolderApiName + '/' + tReportApiName; + apexReport.reportType = reportToClone.reportType; + apexReport.description = reportToClone.description; + apexReport.format = reportToClone.format; + apexReport.filter = reportToClone.filter; + apexReport.showDetails = reportToClone.showDetails; + apexReport.sortColumn = reportToClone.sortColumn; + apexReport.sortOrder = reportToClone.sortOrder; + apexReport.groupingsAcross = reportToClone.groupingsAcross; + apexReport.groupingsDown = reportToClone.groupingsDown; + apexReport.chart = reportToClone.chart; + apexReport.timeFrameFilter = reportToClone.timeFrameFilter; + apexReport.columns = reportToClone.columns; + + // Create the report clone + List results = service.createMetadata(new MetadataService.Metadata[] { apexReport }); + + // Handle results + handleSaveResults(results[0]); + } + + public static void updateDashboard() + { + MetadataService.MetadataPort service = createService(); + + // Read Dashboard + MetadataService.Dashboard dashboard = + (MetadataService.Dashboard) service.readMetadata('Dashboard', + new String[] { 'MyDashboards/MyDashboard' }).getRecords()[0]; + System.debug('Name ' + dashboard.fullName); + + // Update Dashboard + dashboard.title = 'My updated dashboard'; + dashboard.leftSection.components = new List(); + MetadataService.DashboardComponent newComponent = new MetadataService.DashboardComponent(); + newComponent.autoselectColumnsFromReport = true; + newComponent.componentType = 'Table'; + newComponent.displayUnits = 'Auto'; + newComponent.drillEnabled = false; + newComponent.drillToDetailEnabled = false; + newComponent.indicatorHighColor = '#54C254'; + newComponent.indicatorLowColor = '#C2C254'; + newComponent.indicatorMiddleColor = '#C2C254'; + newComponent.report = 'MyFolder/Accounts'; + newComponent.sortBy = 'RowLabelAscending'; + dashboard.leftSection.components.add(newComponent); + handleSaveResults(service.updateMetadata(new List { dashboard })[0]); + } + + /** + * Error occured processing component OrgPreference. create() not supported for OrgPreferenceSettings (FIELD_INTEGRITY_EXCEPTION). :-( + **/ + /* + public static void enableChatter() { + MetadataService.MetadataPort service = createService(); + MetadataService.OrgPreferenceSettings orgSettings = new MetadataService.OrgPreferenceSettings(); + orgSettings.preferences = new List(); + MetadataService.OrganizationSettingsDetail chatterPref = new MetadataService.OrganizationSettingsDetail(); + chatterPref.settingName = 'ChatterEnabled'; + chatterPref.settingValue = true; + orgSettings.preferences.add(chatterPref); + List results = + service.createMetadata( + new MetadataService.Metadata[] { orgSettings }); + handleSaveResults(results[0]); + + } + */ + + public class MetadataServiceExamplesException extends Exception { } + + public static MetadataService.MetadataPort createService() + { + MetadataService.MetadataPort service = new MetadataService.MetadataPort(); + service.SessionHeader = new MetadataService.SessionHeader_element(); + service.SessionHeader.sessionId = UserInfo.getSessionId(); + return service; + } + + /** + * Example helper method to interpret a SaveResult, throws an exception if errors are found + **/ + public static void handleSaveResults(MetadataService.SaveResult saveResult) + { + // Nothing to see? + if(saveResult==null || saveResult.success) + return; + // Construct error message and throw an exception + if(saveResult.errors!=null) + { + List messages = new List(); + messages.add( + (saveResult.errors.size()==1 ? 'Error ' : 'Errors ') + + 'occured processing component ' + saveResult.fullName + '.'); + for(MetadataService.Error error : saveResult.errors) + messages.add( + error.message + ' (' + error.statusCode + ').' + + ( error.fields!=null && error.fields.size()>0 ? + ' Fields ' + String.join(error.fields, ',') + '.' : '' ) ); + if(messages.size()>0) + throw new MetadataServiceExamplesException(String.join(messages, ' ')); + } + if(!saveResult.success) + throw new MetadataServiceExamplesException('Request failed with no specified error.'); + } + + /** + * Example helper method to interpret a SaveResult, throws an exception if errors are found + **/ + public static void handleDeleteResults(MetadataService.DeleteResult deleteResult) + { + // Nothing to see? + if(deleteResult==null || deleteResult.success) + return; + // Construct error message and throw an exception + if(deleteResult.errors!=null) + { + List messages = new List(); + messages.add( + (deleteResult.errors.size()==1 ? 'Error ' : 'Errors ') + + 'occured processing component ' + deleteResult.fullName + '.'); + for(MetadataService.Error error : deleteResult.errors) + messages.add( + error.message + ' (' + error.statusCode + ').' + + ( error.fields!=null && error.fields.size()>0 ? + ' Fields ' + String.join(error.fields, ',') + '.' : '' ) ); + if(messages.size()>0) + throw new MetadataServiceExamplesException(String.join(messages, ' ')); + } + if(!deleteResult.success) + throw new MetadataServiceExamplesException('Request failed with no specified error.'); + } + + /** + * Example helper method to interpret a UpsertResult, throws an exception if errors are found + **/ + public static void handleUpsertResults(MetadataService.UpsertResult upsertResult) + { + // Nothing to see? + if(upsertResult==null || upsertResult.success) + return; + // Construct error message and throw an exception + if(upsertResult.errors!=null) + { + List messages = new List(); + messages.add( + (upsertResult.errors.size()==1 ? 'Error ' : 'Errors ') + + 'occured processing component ' + upsertResult.fullName + '.'); + for(MetadataService.Error error : upsertResult.errors) + messages.add( + error.message + ' (' + error.statusCode + ').' + + ( error.fields!=null && error.fields.size()>0 ? + ' Fields ' + String.join(error.fields, ',') + '.' : '' ) ); + if(messages.size()>0) + throw new MetadataServiceExamplesException(String.join(messages, ' ')); + } + if(!upsertResult.success) + throw new MetadataServiceExamplesException('Request failed with no specified error.'); + } +} \ No newline at end of file diff --git a/sfdx-project/force-app/main/default/classes/MetadataServiceExamples.cls-meta.xml b/sfdx-project/force-app/main/default/classes/MetadataServiceExamples.cls-meta.xml new file mode 100644 index 0000000..fec71a2 --- /dev/null +++ b/sfdx-project/force-app/main/default/classes/MetadataServiceExamples.cls-meta.xml @@ -0,0 +1,5 @@ + + + 42.0 + Active + diff --git a/sfdx-project/force-app/main/default/classes/MetadataServicePatcher.cls b/sfdx-project/force-app/main/default/classes/MetadataServicePatcher.cls new file mode 100644 index 0000000..6347099 --- /dev/null +++ b/sfdx-project/force-app/main/default/classes/MetadataServicePatcher.cls @@ -0,0 +1,647 @@ +/** + * Copyright (c) 2014, FinancialForce.com, inc + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * - Neither the name of the FinancialForce.com, inc nor the names of its contributors + * may be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +**/ + +/** +This patch script performs the following changes to the default WSDL2Apex tool output + +- Modify the end point to be dynamic + - public String endpoint_x = URL.getOrgDomain().toExternalForm() + '/services/Soap/m/28.0'; +- Make 'Metadata' inner class 'virtual' +- Make 'MetadataWithContent' inner class 'virtual' +- Review WSDL for types that extend 'tns:Metadata' and update related Apex classes to also extend Metadata +- Review WSDL for types that extend 'tns:MetadataWithContent' and update related Apex classes to also extend MetadataWithContent +- Apply the following to each class that extends Metadata, e.g. for CustomObject + Add the following at the top of the class + public String type = 'CustomObject'; + public String fullName; + Add the following at the top of the private static members + private String[] type_att_info = new String[]{'xsi:type'}; + private String[] fullName_type_info = new String[]{'fullName','http://www.w3.org/2001/XMLSchema','string','0','1','false'}; + Add 'fullName' as the first item in the field_order_type_info String array, e.g. + private String[] field_order_type_info = new String[]{'fullName', 'actionOverrides' …. 'webLinks'}; +- Apply the following to each class that extends MetadataWithContent, e.g. for ApexPage + Add the following after 'fullName' + public String content; + Add the following after 'fullName_type_info' + private String[] content_type_info = new String[]{'content','http://www.w3.org/2001/XMLSchema','base64Binary','0','1','false'}; + Add 'content' after 'fullName' in the field_order_type_info String array, e.g. + private String[] field_order_type_info = new String[]{'fullName', 'content', 'apiVersion','description','label','packageVersions'}; +- Patches the readMetadata operaton with a revised version returning IReadResult + (this supports the polymorphic responses returned by the readMetadata operation) +- Injects IReadResult and IReadResultResponse interfaces +- Injects implementations of each of these interfaces to support the revised readMetadata option +**/ + +/** + * See the README file for instructions on how to use this class should + * should you want to generate your own MetadataService.cls instead of using the one supplied + **/ +public with sharing class MetadataServicePatcher { + + private static final String API_VERSION = '42.0'; + + // List of classes to modify so that they extend appropirte base class (parse WSDL in future?) + private static final Map METADATA_TYPES = + new Map { + 'CustomSite' => 'Metadata', + 'ListView' => 'Metadata', + 'InstalledPackage' => 'Metadata', + 'CustomField' => 'Metadata', + 'FieldSet' => 'Metadata', + 'PicklistValue' => 'Metadata', + 'RecordType' => 'Metadata', + 'WebLink' => 'Metadata', + 'AddressSettings' => 'Metadata', + 'CaseSettings' => 'Metadata', + 'CustomObject' => 'Metadata', + 'Layout' => 'Metadata', + 'EmailTemplate' => 'MetadataWithContent', + 'Scontrol' => 'MetadataWithContent', + 'ApexPage' => 'MetadataWithContent', + 'ApexComponent' => 'MetadataWithContent', + 'ApexClass' => 'MetadataWithContent', + 'ApexTrigger' => 'MetadataWithContent', + 'StaticResource' => 'MetadataWithContent', + 'Document' => 'MetadataWithContent', + 'CustomLabels' => 'Metadata', + 'CustomLabel' => 'Metadata', + 'AccountSettings' => 'Metadata', + 'Queue' => 'Metadata', + 'CustomDataType' => 'Metadata', + 'ExternalDataSource' => 'Metadata', + 'Group_x' => 'Metadata', + 'BusinessProcess' => 'Metadata', + 'CompactLayout' => 'Metadata', + 'SharingReason' => 'Metadata', + 'ValidationRule' => 'Metadata', + 'WebLink' => 'Metadata', + 'ReportType' => 'Metadata', + 'Report' => 'Metadata', + 'Dashboard' => 'Metadata', + 'AnalyticSnapshot' => 'Metadata', + 'AnalyticSnapshot' => 'Metadata', + 'CustomPageWebLink' => 'Metadata', + 'QuickAction' => 'Metadata', + 'FlexiPage' => 'Metadata', + 'CustomTab' => 'Metadata', + 'CustomApplicationComponent' => 'Metadata', + 'CustomApplication' => 'Metadata', + 'Portal' => 'Metadata', + 'Letterhead' => 'Metadata', + 'Flow' => 'Metadata', + 'Workflow' => 'Metadata', + 'WorkflowRule' => 'Metadata', + 'AssignmentRules' => 'Metadata', + 'AssignmentRule' => 'Metadata', + 'AutoResponseRules' => 'Metadata', + 'AutoResponseRule' => 'Metadata', + 'EscalationRules' => 'Metadata', + 'EscalationRule' => 'Metadata', + 'PostTemplate' => 'Metadata', + 'ApprovalProcess' => 'Metadata', + 'HomePageComponent' => 'Metadata', + 'HomePageLayout' => 'Metadata', + 'CustomObjectTranslation' => 'Metadata', + 'Translations' => 'Metadata', + 'Profile' => 'Metadata', + 'PermissionSet' => 'Metadata', + 'DataCategoryGroup' => 'Metadata', + 'RemoteSiteSetting' => 'Metadata', + 'Package_x' => 'Metadata', + 'AuthProvider' => 'Metadata', + 'CustomSite' => 'Metadata', + 'KnowledgeSettings' => 'Metadata', + 'SharingSet' => 'Metadata', + 'SecuritySettings' => 'Metadata', + 'IdeasSettings' => 'Metadata', + 'ChatterAnswersSettings' => 'Metadata', + 'Community' => 'Metadata', + 'ActivitiesSettings' => 'Metadata', + 'ContractSettings' => 'Metadata', + 'OrderSettings' => 'Metadata', + 'OpportunitySettings' => 'Metadata', + 'ProductSettings' => 'Metadata', + 'QuoteSettings' => 'Metadata', + 'CallCenter' => 'Metadata', + 'EntitlementProcess' => 'Metadata', + 'MilestoneType' => 'Metadata', + 'EntitlementTemplate' => 'Metadata', + 'EntitlementSettings' => 'Metadata', + 'BusinessHoursSettings' => 'Metadata', + 'BusinessHoursEntry' => 'Metadata', + 'CaseSettings' => 'Metadata', + 'ConnectedApp' => 'Metadata', + 'AppMenu' => 'Metadata', + 'MobileSettings' => 'Metadata', + 'Network' => 'Metadata', + 'CompanySettings' => 'Metadata', + 'ForecastingSettings' => 'Metadata', + 'SamlSsoConfig' => 'Metadata', + 'LiveAgentSettings' => 'Metadata', + 'Skill' => 'Metadata', + 'LiveChatDeployment' => 'Metadata', + 'LiveChatButton' => 'Metadata', + 'LiveChatAgentConfig' => 'Metadata', + 'SynonymDictionary' => 'Metadata', + 'Folder' => 'Metadata', + 'ReportFolder' => 'Folder', + 'DashboardFolder' => 'Folder', + 'DocumentFolder' => 'Folder', + 'EmailFolder' => 'Folder', + 'RoleOrTerritory' => 'Metadata', + 'WorkflowAction' => 'Metadata', + 'SiteDotCom' => 'MetadataWithContent', + 'WorkflowTask' => 'WorkflowAction', + 'WorkflowSend' => 'WorkflowAction', + 'WorkflowOutboundMessage' => 'WorkflowAction', + 'WorkflowKnowledgePublish' => 'WorkflowAction', + 'WorkflowFieldUpdate' => 'WorkflowAction', + 'WorkflowAlert' => 'WorkflowAction', + 'WorkflowAction' => 'Metadata', + 'VisualizationPlugin' => 'Metadata', + 'CustomMetadata' => 'Metadata', + 'NameSettings' => 'Metadata', + 'MarketingActionSettings' => 'Metadata', + 'CustomPermission' => 'Metadata', + 'AuraDefinitionBundle' => 'Metadata', + 'CorsWhitelistOrigin' => 'Metadata', + 'ManagedTopics' => 'Metadata', + 'Territory2' => 'Metadata', + 'Territory2Model' => 'Metadata', + 'Territory2Settings' => 'Metadata', + 'Territory2Type' => 'Metadata', + 'XOrgHub' => 'Metadata', + 'ActionLinkGroupTemplate' => 'Metadata', + 'LicenseDefinition' => 'Metadata', + 'MarketingResourceType' => 'Metadata', + 'MatchingRule' => 'Metadata', + 'MatchingRules' => 'Metadata', + 'NamedCredential' => 'Metadata', + 'PersonalJourneySettings' => 'Metadata', + 'SharingRules' => 'Metadata', + 'SharingBaseRule' => 'Metadata', + 'SharingCriteriaRule' => 'SharingBaseRule', + 'SharingOwnerRule' => 'SharingBaseRule', + 'SharingTerritoryRule' => 'SharingBaseRule', + 'FlowElement' => 'FlowBaseElement', + 'FlowNode' => 'FlowElement', + 'FlowActionCall' => 'FlowNode', + 'FlowApexPluginCall' => 'FlowNode', + 'FlowAssignment' => 'FlowNode', + 'FlowDecision' => 'FlowNode', + 'FlowLoop' => 'FlowNode', + 'FlowRecordCreate' => 'FlowNode', + 'FlowRecordDelete' => 'FlowNode', + 'FlowRecordLookup' => 'FlowNode', + 'FlowRecordUpdate' => 'FlowNode', + 'FlowScreen' => 'FlowNode', + 'FlowStep' => 'FlowNode', + 'FlowSubflow' => 'FlowNode', + 'FlowWait' => 'FlowNode', + 'FlowActionCall' => 'FlowNode', + 'FlowChoice' => 'FlowElement', + 'FlowConstant' => 'FlowElement', + 'FlowDynamicChoiceSet' => 'FlowElement', + 'FlowFormula' => 'FlowElement', + 'FlowRule' => 'FlowElement', + 'FlowScreenField' => 'FlowElement', + 'FlowTextTemplate' => 'FlowElement', + 'FlowVariable' => 'FlowElement', + 'FlowWaitEvent' => 'FlowElement', + 'FlowActionCallInputParameter' => 'FlowBaseElement', + 'FlowActionCallOutputParameter' => 'FlowBaseElement', + 'FlowApexPluginCallInputParameter' => 'FlowBaseElement', + 'FlowApexPluginCallOutputParameter' => 'FlowBaseElement', + 'FlowAssignmentItem' => 'FlowBaseElement', + 'FlowChoiceUserInput' => 'FlowBaseElement', + 'FlowCondition' => 'FlowBaseElement', + 'FlowConnector' => 'FlowBaseElement', + 'FlowInputFieldAssignment' => 'FlowBaseElement', + 'FlowOutputFieldAssignment' => 'FlowBaseElement', + 'FlowRecordFilter' => 'FlowBaseElement', + 'FlowSubflowInputAssignment' => 'FlowBaseElement', + 'FlowSubflowOutputAssignment' => 'FlowBaseElement', + 'FlowWaitEventInputParameter' => 'FlowBaseElement', + 'FlowWaitEventOutputParameter' => 'FlowBaseElement', + 'MetadataWithContent' => 'Metadata', + 'DelegateGroup' => 'Metadata', + 'EventDelivery' => 'Metadata', + 'EventSubscription' => 'Metadata', + 'EventType' => 'Metadata', + 'Certificate' => 'MetadataWithContent', + 'ModerationRule' => 'Metadata', + 'WaveApplication' => 'Metadata', + 'WaveDataset' => 'Metadata', + 'WaveDashboard' => 'MetadataWithContent', + 'WaveDataflow' => 'MetadataWithContent', + 'WaveLens' => 'MetadataWithContent', + 'OrgPreferenceSettings' => 'Metadata', + 'SearchSettings' => 'Metadata', + 'GlobalValueSet' => 'Metadata', + 'GlobalPicklistValue' => 'Metadata', + 'PicklistValue' => 'GlobalPicklistValue', + 'StandardValueSet' => 'Metadata', + 'StandardValue' => 'CustomValue', + 'CustomValue' => 'Metadata', + 'ApexTestSuite' => 'Metadata', + 'ChannelLayout' => 'Metadata', + 'ContentAsset' => 'Metadata', + 'EmailServicesFunction' => 'Metadata', + 'EmbeddedServiceBranding' => 'Metadata', + 'EmbeddedServiceConfig' => 'Metadata', + 'EmbeddedServiceLiveAgent' => 'Metadata', + 'CaseSubjectParticle' => 'Metadata', + 'NetworkBranding' => 'MetadataWithContent', + 'SocialCustomerServiceSettings' => 'Metadata', + 'TopicsForObjects' => 'Metadata', + 'BrandingSet' => 'Metadata', + 'ProfilePasswordPolicy' => 'Metadata', + 'ProfileSessionSetting' => 'Metadata', + 'CspTrustedSite' => 'Metadata', + 'EclairGeoData' => 'MetadataWithContent', + 'ExternalServiceRegistration' => 'Metadata', + 'FileUploadAndDownloadSecuritySettings' => 'Metadata', + 'LeadConvertSettings' => 'Metadata', + 'UserCriteria' => 'Metadata', + 'Wavexmd' => 'Metadata' + }; // TODO: Inheritance modifications for Role and Custom Shortcut + + // List of base types to prescan for merging into derived types + private static final Set METADATA_BASE_TYPES = new Set(METADATA_TYPES.values()); + + public static void patch() + { + // Query the Apex Class generated by the platform WSDL to Apex generator + ApexClass apexClass = + [select Id, Body + from ApexClass + where Name = 'MetadataServiceImported']; + + // Read base types + Map> typeBodyByBaseClass = new Map>(); + LineReader lineReader = new LineReader(apexClass.Body); + while(lineReader.hasNext()) + { + // Read line + String line = lineReader.next(); + String trimmedLine = line.trim(); + // Class definition? + if(trimmedLine.startsWith('public class')) + { + List parts = trimmedLine.split(' '); + String className = parts[2]; + // Capture the body of this base type to later inject into another deriving type + if(METADATA_BASE_TYPES.contains(className)) { + List baseTypeLines = new List(); + typeBodyByBaseClass.put(className, baseTypeLines); + // Move forward until field_order_type_info member + while(lineReader.hasNext()) + { + line = (String) lineReader.next(); + // Adjust class name? + if(line.contains('MetadataServiceImported')) + line = line.replace('MetadataServiceImported', 'MetadataService'); + // Recording content of type for inclusion in deriving types + baseTypeLines.add(line); + // Stop here + if(line.trim().startsWith('private String[] field_order_type_info')) + break; + } + } + } + } + + // Process and scan for lines to modify and/or insert + lineReader = new LineReader(apexClass.Body); + List newLines = new List(); + addCopyright(newLines); + newLines.add(''); + newLines.add('//Patched by MetadataServicePatcher v' + API_VERSION + ' ' + System.today()); + newLines.add(''); + while(lineReader.hasNext()) + { + // Read line + String line = lineReader.next(); + String trimmedLine = line.trim(); + // Adjust class name? + if(trimmedLine.contains('MetadataServiceImported')) + line = line.replace('MetadataServiceImported', 'MetadataService'); + // Adjust end point logic? + if(trimmedLine.startsWith('public String endpoint_x')) + line = ' public String endpoint_x = URL.getOrgDomain().toExternalForm() + \'/services/Soap/m/' + API_VERSION + '\';'; + // Adjust update_x method name? + else if(trimmedLine.contains('update_x(')) + line = line.replace('update_x', 'updateMetadata'); + // Adjust delete_x method name? + else if(trimmedLine.contains('delete_x(')) + line = line.replace('delete_x', 'deleteMetadata'); + // Adjust retrieve_x method name? + else if(trimmedLine.contains('retrieve_x(')) + line = line.replace('retrieve_x', 'retrieve'); + // Make Metadata virtual? + else if(trimmedLine.startsWith('public class Metadata ')) { + line = line.replace('public class', 'public virtual class'); + newLines.add(line); + while(lineReader.hasNext()) + { + line = (String) lineReader.next(); + trimmedLine = line.trim(); + // Skip these, not needed as duplciated in derived classes and cause JSON serialise issues for types + if(line.contains('fullName_type_info') || + line.contains('apex_schema_type_info') || + line.contains('field_order_type_info')) + continue; + newLines.add(line); + if(trimmedLine == '}') + break; + } + continue; + } + // Add interfaces to read? + else if(trimmedLine.startsWith('public class ReadResult')) + { + newlines.add(' public interface IReadResult {'); + newlines.add(' MetadataService.Metadata[] getRecords();'); + newlines.add(' }'); + newlines.add(' public interface IReadResponseElement {'); + newlines.add(' IReadResult getResult();'); + newlines.add(' }'); + for(String metadataType : METADATA_TYPES.keySet()) + { + // Only emit for types extending Metadata or MetadataWithContent + String baseClass = METADATA_TYPES.get(metadataType); + while(baseClass!=null) { + if(baseClass == 'Metadata' || baseClass=='MetadataWithContent') + break; + baseClass = METADATA_TYPES.get(baseClass); + } + if(baseClass == 'Metadata' || baseClass=='MetadataWithContent') { + String apexClassType = metadataType; + if(metadataType == 'Group_x') + apexClassType = 'Group'; + else if(metadataType == 'Package_x') + apexClassType = 'Package'; + newlines.add(' public class Read'+apexClassType+'Result implements IReadResult {'); + newlines.add(' public MetadataService.'+metadataType+'[] records;'); + newlines.add(' public MetadataService.Metadata[] getRecords() { return records; }'); + newlines.add(' private String[] records_type_info = new String[]{\'records\',\'http://soap.sforce.com/2006/04/metadata\',null,\'0\',\'-1\',\'false\'};'); + newlines.add(' private String[] apex_schema_type_info = new String[]{\'http://soap.sforce.com/2006/04/metadata\',\'true\',\'false\'};'); + newlines.add(' private String[] field_order_type_info = new String[]{\'records\'};'); + newlines.add(' }'); + newlines.add(' public class read'+apexClassType+'Response_element implements IReadResponseElement {'); + newlines.add(' public MetadataService.Read'+apexClassType+'Result result;'); + newlines.add(' public IReadResult getResult() { return result; }'); + newlines.add(' private String[] result_type_info = new String[]{\'result\',\'http://soap.sforce.com/2006/04/metadata\',null,\'1\',\'1\',\'false\'};'); + newlines.add(' private String[] apex_schema_type_info = new String[]{\'http://soap.sforce.com/2006/04/metadata\',\'true\',\'false\'};'); + newlines.add(' private String[] field_order_type_info = new String[]{\'result\'};'); + newlines.add(' }'); + } + } + } + // readMetadata method? + else if(trimmedLine.startsWith('public MetadataServiceImported.ReadResult readMetadata(String type_x,String[] fullNames) {')) + { + // Swallow up the generated readMetadata method + while(lineReader.hasNext()) + { + line = (String) lineReader.next(); + trimmedLine = line.trim(); + if(trimmedLine == '}') + break; + } + // Emit the new readMetadata method returnin the IReadResult interface + newlines.add(' public MetadataService.IReadResult readMetadata(String type_x,String[] fullNames) {'); + newlines.add(' MetadataService.readMetadata_element request_x = new MetadataService.readMetadata_element();'); + newlines.add(' request_x.type_x = type_x;'); + newlines.add(' request_x.fullNames = fullNames;'); + newlines.add(' MetadataService.IReadResponseElement response_x;'); + newlines.add(' Map response_map_x = new Map();'); + newlines.add(' response_map_x.put(\'response_x\', response_x);'); + newlines.add(' WebServiceCallout.invoke('); + newlines.add(' this,'); + newlines.add(' request_x,'); + newlines.add(' response_map_x,'); + newlines.add(' new String[]{endpoint_x,'); + newlines.add(' \'\','); + newlines.add(' \'http://soap.sforce.com/2006/04/metadata\','); + newlines.add(' \'readMetadata\','); + newlines.add(' \'http://soap.sforce.com/2006/04/metadata\','); + newlines.add(' \'readMetadataResponse\','); + newlines.add(' \'MetadataService.read\' + type_x + \'Response_element\'}'); + newlines.add(' );'); + newlines.add(' response_x = response_map_x.get(\'response_x\');'); + newlines.add(' return response_x.getResult();'); + } + // Class definition? + else if(trimmedLine.startsWith('public class')) + { + List parts = trimmedLine.split(' '); + String className = parts[2]; + // Processing a base type? + if(METADATA_BASE_TYPES.contains(className)) { + String extendsClassName = METADATA_TYPES.get(className); + line = line.replace('public class ' + className, + extendsClassName!=null ? + 'public virtual class ' + className + ' extends ' + extendsClassName : + 'public virtual class ' + className); + newLines.add(line); + while(lineReader.hasNext()) + { + line = (String) lineReader.next(); + trimmedLine = line.trim(); + // Skip these, not needed as duplciated in derived classes and cause JSON serialise issues for types + if(trimmedLine.startsWith('private String[]')) + continue; + newLines.add(line); + if(trimmedLine == '}') + break; + } + continue; + } + // Processing a top level type which has a base type? + else if(METADATA_TYPES.containsKey(className)) + { + // Adjust class to extend base class and add base class members (XML serialiser does not support inheritance) + String extendsClassName = METADATA_TYPES.get(className); + line = line.replace('public class ' + className, + METADATA_BASE_TYPES.contains(className) ? + 'public virtual class ' + className + ' extends ' + extendsClassName : + 'public class ' + className + ' extends ' + extendsClassName); + newLines.add(line); + newLines.add(' public String type = \'' + className + '\';'); + // Keep going all the way down to the last base class + List fieldOrderTypeInfoFromBaseType = new List(); + List baseTypes = new List(); + String baseClassName = extendsClassName; + while (baseClassName!=null) { + baseTypes.add(baseClassName); + baseClassName = METADATA_TYPES.get(baseClassName); + } + // Merge base class members from the base class upwards + for(Integer idx = baseTypes.size()-1; ; idx--) { + baseClassName = baseTypes[idx]; + for(String baseClassLine : typeBodyByBaseClass.get(baseClassName)) { + // Skip this base class member as the top level derived type will have one + if(baseClassLine.contains('apex_schema_type_info')) + continue; + // Extract the field order type info list to add to the dervived type one + if(baseClassLine.contains('field_order_type_info')) + { + // Extract the list of base type fields + if(baseClassLine.indexOf('\'')>0) { + fieldOrderTypeInfoFromBaseType.add( + baseClassLine.substring( + baseClassLine.indexOf('\''), + baseClassLine.lastIndexOf('\'')+1)); + } + // Skip it as the top level derived type will have one + continue; + } + newLines.add(baseClassLine); + } + if(idx==0) + break; + } + // Move forward until field_order_type_info member + while(lineReader.hasNext()) + { + line = (String) lineReader.next(); + trimmedLine = line.trim(); + // Adjust class name? + if(trimmedLine.contains('MetadataServiceImported')) + line = line.replace('MetadataServiceImported', 'MetadataService'); + // Adjust the fields listed in the field_order_type_info metadata + if(trimmedLine.startsWith('private String[] field_order_type_info')) + { + // Add type info descriptors and adjust field_order_type_info list + newLines.add(' private String[] type_att_info = new String[]{\'xsi:type\'};'); + String newFieldOrderType = + fieldOrderTypeInfoFromBaseType.size()>0 ? + String.join(fieldOrderTypeInfoFromBaseType, ',') : ''; + if(line.endsWith('new String[]{};')) + line = line.replace('new String[]{', 'new String[]{' + newFieldOrderType); + else + line = line.replace('new String[]{', 'new String[]{' + newFieldOrderType + ', '); + newLines.add(line); + break; + } + newLines.add(line); + } + continue; + } + } + newLines.add(line); + } + String patchClass = String.join(newLines, '\n'); + + // Upload the generated code to a Document + // (this can be included in a MavensMate or Eclipse project for easy access via Refresh from Server) + List docs = [select Id from Document where DeveloperName = 'MetadataServicePatchedCopy']; + Document generatedCode = docs.size()>0 ? docs[0] : new Document(); + generatedCode.Name = 'MetadataService'; + generatedCode.Body = Blob.valueOf(patchClass); + generatedCode.DeveloperName = 'MetadataServicePatchedCopy'; + generatedCode.FolderId = [select Id from Folder where DeveloperName = 'MetadataServicePatcher'].Id; + if(generatedCode.Id == null) + insert generatedCode; + else + update generatedCode; + } + + public class PatchException extends Exception { } + + /** + * Utility class to iterate over lines in Apex source code + **/ + public class LineReader + implements Iterator, Iterable + { + private String LF = '\n'; + + private String textData; + + public LineReader(String textData) + { + this.textData = textData; + } + + public Boolean hasNext() + { + return textData.length() > 0 ? true : false; + } + + public String next() + { + String row = null; + Integer endPos = textData.indexOf(LF); + if(endPos == -1) + { + row = textData; + textData = ''; + } + else + { + row = textData.subString(0, endPos); + textData = textData.subString(endPos + LF.length(), textData.length()); + } + return row; + } + + public Iterator Iterator() + { + return this; + } + } + + private static void addCopyright(List lines) + { + lines.add('/**'); + lines.add(' * Copyright (c), FinancialForce.com, inc'); + lines.add(' * All rights reserved.'); + lines.add(' *'); + lines.add(' * Redistribution and use in source and binary forms, with or without modification,'); + lines.add(' * are permitted provided that the following conditions are met:'); + lines.add(' *'); + lines.add(' * - Redistributions of source code must retain the above copyright notice,'); + lines.add(' * this list of conditions and the following disclaimer.'); + lines.add(' * - Redistributions in binary form must reproduce the above copyright notice,'); + lines.add(' * this list of conditions and the following disclaimer in the documentation'); + lines.add(' * and/or other materials provided with the distribution.'); + lines.add(' * - Neither the name of the FinancialForce.com, inc nor the names of its contributors'); + lines.add(' * may be used to endorse or promote products derived from this software without'); + lines.add(' * specific prior written permission.'); + lines.add(' *'); + lines.add(' * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND'); + lines.add(' * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES'); + lines.add(' * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL'); + lines.add(' * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,'); + lines.add(' * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS'); + lines.add(' * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY'); + lines.add(' * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)'); + lines.add(' * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.'); + lines.add('**/'); + } +} diff --git a/sfdx-project/force-app/main/default/classes/MetadataServicePatcher.cls-meta.xml b/sfdx-project/force-app/main/default/classes/MetadataServicePatcher.cls-meta.xml new file mode 100644 index 0000000..fec71a2 --- /dev/null +++ b/sfdx-project/force-app/main/default/classes/MetadataServicePatcher.cls-meta.xml @@ -0,0 +1,5 @@ + + + 42.0 + Active + diff --git a/sfdx-project/force-app/main/default/classes/MetadataServiceTest.cls b/sfdx-project/force-app/main/default/classes/MetadataServiceTest.cls new file mode 100644 index 0000000..695e321 --- /dev/null +++ b/sfdx-project/force-app/main/default/classes/MetadataServiceTest.cls @@ -0,0 +1,1359 @@ +/** + * Copyright (c) 2012, FinancialForce.com, inc + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * - Neither the name of the FinancialForce.com, inc nor the names of its contributors + * may be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +**/ + +/** + * This is a dummy test class to obtain 100% coverage for the generated WSDL2Apex code, it is not a funcitonal test class + **/ +@isTest +private class MetadataServiceTest +{ + /** + * Dummy Metadata API web service mock class (see MetadataCreateJobTest.cls for a better example) + **/ + private class WebServiceMockImpl implements WebServiceMock + { + public void doInvoke( + Object stub, Object request, Map response, + String endpoint, String soapAction, String requestName, + String responseNS, String responseName, String responseType) + { + if(request instanceof MetadataService.retrieve_element) + response.put('response_x', new MetadataService.retrieveResponse_element()); + else if(request instanceof MetadataService.checkDeployStatus_element) + response.put('response_x', new MetadataService.checkDeployStatusResponse_element()); + else if(request instanceof MetadataService.listMetadata_element) + response.put('response_x', new MetadataService.listMetadataResponse_element()); + else if(request instanceof MetadataService.checkRetrieveStatus_element) + response.put('response_x', new MetadataService.checkRetrieveStatusResponse_element()); + else if(request instanceof MetadataService.describeMetadata_element) + response.put('response_x', new MetadataService.describeMetadataResponse_element()); + else if(request instanceof MetadataService.deploy_element) + response.put('response_x', new MetadataService.deployResponse_element()); + else if(request instanceof MetadataService.updateMetadata_element) + response.put('response_x', new MetadataService.updateMetadataResponse_element()); + else if(request instanceof MetadataService.renameMetadata_element) + response.put('response_x', new MetadataService.renameMetadataResponse_element()); + else if(request instanceof MetadataService.cancelDeploy_element) + response.put('response_x', new MetadataService.cancelDeployResponse_element()); + else if(request instanceof MetadataService.deleteMetadata_element) + response.put('response_x', new MetadataService.deleteMetadataResponse_element()); + else if(request instanceof MetadataService.upsertMetadata_element) + response.put('response_x', new MetadataService.upsertMetadataResponse_element()); + else if(request instanceof MetadataService.createMetadata_element) + response.put('response_x', new MetadataService.createMetadataResponse_element()); + else if(request instanceof MetadataService.deployRecentValidation_element) + response.put('response_x', new MetadataService.deployRecentValidationResponse_element()); + else if(request instanceof MetadataService.describeValueType_element) + response.put('response_x', new MetadataService.describeValueTypeResponse_element()); + else if(request instanceof MetadataService.checkRetrieveStatus_element) + response.put('response_x', new MetadataService.checkRetrieveStatusResponse_element()); + return; + } + } + + @IsTest + private static void coverGeneratedCodeCRUDOperations() + { + // Null Web Service mock implementation + System.Test.setMock(WebServiceMock.class, new WebServiceMockImpl()); + // Only required to workaround a current code coverage bug in the platform + MetadataService metaDataService = new MetadataService(); + // Invoke operations + Test.startTest(); + MetadataService.MetadataPort metaDataPort = new MetadataService.MetadataPort(); + Test.stopTest(); + } + + @IsTest + private static void coverGeneratedCodeFileBasedOperations1() + { + // Null Web Service mock implementation + System.Test.setMock(WebServiceMock.class, new WebServiceMockImpl()); + // Only required to workaround a current code coverage bug in the platform + MetadataService metaDataService = new MetadataService(); + // Invoke operations + Test.startTest(); + MetadataService.MetadataPort metaDataPort = new MetadataService.MetadataPort(); + metaDataPort.retrieve(null); + metaDataPort.checkDeployStatus(null, false); + metaDataPort.listMetadata(null, null); + metaDataPort.describeMetadata(null); + metaDataPort.deploy(null, null); + metaDataPort.checkDeployStatus(null, false); + metaDataPort.updateMetadata(null); + metaDataPort.renameMetadata(null, null, null); + metaDataPort.cancelDeploy(null); + Test.stopTest(); + } + + @IsTest + private static void coverGeneratedCodeFileBasedOperations2() + { + // Null Web Service mock implementation + System.Test.setMock(WebServiceMock.class, new WebServiceMockImpl()); + // Only required to workaround a current code coverage bug in the platform + MetadataService metaDataService = new MetadataService(); + // Invoke operations + Test.startTest(); + MetadataService.MetadataPort metaDataPort = new MetadataService.MetadataPort(); + metaDataPort.deleteMetadata(null, null); + metaDataPort.upsertMetadata(null); + metaDataPort.createMetadata(null); + metaDataPort.deployRecentValidation(null); + metaDataPort.describeValueType(null); + metaDataPort.checkRetrieveStatus(null, null); + Test.stopTest(); + } + + @IsTest + private static void coverGeneratedCodeTypes() + { + // Reference types + Test.startTest(); + new MetadataService(); + new MetadataService.listMetadataResponse_element(); + new MetadataService.WorkflowRule(); + new MetadataService.RecordTypeTranslation(); + new MetadataService.checkDeployStatus_element(); + new MetadataService.CodeCoverageWarning(); + new MetadataService.FlowApexPluginCall(); + new MetadataService.FlowInputValidationRule(); + new MetadataService.FlowFormula(); + new MetadataService.PasswordPolicies(); + new MetadataService.QueueSobject(); + new MetadataService.PicklistValueTranslation(); + new MetadataService.CustomDataType(); + new MetadataService.PrimaryTabComponents(); + new MetadataService.WorkflowEmailRecipient(); + new MetadataService.DescribeMetadataResult(); + new MetadataService.RecordType(); + new MetadataService.Scontrol(); + new MetadataService.DashboardComponent(); + new MetadataService.FilterItem(); + new MetadataService.Profile(); + new MetadataService.ReportFilter(); + new MetadataService.PermissionSetApexClassAccess(); + new MetadataService.LogInfo(); + new MetadataService.Layout(); + new MetadataService.WebLink(); + new MetadataService.WorkflowTaskTranslation(); + new MetadataService.FlowElement(); + new MetadataService.ObjectNameCaseValue(); + new MetadataService.FlowInputFieldAssignment(); + new MetadataService.CustomDataTypeTranslation(); + new MetadataService.DashboardComponentSection(); + new MetadataService.ReportTypeColumn(); + new MetadataService.CallOptions_element(); + new MetadataService.CustomFieldTranslation(); + new MetadataService.AnalyticSnapshot(); + new MetadataService.FlowRule(); + new MetadataService.FlowRecordUpdate(); + new MetadataService.CustomSite(); + new MetadataService.ReportBlockInfo(); + new MetadataService.describeMetadataResponse_element(); + new MetadataService.ScontrolTranslation(); + new MetadataService.DeployMessage(); + new MetadataService.FlowSubflowInputAssignment(); + new MetadataService.Group_x(); + new MetadataService.ReportColumn(); + new MetadataService.ReportType(); + new MetadataService.CustomPageWebLink(); + new MetadataService.CodeCoverageResult(); + new MetadataService.ApexComponent(); + new MetadataService.WorkflowKnowledgePublish(); + new MetadataService.NetworkAccess(); + new MetadataService.Workflow(); + new MetadataService.RecordTypePicklistValue(); + new MetadataService.describeMetadata_element(); + new MetadataService.DashboardFilterColumn(); + new MetadataService.FlowChoice(); + new MetadataService.ReportParam(); + new MetadataService.RoleOrTerritory(); + new MetadataService.FlowStep(); + new MetadataService.FlowApexPluginCallInputParameter(); + new MetadataService.WorkflowActionReference(); + new MetadataService.ProfileObjectPermissions(); + new MetadataService.Role(); + new MetadataService.RetrieveResult(); + new MetadataService.SecuritySettings(); + new MetadataService.WorkflowTimeTrigger(); + new MetadataService.retrieve_element(); + new MetadataService.DescribeMetadataObject(); + new MetadataService.DashboardFilterOption(); + new MetadataService.LayoutColumn(); + new MetadataService.WorkflowOutboundMessage(); + new MetadataService.RunTestSuccess(); + new MetadataService.Queue(); + new MetadataService.ListViewFilter(); + new MetadataService.CustomField(); + new MetadataService.WorkflowTask(); + new MetadataService.deployResponse_element(); + new MetadataService.DataCategory(); + new MetadataService.FlowOutputFieldAssignment(); + new MetadataService.EmailTemplate(); + new MetadataService.ReportAggregateReference(); + new MetadataService.ObjectUsage(); + new MetadataService.FileProperties(); + new MetadataService.CustomTabTranslation(); + new MetadataService.BusinessProcess(); + new MetadataService.Flow(); + new MetadataService.PermissionSet(); + new MetadataService.PermissionSetObjectPermissions(); + new MetadataService.ReportCrossFilter(); + new MetadataService.Report(); + new MetadataService.FlowSubflowOutputAssignment(); + new MetadataService.ListView(); + new MetadataService.FlowRecordCreate(); + new MetadataService.DashboardTableColumn(); + new MetadataService.AsyncResult(); + new MetadataService.ArticleTypeChannelDisplay(); + new MetadataService.checkRetrieveStatus_element(); + new MetadataService.ProfileLayoutAssignment(); + new MetadataService.ReportFolder(); + new MetadataService.FlowTextTemplate(); + new MetadataService.RelatedListItem(); + new MetadataService.FlowNode(); + new MetadataService.RetrieveRequest(); + new MetadataService.ListMetadataQuery(); + new MetadataService.FlowConnector(); + new MetadataService.CustomApplicationComponent(); + new MetadataService.FlowRecordLookup(); + new MetadataService.FieldSet(); + new MetadataService.ProfileApexClassAccess(); + new MetadataService.DebuggingHeader_element(); + new MetadataService.CustomDataTypeComponentTranslation(); + new MetadataService.FlowRecordDelete(); + new MetadataService.FlowDecision(); + new MetadataService.ReportTypeSectionTranslation(); + new MetadataService.IpRange(); + new MetadataService.FlowApexPluginCallOutputParameter(); + new MetadataService.ReportBucketField(); + new MetadataService.CustomLabel(); + new MetadataService.Attachment(); + new MetadataService.SharingRules(); + new MetadataService.CustomConsoleComponents(); + new MetadataService.Portal(); + //new MetadataService.DomainWhitelist(); + new MetadataService.ChartSummary(); + new MetadataService.RunTestFailure(); + new MetadataService.Territory(); + new MetadataService.SharedTo(); + new MetadataService.FlowRecordFilter(); + new MetadataService.SubtabComponents(); + new MetadataService.FlowScreen(); + new MetadataService.WorkflowAlert(); + new MetadataService.Picklist(); + new MetadataService.ReportLayoutSection(); + new MetadataService.SummaryLayoutItem(); + new MetadataService.LayoutSection(); + new MetadataService.ReportTimeFrameFilter(); + new MetadataService.LayoutSectionTranslation(); + new MetadataService.DataCategoryGroup(); + new MetadataService.listMetadata_element(); + new MetadataService.ValidationRule(); + new MetadataService.WorkspaceMapping(); + new MetadataService.MetadataWithContent(); + new MetadataService.ValidationRuleTranslation(); + new MetadataService.Metadata(); + new MetadataService.ReportBucketFieldValue(); + new MetadataService.HomePageLayout(); + new MetadataService.FlowSubflow(); + new MetadataService.FlowScreenField(); + new MetadataService.SiteWebAddress(); + new MetadataService.RetrieveMessage(); + new MetadataService.Dashboard(); + new MetadataService.EmailFolder(); + new MetadataService.SessionHeader_element(); + new MetadataService.SummaryLayout(); + new MetadataService.FlowCondition(); + new MetadataService.DeployOptions(); + new MetadataService.FlowAssignment(); + new MetadataService.ProfileApplicationVisibility(); + //new MetadataService.CustomApplicationComponents(); + new MetadataService.FlowElementReferenceOrValue(); + new MetadataService.EntitlementTemplate(); + new MetadataService.ProfileTabVisibility(); + new MetadataService.ActionOverride(); + //new MetadataService.WorkspaceMappings(); + new MetadataService.WorkflowAction(); + new MetadataService.DashboardFolder(); + new MetadataService.PermissionSetApexPageAccess(); + new MetadataService.LayoutTranslation(); + new MetadataService.CustomObject(); + new MetadataService.Translations(); + new MetadataService.ApexTrigger(); + new MetadataService.ReportTypeTranslation(); + new MetadataService.FlowAssignmentItem(); + new MetadataService.CustomApplicationTranslation(); + new MetadataService.CustomLabels(); + new MetadataService.PackageTypeMembers(); + new MetadataService.PicklistValue(); + new MetadataService.RemoteSiteSetting(); + new MetadataService.deploy_element(); + new MetadataService.retrieveResponse_element(); + new MetadataService.ArticleTypeTemplate(); + new MetadataService.ReportGrouping(); + new MetadataService.PermissionSetFieldPermissions(); + new MetadataService.AnalyticSnapshotMapping(); + new MetadataService.SharingRecalculation(); + new MetadataService.ProfileLoginIpRange(); + new MetadataService.WebLinkTranslation(); + new MetadataService.ObjectRelationship(); + new MetadataService.ListPlacement(); + new MetadataService.SiteRedirectMapping(); + new MetadataService.WorkflowFieldUpdate(); + new MetadataService.LetterheadLine(); + new MetadataService.CustomTab(); + new MetadataService.FlowChoiceUserInput(); + new MetadataService.Letterhead(); + new MetadataService.ReportTypeColumnTranslation(); + new MetadataService.CustomPageWebLinkTranslation(); + new MetadataService.DocumentFolder(); + new MetadataService.FlowConstant(); + new MetadataService.ProfileRecordTypeVisibility(); + new MetadataService.PackageVersion(); + new MetadataService.CustomLabelTranslation(); + new MetadataService.ReportChart(); + new MetadataService.checkRetrieveStatusResponse_element(); + new MetadataService.ProfileFieldLevelSecurity(); + new MetadataService.SharingReason(); + new MetadataService.RunTestsResult(); + new MetadataService.PermissionSetUserPermission(); + new MetadataService.MiniLayout(); + new MetadataService.FlowVariable(); + new MetadataService.ProfileLoginHours(); + new MetadataService.DashboardFilter(); + new MetadataService.CodeLocation(); + new MetadataService.ReportBucketFieldSourceValue(); + new MetadataService.FieldSetItem(); + new MetadataService.ReportFilterItem(); + new MetadataService.FlowDynamicChoiceSet(); + new MetadataService.CustomDataTypeComponent(); + new MetadataService.CustomObjectTranslation(); + new MetadataService.CustomApplication(); + new MetadataService.ReportAggregate(); + new MetadataService.ApexClass(); + new MetadataService.DebuggingInfo_element(); + new MetadataService.Package_x(); + new MetadataService.SessionSettings(); + new MetadataService.Document(); + new MetadataService.Folder(); + new MetadataService.DeployResult(); + new MetadataService.LayoutItem(); + new MetadataService.ProfileApexPageAccess(); + new MetadataService.SharingReasonTranslation(); + new MetadataService.checkDeployStatusResponse_element(); + new MetadataService.ReportColorRange(); + new MetadataService.SearchLayouts(); + new MetadataService.LetterheadHeaderFooter(); + new MetadataService.HomePageComponent(); + new MetadataService.MobileSettings(); + new MetadataService.EscalationRules(); + new MetadataService.KnowledgeAnswerSettings(); + new MetadataService.ExternalDataSource(); + new MetadataService.EntitlementProcess(); + new MetadataService.IdeasSettings(); + new MetadataService.Country(); + new MetadataService.ReputationLevels(); + new MetadataService.KnowledgeSitesSettings(); + new MetadataService.AddressSettings(); + new MetadataService.ProfileExternalDataSourceAccess(); + new MetadataService.CallCenterItem(); + new MetadataService.CallCenter(); + new MetadataService.PermissionSetExternalDataSourceAccess(); + new MetadataService.PermissionSetTabSetting(); + new MetadataService.AuthProvider(); + new MetadataService.EmailToCaseSettings(); + new MetadataService.EscalationAction(); + new MetadataService.State(); + new MetadataService.AssignmentRule(); + new MetadataService.AutoResponseRule(); + new MetadataService.CaseSettings(); + new MetadataService.ChatterAnswersSettings(); + new MetadataService.CountriesAndStates(); + new MetadataService.SFDCMobileSettings(); + new MetadataService.EntitlementProcessMilestoneItem(); + new MetadataService.TouchMobileSettings(); + new MetadataService.AssignmentRules(); + new MetadataService.ContractSettings(); + new MetadataService.KnowledgeCaseSettings(); + new MetadataService.ChatterAnswersReputationLevel(); + new MetadataService.KnowledgeSettings(); + new MetadataService.Community(); + new MetadataService.AutoResponseRules(); + new MetadataService.EmailToCaseRoutingAddress(); + new MetadataService.RuleEntry(); + new MetadataService.EntitlementSettings(); + new MetadataService.ApexPage(); + new MetadataService.WorkflowSend(); + new MetadataService.ChatterMobileSettings(); + new MetadataService.CallCenterSection(); + new MetadataService.EntitlementProcessMilestoneTimeTrigger(); + new MetadataService.StaticResource(); + new MetadataService.MilestoneType(); + new MetadataService.FiscalYearSettings(); + new MetadataService.CompanySettings(); + new MetadataService.WebToCaseSettings(); + new MetadataService.EscalationRule(); + new MetadataService.DashboardMobileSettings(); + new MetadataService.FieldOverride(); + new MetadataService.QuotasSettings(); + new MetadataService.Skill(); + new MetadataService.AgentConfigProfileAssignments(); + new MetadataService.LiveAgentSettings(); + new MetadataService.SkillAssignments(); + new MetadataService.ActivitiesSettings(); + new MetadataService.LiveAgentConfig(); + new MetadataService.ApprovalPageField(); + new MetadataService.QuickActionList(); + new MetadataService.LiveChatButtonDeployments(); + new MetadataService.InstalledPackage(); + new MetadataService.PushNotification(); + new MetadataService.LiveChatAgentConfig(); + new MetadataService.AdjustmentsSettings(); + new MetadataService.ForecastingSettings(); + new MetadataService.QuickActionListItem(); + //new MetadataService.Branding(); + new MetadataService.QuickActionLayoutItem(); + new MetadataService.OpportunityListFieldsSelectedSettings(); + new MetadataService.ApprovalStepRejectBehavior(); + new MetadataService.FolderShare(); + new MetadataService.ApprovalEntryCriteria(); + new MetadataService.ProductSettings(); + new MetadataService.OpportunitySettings(); + new MetadataService.LiveChatDeployment(); + new MetadataService.QuickActionLayoutColumn(); + new MetadataService.GlobalQuickActionTranslation(); + new MetadataService.ApprovalStepApprover(); + new MetadataService.QuoteSettings(); + new MetadataService.LiveChatButton(); + new MetadataService.Network(); + new MetadataService.LiveChatDeploymentDomainWhitelist(); + new MetadataService.KnowledgeLanguageSettings(); + new MetadataService.Approver(); + new MetadataService.SamlSsoConfig(); + new MetadataService.ApprovalSubmitter(); + new MetadataService.KeyboardShortcuts(); + new MetadataService.ApprovalStep(); + new MetadataService.AgentConfigAssignments(); + new MetadataService.QuickAction(); + new MetadataService.DefaultShortcut(); + new MetadataService.ApprovalAction(); + new MetadataService.KnowledgeLanguage(); + new MetadataService.LiveChatButtonSkills(); + new MetadataService.SkillUserAssignments(); + new MetadataService.NextAutomatedApprover(); + new MetadataService.ApprovalProcess(); + new MetadataService.QuickActionLayout(); + //new MetadataService.PushNotifications(); + new MetadataService.ForecastRangeSettings(); + new MetadataService.IdeaReputationLevel(); + new MetadataService.NetworkTabSet(); + new MetadataService.SkillProfileAssignments(); + new MetadataService.CustomShortcut(); + //new MetadataService.PagesToOpen(); + new MetadataService.AgentConfigUserAssignments(); + new MetadataService.NetworkMemberGroup(); + new MetadataService.FindSimilarOppFilter(); + new MetadataService.QuickActionTranslation(); + new MetadataService.WorkflowFlowActionParameter(); + new MetadataService.ConnectedAppOauthConfig(); + new MetadataService.FlowLoop(); + new MetadataService.renameMetadata_element(); + new MetadataService.ForecastingTypeSettings(); + new MetadataService.PermissionSetApplicationVisibility(); + new MetadataService.FeedLayout(); + new MetadataService.AppMenuItem(); + new MetadataService.deleteMetadataResponse_element(); + new MetadataService.ConnectedAppAttribute(); + new MetadataService.ReportChartComponentLayoutItem(); + new MetadataService.AppMenu(); + new MetadataService.ConnectedAppIpRange(); + new MetadataService.Error(); + new MetadataService.ComponentInstanceProperty(); + new MetadataService.BusinessHoursEntry(); + new MetadataService.RelatedContent(); + new MetadataService.SupervisorAgentConfigSkills(); + new MetadataService.ComponentInstance(); + new MetadataService.SidebarComponent(); + new MetadataService.Holiday(); + new MetadataService.SaveResult(); + new MetadataService.readMetadataResponse_element(); + new MetadataService.FlexiPageRegion(); + new MetadataService.deleteMetadata_element(); + new MetadataService.ConnectedAppMobileDetailConfig(); + new MetadataService.AccountSettings(); + new MetadataService.PermissionSetRecordTypeVisibility(); + new MetadataService.OrderSettings(); + new MetadataService.ProfileUserPermission(); + new MetadataService.LookupFilterTranslation(); + new MetadataService.WorkflowFlowAction(); + new MetadataService.ConnectedApp(); + new MetadataService.SiteDotCom(); + new MetadataService.createMetadataResponse_element(); + new MetadataService.updateMetadata_element(); + new MetadataService.LookupFilter(); + new MetadataService.updateMetadataResponse_element(); + new MetadataService.FlexiPage(); + new MetadataService.ConnectedAppSamlConfig(); + new MetadataService.createMetadata_element(); + new MetadataService.FeedLayoutComponent(); + new MetadataService.PostTemplate(); + new MetadataService.RelatedContentItem(); + new MetadataService.readMetadata_element(); + new MetadataService.ReadWorkflowRuleResult(); + new MetadataService.readWorkflowRuleResponse_element(); + new MetadataService.ReadSamlSsoConfigResult(); + new MetadataService.readSamlSsoConfigResponse_element(); + new MetadataService.ReadCustomLabelResult(); + new MetadataService.readCustomLabelResponse_element(); + new MetadataService.ReadBusinessHoursEntryResult(); + new MetadataService.readBusinessHoursEntryResponse_element(); + new MetadataService.ReadMobileSettingsResult(); + new MetadataService.readMobileSettingsResponse_element(); + new MetadataService.ReadChatterAnswersSettingsResult(); + new MetadataService.readChatterAnswersSettingsResponse_element(); + new MetadataService.ReadSharingRulesResult(); + new MetadataService.readSharingRulesResponse_element(); + new MetadataService.ReadPortalResult(); + new MetadataService.readPortalResponse_element(); + new MetadataService.ReadSkillResult(); + new MetadataService.readSkillResponse_element(); + new MetadataService.ReadEscalationRulesResult(); + new MetadataService.readEscalationRulesResponse_element(); + new MetadataService.ReadCustomDataTypeResult(); + new MetadataService.readCustomDataTypeResponse_element(); + new MetadataService.ReadExternalDataSourceResult(); + new MetadataService.readExternalDataSourceResponse_element(); + new MetadataService.ReadEntitlementProcessResult(); + new MetadataService.readEntitlementProcessResponse_element(); + new MetadataService.ReadRecordTypeResult(); + new MetadataService.readRecordTypeResponse_element(); + new MetadataService.ReadScontrolResult(); + new MetadataService.readScontrolResponse_element(); + new MetadataService.ReadDataCategoryGroupResult(); + new MetadataService.readDataCategoryGroupResponse_element(); + new MetadataService.ReadValidationRuleResult(); + new MetadataService.readValidationRuleResponse_element(); + new MetadataService.ReadProfileResult(); + new MetadataService.readProfileResponse_element(); + new MetadataService.ReadIdeasSettingsResult(); + new MetadataService.readIdeasSettingsResponse_element(); + new MetadataService.ReadConnectedAppResult(); + new MetadataService.readConnectedAppResponse_element(); + new MetadataService.ReadApexPageResult(); + new MetadataService.readApexPageResponse_element(); + new MetadataService.ReadProductSettingsResult(); + new MetadataService.readProductSettingsResponse_element(); + new MetadataService.ReadLiveAgentSettingsResult(); + new MetadataService.readLiveAgentSettingsResponse_element(); + new MetadataService.ReadOpportunitySettingsResult(); + new MetadataService.readOpportunitySettingsResponse_element(); + new MetadataService.ReadLiveChatDeploymentResult(); + new MetadataService.readLiveChatDeploymentResponse_element(); + new MetadataService.ReadActivitiesSettingsResult(); + new MetadataService.readActivitiesSettingsResponse_element(); + new MetadataService.ReadLayoutResult(); + new MetadataService.readLayoutResponse_element(); + new MetadataService.ReadWebLinkResult(); + new MetadataService.readWebLinkResponse_element(); + new MetadataService.ReadSiteDotComResult(); + new MetadataService.readSiteDotComResponse_element(); + new MetadataService.ReadCompanySettingsResult(); + new MetadataService.readCompanySettingsResponse_element(); + new MetadataService.ReadHomePageLayoutResult(); + new MetadataService.readHomePageLayoutResponse_element(); + new MetadataService.ReadDashboardResult(); + new MetadataService.readDashboardResponse_element(); + new MetadataService.ReadAssignmentRulesResult(); + new MetadataService.readAssignmentRulesResponse_element(); + new MetadataService.ReadAnalyticSnapshotResult(); + new MetadataService.readAnalyticSnapshotResponse_element(); + new MetadataService.ReadEscalationRuleResult(); + new MetadataService.readEscalationRuleResponse_element(); + new MetadataService.ReadCustomSiteResult(); + new MetadataService.readCustomSiteResponse_element(); + new MetadataService.ReadGroupResult(); + new MetadataService.readGroupResponse_element(); + new MetadataService.ReadReportTypeResult(); + new MetadataService.readReportTypeResponse_element(); + new MetadataService.ReadQuickActionResult(); + new MetadataService.readQuickActionResponse_element(); + new MetadataService.ReadCustomPageWebLinkResult(); + new MetadataService.readCustomPageWebLinkResponse_element(); + new MetadataService.ReadApexComponentResult(); + new MetadataService.readApexComponentResponse_element(); + new MetadataService.ReadEntitlementTemplateResult(); + new MetadataService.readEntitlementTemplateResponse_element(); + new MetadataService.ReadFlexiPageResult(); + new MetadataService.readFlexiPageResponse_element(); + new MetadataService.ReadWorkflowResult(); + new MetadataService.readWorkflowResponse_element(); + new MetadataService.ReadWorkflowActionResult(); + new MetadataService.readWorkflowActionResponse_element(); + new MetadataService.ReadAddressSettingsResult(); + new MetadataService.readAddressSettingsResponse_element(); + new MetadataService.ReadContractSettingsResult(); + new MetadataService.readContractSettingsResponse_element(); + new MetadataService.ReadCustomObjectResult(); + new MetadataService.readCustomObjectResponse_element(); + new MetadataService.ReadTranslationsResult(); + new MetadataService.readTranslationsResponse_element(); + new MetadataService.ReadRoleOrTerritoryResult(); + new MetadataService.readRoleOrTerritoryResponse_element(); + new MetadataService.ReadApexTriggerResult(); + new MetadataService.readApexTriggerResponse_element(); + new MetadataService.ReadCustomLabelsResult(); + new MetadataService.readCustomLabelsResponse_element(); + new MetadataService.ReadSecuritySettingsResult(); + new MetadataService.readSecuritySettingsResponse_element(); + new MetadataService.ReadCallCenterResult(); + new MetadataService.readCallCenterResponse_element(); + new MetadataService.ReadPicklistValueResult(); + new MetadataService.readPicklistValueResponse_element(); + new MetadataService.ReadRemoteSiteSettingResult(); + new MetadataService.readRemoteSiteSettingResponse_element(); + new MetadataService.ReadQuoteSettingsResult(); + new MetadataService.readQuoteSettingsResponse_element(); + new MetadataService.ReadSynonymDictionaryResult(); + new MetadataService.readSynonymDictionaryResponse_element(); + new MetadataService.ReadPostTemplateResult(); + new MetadataService.readPostTemplateResponse_element(); + new MetadataService.ReadCustomTabResult(); + new MetadataService.readCustomTabResponse_element(); + new MetadataService.ReadLetterheadResult(); + new MetadataService.readLetterheadResponse_element(); + new MetadataService.ReadInstalledPackageResult(); + new MetadataService.readInstalledPackageResponse_element(); + new MetadataService.ReadQueueResult(); + new MetadataService.readQueueResponse_element(); + new MetadataService.ReadAuthProviderResult(); + new MetadataService.readAuthProviderResponse_element(); + new MetadataService.ReadEntitlementSettingsResult(); + new MetadataService.readEntitlementSettingsResponse_element(); + new MetadataService.ReadCustomFieldResult(); + new MetadataService.readCustomFieldResponse_element(); + new MetadataService.ReadStaticResourceResult(); + new MetadataService.readStaticResourceResponse_element(); + new MetadataService.ReadEmailTemplateResult(); + new MetadataService.readEmailTemplateResponse_element(); + new MetadataService.ReadSharingReasonResult(); + new MetadataService.readSharingReasonResponse_element(); + new MetadataService.ReadLiveChatButtonResult(); + new MetadataService.readLiveChatButtonResponse_element(); + new MetadataService.ReadNetworkResult(); + new MetadataService.readNetworkResponse_element(); + new MetadataService.ReadApprovalProcessResult(); + new MetadataService.readApprovalProcessResponse_element(); + new MetadataService.ReadMilestoneTypeResult(); + new MetadataService.readMilestoneTypeResponse_element(); + new MetadataService.ReadAssignmentRuleResult(); + new MetadataService.readAssignmentRuleResponse_element(); + new MetadataService.ReadCompactLayoutResult(); + new MetadataService.readCompactLayoutResponse_element(); + new MetadataService.ReadLiveChatAgentConfigResult(); + new MetadataService.readLiveChatAgentConfigResponse_element(); + new MetadataService.ReadAccountSettingsResult(); + new MetadataService.readAccountSettingsResponse_element(); + new MetadataService.ReadBusinessProcessResult(); + new MetadataService.readBusinessProcessResponse_element(); + new MetadataService.ReadFlowResult(); + new MetadataService.readFlowResponse_element(); + new MetadataService.ReadAutoResponseRuleResult(); + new MetadataService.readAutoResponseRuleResponse_element(); + new MetadataService.ReadPermissionSetResult(); + new MetadataService.readPermissionSetResponse_element(); + new MetadataService.ReadBusinessHoursSettingsResult(); + new MetadataService.readBusinessHoursSettingsResponse_element(); + new MetadataService.ReadForecastingSettingsResult(); + new MetadataService.readForecastingSettingsResponse_element(); + new MetadataService.ReadReportResult(); + new MetadataService.readReportResponse_element(); + new MetadataService.ReadAppMenuResult(); + new MetadataService.readAppMenuResponse_element(); + new MetadataService.ReadListViewResult(); + new MetadataService.readListViewResponse_element(); + new MetadataService.ReadOrderSettingsResult(); + new MetadataService.readOrderSettingsResponse_element(); + new MetadataService.ReadCustomObjectTranslationResult(); + new MetadataService.readCustomObjectTranslationResponse_element(); + new MetadataService.ReadCustomApplicationResult(); + new MetadataService.readCustomApplicationResponse_element(); + new MetadataService.ReadKnowledgeSettingsResult(); + new MetadataService.readKnowledgeSettingsResponse_element(); + new MetadataService.ReadCaseSettingsResult(); + new MetadataService.readCaseSettingsResponse_element(); + new MetadataService.ReadApexClassResult(); + new MetadataService.readApexClassResponse_element(); + new MetadataService.ReadPackageResult(); + new MetadataService.readPackageResponse_element(); + new MetadataService.ReadCommunityResult(); + new MetadataService.readCommunityResponse_element(); + new MetadataService.ReadDocumentResult(); + new MetadataService.readDocumentResponse_element(); + new MetadataService.ReadAutoResponseRulesResult(); + new MetadataService.readAutoResponseRulesResponse_element(); + new MetadataService.ReadFolderResult(); + new MetadataService.readFolderResponse_element(); + new MetadataService.ReadCustomApplicationComponentResult(); + new MetadataService.readCustomApplicationComponentResponse_element(); + new MetadataService.ReadFieldSetResult(); + new MetadataService.readFieldSetResponse_element(); + new MetadataService.ReadSharingSetResult(); + new MetadataService.readSharingSetResponse_element(); + new MetadataService.ReadHomePageComponentResult(); + new MetadataService.readHomePageComponentResponse_element(); + new MetadataService.ReadResult(); + new MetadataService.BusinessHoursSettings(); + new MetadataService.FeedLayoutFilter(); + new MetadataService.ReportHistoricalSelector(); + new MetadataService.ConnectedAppCanvasConfig(); + new MetadataService.DeployDetails(); + new MetadataService.ReportDataCategoryFilter(); + new MetadataService.SynonymGroup(); + new MetadataService.renameMetadataResponse_element(); + new MetadataService.cancelDeploy_element(); + new MetadataService.CancelDeployResult(); + new MetadataService.SynonymDictionary(); + new MetadataService.cancelDeployResponse_element(); + new MetadataService.CompactLayout(); + new MetadataService.AccessMapping(); + new MetadataService.Container(); + new MetadataService.DeleteResult(); + new MetadataService.SharingSet(); + new MetadataService.ReputationPointsRule(); + new MetadataService.FlowActionCallInputParameter(); + new MetadataService.CustomMetadata(); + new MetadataService.VisualizationPlugin(); + new MetadataService.RelatedList(); + new MetadataService.FlowActionCallOutputParameter(); + new MetadataService.FlowActionCall(); + new MetadataService.CustomPermission(); + new MetadataService.ReputationLevelDefinitions(); + new MetadataService.PermissionSetCustomPermissions(); + new MetadataService.upsertMetadata_element(); + new MetadataService.ProfileCustomPermissions(); + new MetadataService.AgentConfigButtons(); + new MetadataService.AgentConfigSkills(); + new MetadataService.upsertMetadataResponse_element(); + new MetadataService.ReputationLevel(); + new MetadataService.ReadWorkflowAlertResult(); + new MetadataService.readWorkflowAlertResponse_element(); + new MetadataService.ReadCustomPermissionResult(); + new MetadataService.readCustomPermissionResponse_element(); + new MetadataService.ReadSiteDotComResult(); + new MetadataService.ReadEmailFolderResult(); + new MetadataService.readEmailFolderResponse_element(); + new MetadataService.ReadCustomMetadataResult(); + new MetadataService.readCustomMetadataResponse_element(); + new MetadataService.ReadAnalyticSnapshotResult(); + new MetadataService.readAnalyticSnapshotResponse_element(); + new MetadataService.ReadVisualizationPluginResult(); + new MetadataService.readVisualizationPluginResponse_element(); + new MetadataService.ReadEscalationRuleResult(); + new MetadataService.ReadMarketingActionSettingsResult(); + new MetadataService.readMarketingActionSettingsResponse_element(); + new MetadataService.ReadWorkflowKnowledgePublishResult(); + new MetadataService.readWorkflowKnowledgePublishResponse_element(); + new MetadataService.ReadDashboardFolderResult(); + new MetadataService.readDashboardFolderResponse_element(); + new MetadataService.ReadWorkflowSendResult(); + new MetadataService.readWorkflowSendResponse_element(); + new MetadataService.ReadWorkflowOutboundMessageResult(); + new MetadataService.readWorkflowOutboundMessageResponse_element(); + new MetadataService.ReadWorkflowFieldUpdateResult(); + new MetadataService.readWorkflowFieldUpdateResponse_element(); + new MetadataService.ReadDocumentFolderResult(); + new MetadataService.readDocumentFolderResponse_element(); + new MetadataService.ReadWorkflowTaskResult(); + new MetadataService.readWorkflowTaskResponse_element(); + new MetadataService.ReadNameSettingsResult(); + new MetadataService.readNameSettingsResponse_element(); + new MetadataService.ReadReportFolderResult(); + new MetadataService.readReportFolderResponse_element(); + new MetadataService.ReadCustomApplicationComponentResult(); + new MetadataService.NameSettings(); + new MetadataService.ReputationPointsRules(); + new MetadataService.FlowMetadataValue(); + new MetadataService.VisualizationResource(); + new MetadataService.MarketingActionSettings(); + new MetadataService.VisualizationType(); + new MetadataService.CustomMetadataValue(); + new MetadataService.HistoryRetentionPolicy(); + new MetadataService.UpsertResult(); + new MetaDataService.Territory2RuleAssociation(); + new MetadataService.ManagedTopics(); + new MetaDataService.XOrgHub(); + new MetaDataService.FlowWaitEventInputParameter(); + new MetadataService.ManagedTopic(); + new MetadataService.Territory2RuleItem(); + new MetadataService.DataPipeline(); + new MetadataService.UiPlugin(); + new MetadataService.Territory2Rule(); + new MetaDataService.XOrgHubSharedObject(); + new MetadataService.Territory2Type(); + new MetadataService.CorsWhitelistOrigin(); + new MetadataService.StandardFieldTranslation(); + new MetadataService.Territory2Model(); + new MetadataService.PersonListSettings(); + new MetadataService.ChannelLayoutItem(); + new MetadataService.FlowWait(); + new MetadataService.Territory2Settings(); + new MetadataService.FieldValue(); + new MetadataService.ChannelLayout(); + new MetadataService.ReadXOrgHubResult(); + new MetadataService.readXOrgHubResponse_element(); + new MetadataService.ReadAuraDefinitionBundleResult(); + new MetadataService.readAuraDefinitionBundleResponse_element(); + new MetadataService.ReadTerritory2SettingsResult(); + new MetadataService.readTerritory2SettingsResponse_element(); + new MetadataService.ReadTerritory2TypeResult(); + new MetadataService.readTerritory2TypeResponse_element(); + new MetadataService.ReadQuoteSettingsResult(); + new MetadataService.readQuoteSettingsResponse_element(); + new MetadataService.ReadCorsWhitelistOriginResult(); + new MetadataService.readCorsWhitelistOriginResponse_element(); + new MetadataService.ReadManagedTopicsResult(); + new MetadataService.readManagedTopicsResponse_element(); + new MetadataService.ReadTerritory2Result(); + new MetadataService.readTerritory2Response_element(); + new MetadataService.ReadCommunityResult(); + new MetadataService.readCommunityResponse_element(); + new MetadataService.ReadDocumentResult(); + new MetadataService.readDocumentResponse_element(); + new MetadataService.ReadTerritory2ModelResult(); + new MetadataService.readTerritory2ModelResponse_element(); + new MetadataService.FlowWaitEventOutputParameter(); + new MetadataService.FlowWaitEvent(); + new MetadataService.CustomPermissionDependencyRequired(); + new MetadataService.ReputationBranding(); + new MetadataService.AuraDefinitionBundle(); + new MetadataService.FeedItemSettings(); + new MetadataService.FlowBaseElement(); + new MetadataService.Territory2(); + new MetaDataService.deployRecentValidationResponse_element(); + new MetaDataService.SharingCriteriaRule(); + new MetaDataService.ActionLinkGroupTemplate(); + new MetaDataService.MatchingRule(); + new MetaDataService.describeValueType_element(); + new MetaDataService.LicensedCustomPermissions(); + new MetaDataService.MatchingRuleItem(); + new MetaDataService.MarketingResourceType(); + new MetaDataService.SharingBaseRule(); + new MetaDataService.MatchingRules(); + new MetaDataService.deployRecentValidation_element(); + new MetaDataService.ActionLinkTemplate(); + new MetaDataService.SharingTerritoryRule(); + new MetaDataService.PersonalJourneySettings(); + new MetaDataService.LicenseDefinition(); + new MetaDataService.AccountSharingRuleSettings(); + new MetaDataService.NamedCredential(); + new MetaDataService.DescribeValueTypeResult(); + new MetaDataService.ReadSharingTerritoryRuleResult(); + new MetaDataService.readSharingTerritoryRuleResponse_element(); + new MetadataService.ReadPersonalJourneySettingsResult(); + new MetaDataService.readPersonalJourneySettingsResponse_element(); + new MetaDataService.ReadMarketingResourceTypeResult(); + new MetaDataService.readMarketingResourceTypeResponse_element(); + new MetaDataService.ReadSharingCriteriaRuleResult(); + new MetaDataService.readSharingCriteriaRuleResponse_element(); + new MetaDataService.ReadLicenseDefinitionResult(); + new MetaDataService.readLicenseDefinitionResponse_element(); + new MetaDataService.ReadActionLinkGroupTemplateResult(); + new MetaDataService.readActionLinkGroupTemplateResponse_element(); + new MetaDataService.ReadNamedCredentialResult(); + new MetaDataService.readNamedCredentialResponse_element(); + new MetaDataService.ReadSharingOwnerRuleResult(); + new MetaDataService.readSharingOwnerRuleResponse_element(); + new MetaDataService.ReadSharingBaseRuleResult(); + new MetaDataService.readSharingBaseRuleResponse_element(); + new MetaDataService.ReadMatchingRulesResult(); + new MetaDataService.readMatchingRulesResponse_element(); + new MetaDataService.ReadMatchingRuleResult(); + new MetaDataService.readMatchingRuleResponse_element(); + new MetaDataService.SharingOwnerRule(); + new MetaDataService.PicklistEntry(); + new MetaDataService.ValueTypeField(); + new MetaDataService.DashboardGridComponent(); + new MetaDataService.AllOrNoneHeader_element(); + new MetaDataService.WeightedSourceCategory(); + new MetaDataService.Territory2SettingsOpportunityFilter(); + new MetaDataService.PathAssistantStep(); + new MetaDataService.DashboardGridLayout(); + new MetaDataService.PlatformActionList(); + new MetaDataService.FeedFilterCriterion(); + new MetaDataService.PathAssistant(); + new MetaDataService.PlatformCachePartition(); + new MetaDataService.FlowDefinition(); + new MetaDataService.WaveTemplateBundle(); + new MetaDataService.TransactionSecurityAction(); + new MetaDataService.PlatformActionListItem(); + new MetaDataService.PlatformCachePartitionType(); + new MetaDataService.TransactionSecurityPolicy(); + new MetaDataService.KnowledgeCommunitiesSettings(); + new MetaDataService.PathAssistantSettings(); + new MetaDataService.AnalyticsCloudComponentLayoutItem(); + new MetaDataService.CustomFeedFilter(); + new MetaDataService.LeadConvertSettings(); + new MetaDataService.ForecastingCategoryMapping(); + new MetaDataService.LiveChatSensitiveDataRule(); + new MetaDataService.TransactionSecurityNotification(); + new MetadataService.DelegateGroup(); + new MetadataService.EventDelivery(); + new MetadataService.EventSubscription(); + new MetadataService.EventType(); + new MetadataService.Certificate(); + new MetadataService.ModerationRule(); + new MetadataService.WaveApplication(); + new MetadataService.WaveDataset(); + new MetadataService.WaveDashboard(); + new MetaDataService.WaveDataflow(); + new MetaDataService.WaveLens(); + new MetaDataService.OrgPreferenceSettings(); + new MetaDataService.SearchSettings(); + new MetadataService.GlobalPicklistValue(); + new MetadataService.PicklistValue(); + new MetadataService.KeywordList(); + new MetadataService.EmbeddedServiceLiveAgent(); + new MetadataService.GlobalValueSet(); + new MetadataService.OrganizationSettingsDetail(); + new MetadataService.DuplicateRuleFilterItem(); + new MetadataService.ContentAsset(); + new MetadataService.EmbeddedServiceConfig(); + new MetadataService.DuplicateRule(); + new MetadataService.ValueSetValuesDefinition(); + new MetadataService.ObjectSearchSetting(); + new MetadataService.Keyword(); + new MetadataService.OpportunityListFieldsLabelMapping(); + new MetadataService.NavigationMenuItem(); + new MetadataService.DuplicateRuleFilter(); + new MetadataService.SearchSettingsByObject(); + new MetadataService.CustomExperienceBranding(); + new MetadataService.EventTypeParameter(); + new MetadataService.DuplicateRuleMatchRule(); + new MetadataService.FlowScreenRuleAction(); + new MetadataService.KnowledgeCaseFieldsSettings(); + new MetadataService.ObjectMappingField(); + new MetadataService.ValueSet(); + new MetadataService.ProfileActionOverride(); + new MetadataService.ContentAssetRelationships(); + new MetadataService.ContentAssetVersions(); + new MetadataService.ExternalServiceRegistration(); + new MetadataService.CustomExperience(); + new MetadataService.KnowledgeCaseField(); + new MetadataService.FieldMappingRow(); + new MetadataService.EventParameterMap(); + new MetadataService.ContentAssetVersion(); + new MetadataService.AppBrand(); + new MetadataService.ModeratedEntityField(); + new MetadataService.ObjectMapping(); + new MetadataService.TabLimitConfig(); + new MetadataService.FieldMapping(); + new MetadataService.ValueTranslation(); + new MetadataService.StandardValueSet(); + new MetadataService.FlowScreenRule(); + new MetadataService.NavigationLinkSet(); + new MetadataService.StandardValueSetTranslation(); + new MetadataService.OpportunityListFieldsUnselectedSettings(); + new MetadataService.GlobalValueSetTranslation(); + new MetadataService.StandardValue(); + new MetadataService.ContentAssetLink(); + new MetadataService.ApexTestSuite(); + new MetadataService.QuickActionSendEmailOptions(); + new MetadataService.ValueSettings(); + new MetadataService.FieldMappingField(); + new MetadataService.CustomExperienceTabSet(); + new MetadataService.KnowledgeSuggestedArticlesSettings(); + Test.stopTest(); + } + + @IsTest + private static void elfMissingGetRecordsTest() { // elf patch + Test.startTest(); + new MetadataService.ReadFlowResult().getRecords(); + new MetadataService.ReadWorkflowResult().getRecords(); + new MetadataService.ReadWorkflowRuleResult().getRecords(); + new MetadataService.ReadAssignmentRulesResult().getRecords(); + new MetadataService.ReadAssignmentRuleResult().getRecords(); + new MetadataService.ReadAutoResponseRulesResult().getRecords(); + new MetadataService.ReadAutoResponseRuleResult().getRecords(); + new MetadataService.ReadEscalationRulesResult().getRecords(); + new MetadataService.ReadEscalationRuleResult().getRecords(); + new MetadataService.ReadPostTemplateResult().getRecords(); + new MetadataService.ReadApprovalProcessResult().getRecords(); + new MetadataService.ReadHomePageComponentResult().getRecords(); + new MetadataService.ReadHomePageLayoutResult().getRecords(); + new MetadataService.ReadCustomObjectTranslationResult().getRecords(); + new MetadataService.ReadTranslationsResult().getRecords(); + new MetadataService.ReadProfileResult().getRecords(); + new MetadataService.ReadPermissionSetResult().getRecords(); + new MetadataService.ReadDataCategoryGroupResult().getRecords(); + new MetadataService.ReadRemoteSiteSettingResult().getRecords(); + new MetadataService.ReadPackageResult().getRecords(); + new MetadataService.ReadAuthProviderResult().getRecords(); + new MetadataService.ReadKnowledgeSettingsResult().getRecords(); + new MetadataService.ReadSharingSetResult().getRecords(); + new MetadataService.ReadSecuritySettingsResult().getRecords(); + new MetadataService.ReadIdeasSettingsResult().getRecords(); + new MetadataService.ReadChatterAnswersSettingsResult().getRecords(); + new MetadataService.ReadCommunityResult().getRecords(); + new MetadataService.ReadActivitiesSettingsResult().getRecords(); + new MetadataService.ReadContractSettingsResult().getRecords(); + new MetadataService.ReadOrderSettingsResult().getRecords(); + new MetadataService.ReadOpportunitySettingsResult().getRecords(); + new MetadataService.ReadProductSettingsResult().getRecords(); + new MetadataService.ReadQuoteSettingsResult().getRecords(); + new MetadataService.ReadCallCenterResult().getRecords(); + new MetadataService.ReadEntitlementProcessResult().getRecords(); + new MetadataService.ReadMilestoneTypeResult().getRecords(); + new MetadataService.ReadEntitlementTemplateResult().getRecords(); + new MetadataService.ReadEntitlementSettingsResult().getRecords(); + new MetadataService.ReadBusinessHoursSettingsResult().getRecords(); + new MetadataService.ReadBusinessHoursEntryResult().getRecords(); + new MetadataService.ReadConnectedAppResult().getRecords(); + new MetadataService.ReadAppMenuResult().getRecords(); + new MetadataService.ReadMobileSettingsResult().getRecords(); + new MetadataService.ReadNetworkResult().getRecords(); + new MetadataService.ReadCompanySettingsResult().getRecords(); + new MetadataService.ReadForecastingSettingsResult().getRecords(); + new MetadataService.ReadSamlSsoConfigResult().getRecords(); + new MetadataService.ReadLiveAgentSettingsResult().getRecords(); + new MetadataService.ReadSkillResult().getRecords(); + new MetadataService.ReadLiveChatDeploymentResult().getRecords(); + new MetadataService.ReadLiveChatButtonResult().getRecords(); + new MetadataService.ReadLiveChatAgentConfigResult().getRecords(); + new MetadataService.ReadSynonymDictionaryResult().getRecords(); + new MetadataService.ReadFolderResult().getRecords(); + new MetadataService.ReadReportFolderResult().getRecords(); + new MetadataService.ReadDashboardFolderResult().getRecords(); + new MetadataService.ReadDocumentFolderResult().getRecords(); + new MetadataService.ReadEmailFolderResult().getRecords(); + new MetadataService.ReadRoleOrTerritoryResult().getRecords(); + new MetadataService.ReadWorkflowActionResult().getRecords(); + new MetadataService.ReadSiteDotComResult().getRecords(); + new MetadataService.ReadWorkflowTaskResult().getRecords(); + new MetadataService.ReadWorkflowSendResult().getRecords(); + new MetadataService.ReadWorkflowOutboundMessageResult().getRecords(); + new MetadataService.ReadWorkflowKnowledgePublishResult().getRecords(); + new MetadataService.ReadWorkflowFieldUpdateResult().getRecords(); + new MetadataService.ReadWorkflowAlertResult().getRecords(); + new MetadataService.ReadVisualizationPluginResult().getRecords(); + new MetadataService.ReadCustomMetadataResult().getRecords(); + new MetadataService.ReadNameSettingsResult().getRecords(); + new MetadataService.ReadMarketingActionSettingsResult().getRecords(); + new MetadataService.ReadCustomPermissionResult().getRecords(); + new MetadataService.ReadAuraDefinitionBundleResult().getRecords(); + new MetadataService.ReadCorsWhitelistOriginResult().getRecords(); + new MetadataService.ReadManagedTopicsResult().getRecords(); + new MetadataService.ReadTerritory2Result().getRecords(); + new MetadataService.ReadTerritory2ModelResult().getRecords(); + new MetadataService.ReadTerritory2SettingsResult().getRecords(); + new MetadataService.ReadTerritory2TypeResult().getRecords(); + new MetadataService.ReadXOrgHubResult().getRecords(); + new MetadataService.ReadActionLinkGroupTemplateResult().getRecords(); + new MetadataService.ReadLicenseDefinitionResult().getRecords(); + new MetadataService.ReadMarketingResourceTypeResult().getRecords(); + new MetadataService.ReadMatchingRuleResult().getRecords(); + new MetadataService.ReadMatchingRulesResult().getRecords(); + new MetadataService.ReadNamedCredentialResult().getRecords(); + new MetadataService.ReadPersonalJourneySettingsResult().getRecords(); + new MetadataService.ReadSharingRulesResult().getRecords(); + new MetadataService.ReadSharingBaseRuleResult().getRecords(); + new MetadataService.ReadSharingCriteriaRuleResult().getRecords(); + new MetadataService.ReadSharingOwnerRuleResult().getRecords(); + new MetadataService.ReadSharingTerritoryRuleResult().getRecords(); + new MetadataService.ReadMetadataWithContentResult().getRecords(); + new MetadataService.ReadCustomSiteResult().getRecords(); + new MetadataService.ReadListViewResult().getRecords(); + new MetadataService.ReadInstalledPackageResult().getRecords(); + new MetadataService.ReadCustomFieldResult().getRecords(); + new MetadataService.ReadFieldSetResult().getRecords(); + new MetadataService.ReadPicklistValueResult().getRecords(); + new MetadataService.ReadRecordTypeResult().getRecords(); + new MetadataService.ReadWebLinkResult().getRecords(); + new MetadataService.ReadAddressSettingsResult().getRecords(); + new MetadataService.ReadCaseSettingsResult().getRecords(); + new MetadataService.ReadCustomObjectResult().getRecords(); + new MetadataService.ReadLayoutResult().getRecords(); + new MetadataService.ReadEmailTemplateResult().getRecords(); + new MetadataService.ReadScontrolResult().getRecords(); + new MetadataService.ReadApexPageResult().getRecords(); + new MetadataService.ReadApexComponentResult().getRecords(); + new MetadataService.ReadApexClassResult().getRecords(); + new MetadataService.ReadApexTriggerResult().getRecords(); + new MetadataService.ReadStaticResourceResult().getRecords(); + new MetadataService.ReadDocumentResult().getRecords(); + new MetadataService.ReadCustomLabelsResult().getRecords(); + new MetadataService.ReadCustomLabelResult().getRecords(); + new MetadataService.ReadAccountSettingsResult().getRecords(); + new MetadataService.ReadQueueResult().getRecords(); + new MetadataService.ReadCustomDataTypeResult().getRecords(); + new MetadataService.ReadExternalDataSourceResult().getRecords(); + new MetadataService.ReadGroupResult().getRecords(); + new MetadataService.ReadBusinessProcessResult().getRecords(); + new MetadataService.ReadCompactLayoutResult().getRecords(); + new MetadataService.ReadSharingReasonResult().getRecords(); + new MetadataService.ReadValidationRuleResult().getRecords(); + new MetadataService.ReadReportTypeResult().getRecords(); + new MetadataService.ReadReportResult().getRecords(); + new MetadataService.ReadDashboardResult().getRecords(); + new MetadataService.ReadAnalyticSnapshotResult().getRecords(); + new MetadataService.ReadCustomPageWebLinkResult().getRecords(); + new MetadataService.ReadQuickActionResult().getRecords(); + new MetadataService.ReadFlexiPageResult().getRecords(); + new MetadataService.ReadCustomTabResult().getRecords(); + new MetadataService.ReadCustomApplicationComponentResult().getRecords(); + new MetadataService.ReadCustomApplicationResult().getRecords(); + new MetadataService.ReadPortalResult().getRecords(); + new MetadataService.ReadLetterheadResult().getRecords(); + new MetadataService.ReadFlowResult().getRecords(); + new MetadataService.ReadFlowResult().getRecords(); + new MetadataService.ReadDelegateGroupResult().getRecords(); + new MetadataService.ReadEventDeliveryResult().getRecords(); + new MetadataService.ReadEventSubscriptionResult().getRecords(); + new MetadataService.ReadEventTypeResult().getRecords(); + new MetadataService.ReadCertificateResult().getRecords(); + new MetadataService.ReadModerationRuleResult().getRecords(); + new MetadataService.ReadWaveApplicationResult().getRecords(); + new MetadataService.ReadWaveDatasetResult().getRecords(); + new MetadataService.ReadChannelLayoutResult().getRecords(); + new MetadataService.ReadContentAssetResult().getRecords(); + new MetadataService.ReadApexTestSuiteResult().getRecords(); + new MetadataService.ReadCustomValueResult().getRecords(); + new MetadataService.ReadStandardValueResult().getRecords(); + new MetadataService.ReadStandardValueSetResult().getRecords(); + new MetadataService.ReadGlobalPicklistValueResult().getRecords(); + new MetadataService.ReadGlobalValueSetResult().getRecords(); + new MetadataService.ReadSearchSettingsResult().getRecords(); + new MetadataService.ReadOrgPreferenceSettingsResult().getRecords(); + new MetadataService.ReadWaveLensResult().getRecords(); + new MetadataService.ReadWaveDataflowResult().getRecords(); + new MetadataService.ReadWaveDashboardResult().getRecords(); + new MetadataService.ReadEmailServicesFunctionResult().getRecords(); + new MetadataService.ReadEmbeddedServiceBrandingResult().getRecords(); + new MetadataService.ReadEmbeddedServiceConfigResult().getRecords(); + new MetadataService.ReadEmbeddedServiceLiveAgentResult().getRecords(); + new MetadataService.ReadCaseSubjectParticleResult().getRecords(); + new MetadataService.ReadNetworkBrandingResult().getRecords(); + new MetadataService.ReadSocialCustomerServiceSettingsResult().getRecords(); + new MetadataService.ReadTopicsForObjectsResult().getRecords(); + new MetadataService.ReadBrandingSetResult().getRecords(); + new MetadataService.ReadProfilePasswordPolicyResult().getRecords(); + new MetadataService.ReadProfileSessionSettingResult().getRecords(); + new MetadataService.ReadCspTrustedSiteResult().getRecords(); + new MetadataService.ReadEclairGeoDataResult().getRecords(); + new MetadataService.ReadExternalServiceRegistrationResult().getRecords(); + new MetadataService.ReadFileUploadAndDownloadSecuritySettingsResult().getRecords(); + new MetadataService.ReadLeadConvertSettingsResult().getRecords(); + new MetadataService.ReadUserCriteriaResult().getRecords(); + new MetadataService.ReadWavexmdResult().getRecords(); + Test.stopTest(); + } + + @IsTest + private static void elfMissingGetResultTest() { // elf patch + Test.startTest(); + new MetadataService.readWorkflowRuleResponse_element().getResult(); + new MetadataService.readSamlSsoConfigResponse_element().getResult(); + new MetadataService.readCustomLabelResponse_element().getResult(); + new MetadataService.readBusinessHoursEntryResponse_element().getResult(); + new MetadataService.readMobileSettingsResponse_element().getResult(); + new MetadataService.readChatterAnswersSettingsResponse_element().getResult(); + new MetadataService.readSharingRulesResponse_element().getResult(); + new MetadataService.readPortalResponse_element().getResult(); + new MetadataService.readSkillResponse_element().getResult(); + new MetadataService.readEscalationRulesResponse_element().getResult(); + new MetadataService.readCustomDataTypeResponse_element().getResult(); + new MetadataService.readExternalDataSourceResponse_element().getResult(); + new MetadataService.readEntitlementProcessResponse_element().getResult(); + new MetadataService.readRecordTypeResponse_element().getResult(); + new MetadataService.readScontrolResponse_element().getResult(); + new MetadataService.readDataCategoryGroupResponse_element().getResult(); + new MetadataService.readValidationRuleResponse_element().getResult(); + new MetadataService.readProfileResponse_element().getResult(); + new MetadataService.readIdeasSettingsResponse_element().getResult(); + new MetadataService.readConnectedAppResponse_element().getResult(); + new MetadataService.readApexPageResponse_element().getResult(); + new MetadataService.readProductSettingsResponse_element().getResult(); + new MetadataService.readLiveAgentSettingsResponse_element().getResult(); + new MetadataService.readOpportunitySettingsResponse_element().getResult(); + new MetadataService.readLiveChatDeploymentResponse_element().getResult(); + new MetadataService.readActivitiesSettingsResponse_element().getResult(); + new MetadataService.readLayoutResponse_element().getResult(); + new MetadataService.readWebLinkResponse_element().getResult(); + new MetadataService.readSiteDotComResponse_element().getResult(); + new MetadataService.readCompanySettingsResponse_element().getResult(); + new MetadataService.readHomePageLayoutResponse_element().getResult(); + new MetadataService.readDashboardResponse_element().getResult(); + new MetadataService.readAssignmentRulesResponse_element().getResult(); + new MetadataService.readAnalyticSnapshotResponse_element().getResult(); + new MetadataService.readEscalationRuleResponse_element().getResult(); + new MetadataService.readCustomSiteResponse_element().getResult(); + new MetadataService.readGroupResponse_element().getResult(); + new MetadataService.readReportTypeResponse_element().getResult(); + new MetadataService.readQuickActionResponse_element().getResult(); + new MetadataService.readCustomPageWebLinkResponse_element().getResult(); + new MetadataService.readApexComponentResponse_element().getResult(); + new MetadataService.readEntitlementTemplateResponse_element().getResult(); + new MetadataService.readFlexiPageResponse_element().getResult(); + new MetadataService.readWorkflowResponse_element().getResult(); + new MetadataService.readWorkflowActionResponse_element().getResult(); + new MetadataService.readAddressSettingsResponse_element().getResult(); + new MetadataService.readContractSettingsResponse_element().getResult(); + new MetadataService.readCustomObjectResponse_element().getResult(); + new MetadataService.readTranslationsResponse_element().getResult(); + new MetadataService.readRoleOrTerritoryResponse_element().getResult(); + new MetadataService.readApexTriggerResponse_element().getResult(); + new MetadataService.readCustomLabelsResponse_element().getResult(); + new MetadataService.readSecuritySettingsResponse_element().getResult(); + new MetadataService.readCallCenterResponse_element().getResult(); + new MetadataService.readPicklistValueResponse_element().getResult(); + new MetadataService.readRemoteSiteSettingResponse_element().getResult(); + new MetadataService.readQuoteSettingsResponse_element().getResult(); + new MetadataService.readSynonymDictionaryResponse_element().getResult(); + new MetadataService.readPostTemplateResponse_element().getResult(); + new MetadataService.readCustomTabResponse_element().getResult(); + new MetadataService.readLetterheadResponse_element().getResult(); + new MetadataService.readInstalledPackageResponse_element().getResult(); + new MetadataService.readQueueResponse_element().getResult(); + new MetadataService.readAuthProviderResponse_element().getResult(); + new MetadataService.readEntitlementSettingsResponse_element().getResult(); + new MetadataService.readCustomFieldResponse_element().getResult(); + new MetadataService.readStaticResourceResponse_element().getResult(); + new MetadataService.readEmailTemplateResponse_element().getResult(); + new MetadataService.readSharingReasonResponse_element().getResult(); + new MetadataService.readLiveChatButtonResponse_element().getResult(); + new MetadataService.readNetworkResponse_element().getResult(); + new MetadataService.readApprovalProcessResponse_element().getResult(); + new MetadataService.readMilestoneTypeResponse_element().getResult(); + new MetadataService.readAssignmentRuleResponse_element().getResult(); + new MetadataService.readCompactLayoutResponse_element().getResult(); + new MetadataService.readLiveChatAgentConfigResponse_element().getResult(); + new MetadataService.readAccountSettingsResponse_element().getResult(); + new MetadataService.readBusinessProcessResponse_element().getResult(); + new MetadataService.readFlowResponse_element().getResult(); + new MetadataService.readAutoResponseRuleResponse_element().getResult(); + new MetadataService.readPermissionSetResponse_element().getResult(); + new MetadataService.readBusinessHoursSettingsResponse_element().getResult(); + new MetadataService.readForecastingSettingsResponse_element().getResult(); + new MetadataService.readReportResponse_element().getResult(); + new MetadataService.readAppMenuResponse_element().getResult(); + new MetadataService.readListViewResponse_element().getResult(); + new MetadataService.readOrderSettingsResponse_element().getResult(); + new MetadataService.readCustomObjectTranslationResponse_element().getResult(); + new MetadataService.readCustomApplicationResponse_element().getResult(); + new MetadataService.readKnowledgeSettingsResponse_element().getResult(); + new MetadataService.readCaseSettingsResponse_element().getResult(); + new MetadataService.readApexClassResponse_element().getResult(); + new MetadataService.readPackageResponse_element().getResult(); + new MetadataService.readCommunityResponse_element().getResult(); + new MetadataService.readDocumentResponse_element().getResult(); + new MetadataService.readAutoResponseRulesResponse_element().getResult(); + new MetadataService.readFolderResponse_element().getResult(); + new MetadataService.readCustomApplicationComponentResponse_element().getResult(); + new MetadataService.readFieldSetResponse_element().getResult(); + new MetadataService.readSharingSetResponse_element().getResult(); + new MetadataService.readHomePageComponentResponse_element().getResult(); + new MetadataService.readReportFolderResponse_element().getResult(); + new MetadataService.readDashboardFolderResponse_element().getResult(); + new MetadataService.readFlowResponse_element().getResult(); + new MetadataService.readFlowResponse_element().getResult(); + new MetadataService.readDocumentFolderResponse_element().getResult(); + new MetadataService.readEmailFolderResponse_element().getResult(); + new MetadataService.readWorkflowTaskResponse_element().getResult(); + new MetadataService.readWorkflowSendResponse_element().getResult(); + new MetadataService.readWorkflowOutboundMessageResponse_element().getResult(); + new MetadataService.readWorkflowKnowledgePublishResponse_element().getResult(); + new MetadataService.readWorkflowFieldUpdateResponse_element().getResult(); + new MetadataService.readWorkflowAlertResponse_element().getResult(); + new MetadataService.readVisualizationPluginResponse_element().getResult(); + new MetadataService.readCustomMetadataResponse_element().getResult(); + new MetadataService.readNameSettingsResponse_element().getResult(); + new MetadataService.readMarketingActionSettingsResponse_element().getResult(); + new MetadataService.readCustomPermissionResponse_element().getResult(); + new MetadataService.readAuraDefinitionBundleResponse_element().getResult(); + new MetadataService.readCorsWhitelistOriginResponse_element().getResult(); + new MetadataService.readManagedTopicsResponse_element().getResult(); + new MetadataService.readTerritory2Response_element().getResult(); + new MetadataService.readTerritory2ModelResponse_element().getResult(); + new MetadataService.readTerritory2SettingsResponse_element().getResult(); + new MetadataService.readTerritory2TypeResponse_element().getResult(); + new MetadataService.readXOrgHubResponse_element().getResult(); + new MetadataService.readActionLinkGroupTemplateResponse_element().getResult(); + new MetadataService.readLicenseDefinitionResponse_element().getResult(); + new MetadataService.readMarketingResourceTypeResponse_element().getResult(); + new MetadataService.readMatchingRuleResponse_element().getResult(); + new MetadataService.readMatchingRulesResponse_element().getResult(); + new MetadataService.readNamedCredentialResponse_element().getResult(); + new MetadataService.readPersonalJourneySettingsResponse_element().getResult(); + new MetadataService.readSharingBaseRuleResponse_element().getResult(); + new MetadataService.readSharingCriteriaRuleResponse_element().getResult(); + new MetadataService.readSharingOwnerRuleResponse_element().getResult(); + new MetadataService.readSharingTerritoryRuleResponse_element().getResult(); + new MetadataService.readMetadataWithContentResponse_element().getResult(); + new MetadataService.readDelegateGroupResponse_element().getResult(); + new MetadataService.readEventDeliveryResponse_element().getResult(); + new MetadataService.readEventSubscriptionResponse_element().getResult(); + new MetadataService.readEventTypeResponse_element().getResult(); + new MetadataService.readCertificateResponse_element().getResult(); + new MetadataService.readModerationRuleResponse_element().getResult(); + new MetadataService.readWaveApplicationResponse_element().getResult(); + new MetadataService.readWaveDatasetResponse_element().getResult(); + new MetaDataService.readWaveDataflowResponse_element().getResult(); + new MetaDataService.readWaveLensResponse_element().getResult(); + new MetaDataService.readOrgPreferenceSettingsResponse_element().getResult(); + new MetaDataService.readSearchSettingsResponse_element().getResult(); + new MetadataService.readGlobalPicklistValueResponse_element().getResult(); + new MetadataService.readPicklistValueResponse_element().getResult(); + new MetadataService.readContentAssetResponse_element().getResult(); + new MetadataService.readChannelLayoutResponse_element().getResult(); + new MetadataService.readApexTestSuiteResponse_element().getResult(); + new MetadataService.readCustomValueResponse_element().getResult(); + new MetadataService.readStandardValueResponse_element().getResult(); + new MetadataService.readStandardValueSetResponse_element().getResult(); + new MetadataService.readGlobalValueSetResponse_element().getResult(); + new MetadataService.readWaveDashboardResponse_element().getResult(); + new MetadataService.readEmailServicesFunctionResponse_element().getResult(); + new MetadataService.readEmbeddedServiceBrandingResponse_element().getResult(); + new MetadataService.readEmbeddedServiceConfigResponse_element().getResult(); + new MetadataService.readEmbeddedServiceLiveAgentResponse_element().getResult(); + new MetadataService.readCaseSubjectParticleResponse_element().getResult(); + new MetadataService.readNetworkBrandingResponse_element().getResult(); + new MetadataService.readSocialCustomerServiceSettingsResponse_element().getResult(); + new MetadataService.readTopicsForObjectsResponse_element().getResult(); + new MetadataService.readBrandingSetResponse_element().getResult(); + new MetadataService.readProfilePasswordPolicyResponse_element().getResult(); + new MetadataService.readProfileSessionSettingResponse_element().getResult(); + new MetadataService.readCspTrustedSiteResponse_element().getResult(); + new MetadataService.readEclairGeoDataResponse_element().getResult(); + new MetadataService.readExternalServiceRegistrationResponse_element().getResult(); + new MetadataService.readFileUploadAndDownloadSecuritySettingsResponse_element().getResult(); + new MetadataService.readLeadConvertSettingsResponse_element().getResult(); + new MetadataService.readUserCriteriaResponse_element().getResult(); + new MetadataService.readWavexmdResponse_element().getResult(); + Test.stopTest(); + } +} \ No newline at end of file diff --git a/sfdx-project/force-app/main/default/classes/MetadataServiceTest.cls-meta.xml b/sfdx-project/force-app/main/default/classes/MetadataServiceTest.cls-meta.xml new file mode 100644 index 0000000..fec71a2 --- /dev/null +++ b/sfdx-project/force-app/main/default/classes/MetadataServiceTest.cls-meta.xml @@ -0,0 +1,5 @@ + + + 42.0 + Active + diff --git a/sfdx-project/force-app/main/default/classes/RemoteSiteHelperController.cls b/sfdx-project/force-app/main/default/classes/RemoteSiteHelperController.cls new file mode 100644 index 0000000..5084f92 --- /dev/null +++ b/sfdx-project/force-app/main/default/classes/RemoteSiteHelperController.cls @@ -0,0 +1,63 @@ +global class RemoteSiteHelperController { + + public String Host {get;set;} + global String rssNameString {get;set;} + public String MetadataResponse {get;set;} + public Boolean MetadataConnectionWarning {get;set;} + public String MetadataApiException {get;set;} + global static Exception LastMetadataAPIConnectionException {get; private set;} + + global RemoteSiteHelperController() { + Host = ApexPages.currentPage().getHeaders().get('Host'); + + // Attempt to connect to the Metadata API + MetadataConnectionWarning = false; + if(!RemoteSiteHelperController.checkMetadataAPIConnection()) + { + ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Error, 'Unable to connect to the Salesforce Metadata API.')); + ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Error, 'A Remote Site Setting must be created in your org before you can use this tool.')); + ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Error, 'Press the Create Remote Site Setting button to perform this step or refer to the post install step below to perform this manually.')); + MetadataConnectionWarning = true; + MetadataApiException = ''; + if(RemoteSiteHelperController.LastMetadataAPIConnectionException!=null) + MetadataApiException = RemoteSiteHelperController.LastMetadataAPIConnectionException.getMessage(); + } + + } + + public PageReference displayMetadataResponse() + { + // Display the response from the client side Metadata API callout + if(metadataResponse.length()==0) + { + String infoString = String.format('Remote Site Setting {0} has been created.',new String[]{rssNameString}); + ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Info, infoString)); + MetadataConnectionWarning = false; + } + else + { + ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Error, metadataResponse)); + MetadataConnectionWarning = true; + } + return null; + } + + global static Boolean checkMetadataAPIConnection() + { + try { + MetadataService.MetadataPort service = new MetadataService.MetadataPort(); + service.SessionHeader = new MetadataService.SessionHeader_element(); + service.SessionHeader.sessionId = UserInfo.getSessionId(); + List queries = new List(); + MetadataService.ListMetadataQuery remoteSites = new MetadataService.ListMetadataQuery(); + remoteSites.type_x = 'RemoteSiteSetting'; + queries.add(remoteSites); + service.listMetadata(queries, 28); + } catch (Exception e) { + LastMetadataAPIConnectionException = e; + return false; + } + LastMetadataAPIConnectionException = null; + return true; + } +} \ No newline at end of file diff --git a/sfdx-project/force-app/main/default/classes/RemoteSiteHelperController.cls-meta.xml b/sfdx-project/force-app/main/default/classes/RemoteSiteHelperController.cls-meta.xml new file mode 100644 index 0000000..fec71a2 --- /dev/null +++ b/sfdx-project/force-app/main/default/classes/RemoteSiteHelperController.cls-meta.xml @@ -0,0 +1,5 @@ + + + 42.0 + Active + diff --git a/sfdx-project/force-app/main/default/classes/RemoteSiteHelperTest.cls b/sfdx-project/force-app/main/default/classes/RemoteSiteHelperTest.cls new file mode 100644 index 0000000..2d0052d --- /dev/null +++ b/sfdx-project/force-app/main/default/classes/RemoteSiteHelperTest.cls @@ -0,0 +1,35 @@ +@IsTest +private class RemoteSiteHelperTest +{ + @IsTest + private static void testCheckMetadataAPIConnection() + { + // Metadata API web Service mock implementation for tests + Test.setMock(WebServiceMock.class, new WebServiceMockImpl()); + + RemoteSiteHelperController controller = new RemoteSiteHelperController(); + System.assertEquals(true, controller.MetadataConnectionWarning); + controller.MetadataResponse = ''; + controller.displayMetadataResponse(); + System.assertEquals(false, controller.MetadataConnectionWarning); + controller.MetadataResponse = 'Some Error Creating Remote Site Setting'; + controller.displayMetadataResponse(); + System.assertEquals(true, controller.MetadataConnectionWarning); + } + + /** + * Metadata API web service mock class for tests above + **/ + private class WebServiceMockImpl implements WebServiceMock + { + public void doInvoke( + Object stub, Object request, Map response, + String endpoint, String soapAction, String requestName, + String responseNS, String responseName, String responseType) + { + throw new TestException(); + } + } + + public class TestException extends Exception { } +} \ No newline at end of file diff --git a/sfdx-project/force-app/main/default/classes/RemoteSiteHelperTest.cls-meta.xml b/sfdx-project/force-app/main/default/classes/RemoteSiteHelperTest.cls-meta.xml new file mode 100644 index 0000000..fec71a2 --- /dev/null +++ b/sfdx-project/force-app/main/default/classes/RemoteSiteHelperTest.cls-meta.xml @@ -0,0 +1,5 @@ + + + 42.0 + Active + diff --git a/sfdx-project/force-app/main/default/components/remotesitehelper.component b/sfdx-project/force-app/main/default/components/remotesitehelper.component new file mode 100644 index 0000000..04e9a2b --- /dev/null +++ b/sfdx-project/force-app/main/default/components/remotesitehelper.component @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + +

Important Post Install Step:

+

In order to utilise the features of this tool, you need to permit the tool access to the Salesforce Metadata API. This can be accomplished by adding a Remote Site Setting with this Salesforce Server URL https://{!Host}

+

Click the Create Remote Site Setting button to have the tool perform this step for you.

+ +
+

Overview: {!pageOverview}

+

Link: {!pageOverviewLinkText}

+ + +

DEBUG USE ONLY: {!metadataApiException}

+
+
+ +
\ No newline at end of file diff --git a/sfdx-project/force-app/main/default/components/remotesitehelper.component-meta.xml b/sfdx-project/force-app/main/default/components/remotesitehelper.component-meta.xml new file mode 100644 index 0000000..9901d31 --- /dev/null +++ b/sfdx-project/force-app/main/default/components/remotesitehelper.component-meta.xml @@ -0,0 +1,5 @@ + + + 38.0 + + diff --git a/sfdx-project/force-app/main/default/components/unzip.component b/sfdx-project/force-app/main/default/components/unzip.component new file mode 100644 index 0000000..9960918 --- /dev/null +++ b/sfdx-project/force-app/main/default/components/unzip.component @@ -0,0 +1,66 @@ + + + + + + \ No newline at end of file diff --git a/sfdx-project/force-app/main/default/components/unzip.component-meta.xml b/sfdx-project/force-app/main/default/components/unzip.component-meta.xml new file mode 100644 index 0000000..e7b9e9d --- /dev/null +++ b/sfdx-project/force-app/main/default/components/unzip.component-meta.xml @@ -0,0 +1,5 @@ + + + 38.0 + + diff --git a/sfdx-project/force-app/main/default/components/zip.component b/sfdx-project/force-app/main/default/components/zip.component new file mode 100644 index 0000000..bd4e823 --- /dev/null +++ b/sfdx-project/force-app/main/default/components/zip.component @@ -0,0 +1,46 @@ + + + + + + + + + \ No newline at end of file diff --git a/sfdx-project/force-app/main/default/components/zip.component-meta.xml b/sfdx-project/force-app/main/default/components/zip.component-meta.xml new file mode 100644 index 0000000..2e3f07f --- /dev/null +++ b/sfdx-project/force-app/main/default/components/zip.component-meta.xml @@ -0,0 +1,5 @@ + + + 38.0 + + diff --git a/sfdx-project/force-app/main/default/components/zipEntry.component b/sfdx-project/force-app/main/default/components/zipEntry.component new file mode 100644 index 0000000..c8f7d0e --- /dev/null +++ b/sfdx-project/force-app/main/default/components/zipEntry.component @@ -0,0 +1,34 @@ + + + + + + \ No newline at end of file diff --git a/sfdx-project/force-app/main/default/components/zipEntry.component-meta.xml b/sfdx-project/force-app/main/default/components/zipEntry.component-meta.xml new file mode 100644 index 0000000..7d5e02a --- /dev/null +++ b/sfdx-project/force-app/main/default/components/zipEntry.component-meta.xml @@ -0,0 +1,5 @@ + + + 38.0 + + diff --git a/sfdx-project/force-app/main/default/documents/MetadataServicePatcher.documentFolder-meta.xml b/sfdx-project/force-app/main/default/documents/MetadataServicePatcher.documentFolder-meta.xml new file mode 100644 index 0000000..f04d2f4 --- /dev/null +++ b/sfdx-project/force-app/main/default/documents/MetadataServicePatcher.documentFolder-meta.xml @@ -0,0 +1,6 @@ + + + Public + MetadataServicePatcher + ReadWrite + diff --git a/sfdx-project/force-app/main/default/lwc/.eslintrc.json b/sfdx-project/force-app/main/default/lwc/.eslintrc.json new file mode 100644 index 0000000..a82e76d --- /dev/null +++ b/sfdx-project/force-app/main/default/lwc/.eslintrc.json @@ -0,0 +1,14 @@ +{ + "extends": ["@salesforce/eslint-config-lwc/recommended"], + "overrides": [ + { + "files": ["*.test.js"], + "rules": { + "@lwc/lwc/no-unexpected-wire-adapter-usages": "off" + }, + "env": { + "node": true + } + } + ] +} diff --git a/sfdx-project/force-app/main/default/lwc/metadataBrowser/metadataBrowser.html b/sfdx-project/force-app/main/default/lwc/metadataBrowser/metadataBrowser.html new file mode 100644 index 0000000..0697767 --- /dev/null +++ b/sfdx-project/force-app/main/default/lwc/metadataBrowser/metadataBrowser.html @@ -0,0 +1,12 @@ + \ No newline at end of file diff --git a/sfdx-project/force-app/main/default/lwc/metadataBrowser/metadataBrowser.js b/sfdx-project/force-app/main/default/lwc/metadataBrowser/metadataBrowser.js new file mode 100644 index 0000000..13647d5 --- /dev/null +++ b/sfdx-project/force-app/main/default/lwc/metadataBrowser/metadataBrowser.js @@ -0,0 +1,102 @@ +import { LightningElement, track, wire } from 'lwc'; +import retrieveDescribeMetadata from '@salesforce/apex/MetadataBrowserLwcController.retrieveDescribeMetadata'; +import retrieveListMetadata from '@salesforce/apex/MetadataBrowserLwcController.retrieveListMetadata'; + +export default class MetadataBrowser extends LightningElement { + descMetaResult; + gridColumns = [ + { + type: 'text', + fieldName: 'metadataType', + label: 'Metadata Type', + } + ]; + @track gridData; + @track expandedRows = []; + + get isMetadataListLoaded() { + return !(!this.gridColumns) && !(!this.gridData); + } + + @wire(retrieveDescribeMetadata, {}) + wiredDescribeMetadata({ error, data }) { + if (data) { + this.descMetaResult = JSON.parse(data); + console.log(`this.descMetaResult: ${JSON.stringify(this.descMetaResult, null, 4)}`); + this.populateGridData(); + } else if (error) { + console.error(error); + } + } + + populateGridData() { + const dataArray = []; + console.log('Populating dataArray'); + this.descMetaResult.metadataObjects.forEach(metadataObj => { + dataArray.push({ + metadataType: metadataObj.xmlName, + hasCalledApi: false, + inFolder: metadataObj.inFolder, + _children: [] + }); + }); + dataArray.sort((itemA, itemB) => { + return itemA.metadataType.localeCompare(itemB.metadataType) + }); + this.gridData = dataArray; + } + + // connectedCallback() { + // console.log('This one has children!'); + // } + + renderedCallback() { + // console.log(`this.isMetadataListLoaded: ${this.isMetadataListLoaded}`); + } + + handleToggle(event) { + console.log(JSON.stringify(event.detail, null, 4)); + // event.detail: + // { + // "name": "ApexClass", + // "isExpanded": true, + // "hasChildrenContent": false, + // "row": { + // "metadataType": "ApexClass", + // "hasCalledApi": false, + // "_children": [] + // } + // } + if(!event.detail.row.hasCalledApi) { + console.log(`I haven't called the Metadata API yet for this metadataType, I'm doin' it!!`); + const mdType = event.detail.name; + console.log(`mdType: ${mdType}`); + retrieveListMetadata({ metadataTypeName: mdType }) + .then(result => { + const listMetaResult = JSON.parse(result); + console.log(`List Metadata Result: ${JSON.stringify(listMetaResult, null, 4)}`); + // Find gridData node, set hasCalledApi to true, and populate it with children + const idxCurrentNode = this.gridData.findIndex(node => node.name === mdType); + const updatedNode = { ...this.gridData[idxCurrentNode] }; + updatedNode.hasCalledApi = true; + console.log(`updatedNode: ${JSON.stringify(updatedNode, null, 4)}`); + const childrenArray = listMetaResult.map(result => result.fullName); + updatedNode._children = childrenArray; + this.gridData[idxCurrentNode] = updatedNode; + }) + .catch(error => { + console.error(`List Metadata Error: ${JSON.stringify(error, null, 4)}`); + }); + } + if(!event.detail.isExpanded) { + const idxCurrentNode = this.gridData.findIndex(node => node.name === event.detail.name); + const updatedNode = { ...this.gridData[idxCurrentNode] }; + updatedNode.isExpanded = true; + this.gridData[idxCurrentNode] = updatedNode; + } + } + + handleRowSelection(event) { + console.log('Somebody selected something!'); + } +} \ No newline at end of file diff --git a/sfdx-project/force-app/main/default/lwc/metadataBrowser/metadataBrowser.js-meta.xml b/sfdx-project/force-app/main/default/lwc/metadataBrowser/metadataBrowser.js-meta.xml new file mode 100644 index 0000000..b93f887 --- /dev/null +++ b/sfdx-project/force-app/main/default/lwc/metadataBrowser/metadataBrowser.js-meta.xml @@ -0,0 +1,9 @@ + + + 59.0 + true + Metadata Browser + + lightning__Tab + + \ No newline at end of file diff --git a/sfdx-project/force-app/main/default/pages/metadatabrowser.page b/sfdx-project/force-app/main/default/pages/metadatabrowser.page new file mode 100644 index 0000000..d4f79dc --- /dev/null +++ b/sfdx-project/force-app/main/default/pages/metadatabrowser.page @@ -0,0 +1,90 @@ + + + + + + + \ No newline at end of file diff --git a/sfdx-project/force-app/main/default/pages/metadatabrowser.page-meta.xml b/sfdx-project/force-app/main/default/pages/metadatabrowser.page-meta.xml new file mode 100644 index 0000000..d771ed2 --- /dev/null +++ b/sfdx-project/force-app/main/default/pages/metadatabrowser.page-meta.xml @@ -0,0 +1,5 @@ + + + 38.0 + + diff --git a/sfdx-project/force-app/main/default/pages/metadatadata.page b/sfdx-project/force-app/main/default/pages/metadatadata.page new file mode 100644 index 0000000..e85633f --- /dev/null +++ b/sfdx-project/force-app/main/default/pages/metadatadata.page @@ -0,0 +1,28 @@ + +{!Data} \ No newline at end of file diff --git a/sfdx-project/force-app/main/default/pages/metadatadata.page-meta.xml b/sfdx-project/force-app/main/default/pages/metadatadata.page-meta.xml new file mode 100644 index 0000000..818c627 --- /dev/null +++ b/sfdx-project/force-app/main/default/pages/metadatadata.page-meta.xml @@ -0,0 +1,5 @@ + + + 38.0 + + diff --git a/sfdx-project/force-app/main/default/pages/metadatadeploy.page b/sfdx-project/force-app/main/default/pages/metadatadeploy.page new file mode 100644 index 0000000..c6df2ae --- /dev/null +++ b/sfdx-project/force-app/main/default/pages/metadatadeploy.page @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfdx-project/force-app/main/default/pages/metadatadeploy.page-meta.xml b/sfdx-project/force-app/main/default/pages/metadatadeploy.page-meta.xml new file mode 100644 index 0000000..a9cf8d6 --- /dev/null +++ b/sfdx-project/force-app/main/default/pages/metadatadeploy.page-meta.xml @@ -0,0 +1,5 @@ + + + 38.0 + + diff --git a/sfdx-project/force-app/main/default/pages/metadataretrieve.page b/sfdx-project/force-app/main/default/pages/metadataretrieve.page new file mode 100644 index 0000000..7af89fa --- /dev/null +++ b/sfdx-project/force-app/main/default/pages/metadataretrieve.page @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {!MetaDataRetrieveZip} + + + + + + +
{!file.content}
+
+
+
+
+
+
\ No newline at end of file diff --git a/sfdx-project/force-app/main/default/pages/metadataretrieve.page-meta.xml b/sfdx-project/force-app/main/default/pages/metadataretrieve.page-meta.xml new file mode 100644 index 0000000..d269065 --- /dev/null +++ b/sfdx-project/force-app/main/default/pages/metadataretrieve.page-meta.xml @@ -0,0 +1,5 @@ + + + 38.0 + + diff --git a/sfdx-project/force-app/main/default/pages/remotesitepage.page b/sfdx-project/force-app/main/default/pages/remotesitepage.page new file mode 100644 index 0000000..1c429dc --- /dev/null +++ b/sfdx-project/force-app/main/default/pages/remotesitepage.page @@ -0,0 +1,10 @@ + + + \ No newline at end of file diff --git a/sfdx-project/force-app/main/default/pages/remotesitepage.page-meta.xml b/sfdx-project/force-app/main/default/pages/remotesitepage.page-meta.xml new file mode 100644 index 0000000..8a82569 --- /dev/null +++ b/sfdx-project/force-app/main/default/pages/remotesitepage.page-meta.xml @@ -0,0 +1,5 @@ + + + 38.0 + + diff --git a/sfdx-project/force-app/main/default/pages/sessionid.page b/sfdx-project/force-app/main/default/pages/sessionid.page new file mode 100644 index 0000000..7860931 --- /dev/null +++ b/sfdx-project/force-app/main/default/pages/sessionid.page @@ -0,0 +1,3 @@ + + {!$Api.Session_ID} + \ No newline at end of file diff --git a/sfdx-project/force-app/main/default/pages/sessionid.page-meta.xml b/sfdx-project/force-app/main/default/pages/sessionid.page-meta.xml new file mode 100644 index 0000000..29c07ec --- /dev/null +++ b/sfdx-project/force-app/main/default/pages/sessionid.page-meta.xml @@ -0,0 +1,5 @@ + + + 59.0 + + \ No newline at end of file diff --git a/sfdx-project/force-app/main/default/permissionsets/Apex_Metadata_API.permissionset-meta.xml b/sfdx-project/force-app/main/default/permissionsets/Apex_Metadata_API.permissionset-meta.xml new file mode 100644 index 0000000..6dce44f --- /dev/null +++ b/sfdx-project/force-app/main/default/permissionsets/Apex_Metadata_API.permissionset-meta.xml @@ -0,0 +1,65 @@ + + + + MetadataDataController + true + + + MetadataDeployController + true + + + MetadataRetrieveController + true + + + MetadataService + true + + + MetadataServiceExamples + true + + + MetadataServicePatcher + true + + + RemoteSiteHelperController + true + + false + + + metadatabrowser + true + + + metadatadata + true + + + metadatadeploy + true + + + metadataretrieve + true + + + remotesitepage + true + + + MetadataBrowser + Visible + + + MetadataDeployDemo + Visible + + + MetadataRetrieveDemo + Visible + + diff --git a/sfdx-project/force-app/main/default/staticresources/extjs.resource-meta.xml b/sfdx-project/force-app/main/default/staticresources/extjs.resource-meta.xml new file mode 100644 index 0000000..664da7f --- /dev/null +++ b/sfdx-project/force-app/main/default/staticresources/extjs.resource-meta.xml @@ -0,0 +1,5 @@ + + + Private + application/zip + diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/._ext-all-debug.js b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/._ext-all-debug.js new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/._resources b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/._resources new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/._.DS_Store b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/._.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..321346b56958ca49a4cec87e452fe5f048ea9c64 GIT binary patch literal 82 ucmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u>uf-_(4F-09OIxU;zLoY6T$x literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/._css b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/._css new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/._themes b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/._themes new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/css/._.DS_Store b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/css/._.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..321346b56958ca49a4cec87e452fe5f048ea9c64 GIT binary patch literal 82 ucmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u>uf-_(4F-09OIxU;zLoY6T$x literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/css/._ext-all.css b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/css/._ext-all.css new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/._.DS_Store b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/._.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..321346b56958ca49a4cec87e452fe5f048ea9c64 GIT binary patch literal 82 ucmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u>uf-_(4F-09OIxU;zLoY6T$x literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/._images b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/._images new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/._access b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/._access new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/._default b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/._default new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/._gray b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/._gray new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/._neptune b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/._neptune new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._boundlist b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._boundlist new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._box b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._box new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._btn b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._btn new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._btn-group b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._btn-group new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._button b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._button new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._datepicker b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._datepicker new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._dd b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._dd new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._editor b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._editor new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._form b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._form new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._form-invalid-tip b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._form-invalid-tip new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._grid b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._grid new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._layout b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._layout new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._menu b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._menu new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._panel b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._panel new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._panel-header b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._panel-header new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._progress b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._progress new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._qtip b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._qtip new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._shared b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._shared new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._sizer b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._sizer new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._slider b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._slider new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._spinner.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._tab b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._tab new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._tab-bar b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._tab-bar new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._tabs b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._tabs new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._tip b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._tip new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._toolbar b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._toolbar new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._tools b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._tools new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._tree b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._tree new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._util b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._util new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._window b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._window new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._window-header b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/._window-header new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/boundlist/._trigger-arrow.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/boundlist/._trigger-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._corners-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._corners-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._l-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._l-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._l.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._l.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._r-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._r-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._r.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._r.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._tb-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._tb-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._tb.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/box/._tb.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-default-framed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-default-framed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-default-framed-notitle-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-default-framed-notitle-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-default-framed-notitle-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-default-framed-notitle-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-default-framed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-default-framed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-framed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-framed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-framed-notitle-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-framed-notitle-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-framed-notitle-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-framed-notitle-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-framed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn-group/._btn-group-framed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-disabled-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-disabled-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-pressed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-pressed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-large-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-disabled-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-disabled-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-pressed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-pressed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-medium-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-disabled-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-disabled-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-pressed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-pressed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-small-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-large-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-medium-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-default-toolbar-small-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-large-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-medium-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/btn/._btn-toolbar-small-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._arrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._arrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._btn.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._btn.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._group-cs.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._group-cs.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._group-lr.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._group-lr.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._group-tb.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._group-tb.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._s-arrow-b-noline.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._s-arrow-b-noline.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._s-arrow-b.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._s-arrow-b.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._s-arrow-bo.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._s-arrow-bo.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._s-arrow-light.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._s-arrow-light.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._s-arrow-noline.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._s-arrow-noline.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._s-arrow-o.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._s-arrow-o.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._s-arrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/button/._s-arrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/datepicker/._datepicker-footer-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/datepicker/._datepicker-footer-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/datepicker/._datepicker-header-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/datepicker/._datepicker-header-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/dd/._drop-add.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/dd/._drop-add.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/dd/._drop-between.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/dd/._drop-between.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/dd/._drop-no.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/dd/._drop-no.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/dd/._drop-over.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/dd/._drop-over.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/dd/._drop-under.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/dd/._drop-under.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/dd/._drop-yes.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/dd/._drop-yes.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/editor/._tb-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/editor/._tb-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form-invalid-tip/._form-invalid-tip-default-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form-invalid-tip/._form-invalid-tip-default-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form-invalid-tip/._form-invalid-tip-default-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form-invalid-tip/._form-invalid-tip-default-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._checkbox.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._checkbox.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._checkbox_.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._checkbox_.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._clear-trigger.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._clear-trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._date-trigger.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._date-trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._error-tip-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._error-tip-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._exclamation.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._exclamation.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._radio.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._radio.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._radio_.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._radio_.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._search-trigger.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._search-trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._spinner-small.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._spinner-small.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._spinner.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._spinner_.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._spinner_.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._text-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._text-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._trigger-tpl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._trigger-tpl.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._trigger.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/form/._trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._arrow-left-white.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._arrow-left-white.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._arrow-right-white.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._arrow-right-white.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._cell-special-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._cell-special-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._cell-special-selected-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._cell-special-selected-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._checked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._checked.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._col-move-bottom.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._col-move-bottom.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._col-move-top.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._col-move-top.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._column-header-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._column-header-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._column-header-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._column-header-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._columns.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._columns.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._dd-insert-arrow-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._dd-insert-arrow-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._dd-insert-arrow-left.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._dd-insert-arrow-left.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._dd-insert-arrow-right.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._dd-insert-arrow-right.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._dd-insert-arrow-right.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._dd-insert-arrow-right.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._dirty.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._dirty.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._done.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._done.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._drop-no.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._drop-no.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._drop-yes.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._drop-yes.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._footer-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._footer-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid-blue-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid-blue-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid-blue-split.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid-blue-split.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid-hrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid-hrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid-loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid-loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid-split.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid-split.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid-vista-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid-vista-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid3-hd-btn.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid3-hd-btn.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid3-hrow-over.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid3-hrow-over.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid3-hrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid3-hrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid3-special-col-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid3-special-col-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid3-special-col-sel-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._grid3-special-col-sel-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._group-by.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._group-by.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._group-collapse.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._group-collapse.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._group-expand-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._group-expand-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._group-expand.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._group-expand.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._hd-pop.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._hd-pop.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._hmenu-asc.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._hmenu-asc.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._hmenu-desc.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._hmenu-desc.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._hmenu-lock.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._hmenu-lock.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._hmenu-lock.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._hmenu-lock.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._hmenu-unlock.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._hmenu-unlock.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._hmenu-unlock.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._hmenu-unlock.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._invalid_line.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._invalid_line.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._mso-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._mso-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._nowait.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._nowait.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-first-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-first-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-first.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-first.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-last-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-last-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-last.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-last.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-next-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-next-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-next.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-next.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-prev-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-prev-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-prev.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._page-prev.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._pick-button.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._pick-button.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._property-cell-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._property-cell-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._refresh-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._refresh-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._refresh.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._refresh.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._row-check-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._row-check-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._row-expand-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._row-expand-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._row-over.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._row-over.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._row-sel.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._row-sel.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._sort-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._sort-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._sort_asc.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._sort_asc.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._sort_desc.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._sort_desc.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._unchecked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._unchecked.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._wait.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/grid/._wait.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/layout/._mini-bottom.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/layout/._mini-bottom.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/layout/._mini-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/layout/._mini-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/layout/._mini-right.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/layout/._mini-right.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/layout/._mini-top.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/layout/._mini-top.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._checked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._checked.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._group-checked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._group-checked.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._item-over.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._item-over.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._menu-item-active-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._menu-item-active-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._menu-item-active-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._menu-item-active-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._menu-item-active-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._menu-item-active-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._menu-parent.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._menu-parent.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._menu.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._menu.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._unchecked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/menu/._unchecked.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-bottom-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-bottom-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-bottom-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-bottom-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-bottom-noborder-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-bottom-noborder-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-bottom-noborder-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-bottom-noborder-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-bottom-noborder-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-bottom-noborder-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-bottom-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-bottom-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-left-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-left-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-left-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-left-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-left-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-left-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-right-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-right-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-right-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-right-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-right-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-right-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-top-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-top-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-collapsed-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-left-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-left-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-left-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-left-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-left-noborder-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-left-noborder-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-left-noborder-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-left-noborder-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-left-noborder-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-left-noborder-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-left-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-left-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-right-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-right-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-right-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-right-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-right-noborder-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-right-noborder-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-right-noborder-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-right-noborder-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-right-noborder-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-right-noborder-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-right-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-right-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-top-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-top-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-top-noborder-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-top-noborder-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-top-noborder-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-top-noborder-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-top-noborder-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-top-noborder-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-framed-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-left-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-left-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-right-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-right-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-top-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-default-top-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-framed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-framed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-framed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-framed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-framed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-framed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-vertical-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel-header/._panel-header-vertical-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._corners-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._corners-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._left-right.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._left-right.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._light-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._light-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._panel-default-framed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._panel-default-framed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._panel-default-framed-noborder-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._panel-default-framed-noborder-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._panel-default-framed-noborder-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._panel-default-framed-noborder-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._panel-default-framed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._panel-default-framed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._panel-framed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._panel-framed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._panel-framed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._panel-framed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._tool-sprite-tpl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._tool-sprite-tpl.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._tool-sprites.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._tool-sprites.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._tools-sprites-trans.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._tools-sprites-trans.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._top-bottom.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._top-bottom.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._white-corners-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._white-corners-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._white-left-right.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._white-left-right.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._white-top-bottom.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/panel/._white-top-bottom.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/progress/._progress-default-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/progress/._progress-default-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/qtip/._close.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/qtip/._close.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/qtip/._tip-anchor-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/qtip/._tip-anchor-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/qtip/._tip-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/qtip/._tip-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._blue-loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._blue-loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._glass-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._glass-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._hd-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._hd-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._icon-error.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._icon-error.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._icon-info.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._icon-info.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._icon-question.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._icon-question.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._icon-warning.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._icon-warning.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._large-loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._large-loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._left-btn.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._left-btn.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._right-btn.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/shared/._right-btn.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._e-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._e-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._e-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._e-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._ne-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._ne-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._ne-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._ne-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._nw-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._nw-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._nw-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._nw-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._s-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._s-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._s-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._s-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._se-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._se-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._se-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._se-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._square.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._square.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._sw-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._sw-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._sw-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/sizer/._sw-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-thumb.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-thumb.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-thumb.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-v-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-v-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-v-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-v-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-v-thumb.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-v-thumb.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-v-thumb.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/slider/._slider-v-thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab-bar/._scroll-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab-bar/._scroll-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab-bar/._scroll-right.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab-bar/._scroll-right.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab-bar/._tab-bar-default-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab-bar/._tab-bar-default-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-active-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-active-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-active-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-active-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-active-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-active-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-active-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-active-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-active-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-active-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-active-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-active-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-default-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-active-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-active-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-active-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-active-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tab/._tab-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tab-btm-inactive-left-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tab-btm-inactive-left-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tab-btm-inactive-right-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tab-btm-inactive-right-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tab-btm-left-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tab-btm-left-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tab-btm-right-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tab-btm-right-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tab-close.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tab-close.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tab-strip-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tab-strip-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tab-strip-btm-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tab-strip-btm-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tabs-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tabs/._tabs-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tip/._tip-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tip/._tip-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tip/._tip-corners.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tip/._tip-corners.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tip/._tip-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tip/._tip-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tip/._tip-sides.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tip/._tip-sides.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._btn-arrow-light.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._btn-arrow-light.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._btn-arrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._btn-arrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._btn-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._btn-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._gray-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._gray-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._more.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._more.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._s-arrow-bo.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._s-arrow-bo.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._scroll-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._scroll-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._scroll-right.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._scroll-right.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._tb-btn-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._tb-btn-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._tb-xl-btn-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._tb-xl-btn-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._tb-xl-sep.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._tb-xl-sep.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._toolbar-default-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/toolbar/._toolbar-default-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tools/._tool-sprite-tpl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tools/._tool-sprite-tpl.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tools/._tool-sprites.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tools/._tool-sprites.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tools/._tools-sprites-trans.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tools/._tools-sprites-trans.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._arrows.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._arrows.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-above.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-above.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-add.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-add.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-append.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-append.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-below.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-below.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-between.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-between.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-no.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-no.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-over.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-over.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-under.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-under.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-yes.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._drop-yes.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-end-minus-nl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-end-minus-nl.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-end-minus.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-end-minus.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-end-plus-nl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-end-plus-nl.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-end-plus.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-end-plus.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-end.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-end.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-line.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-line.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-minus-nl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-minus-nl.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-minus.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-minus.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-plus-nl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-plus-nl.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-plus.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow-plus.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._elbow.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._folder-open.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._folder-open.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._folder.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._folder.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._leaf.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._leaf.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._s.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/tree/._s.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/util/._splitter b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/util/._splitter new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/util/splitter/._mini-bottom.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/util/splitter/._mini-bottom.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/util/splitter/._mini-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/util/splitter/._mini-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/util/splitter/._mini-right.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/util/splitter/._mini-right.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/util/splitter/._mini-top.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/util/splitter/._mini-top.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-left-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-left-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-left-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-left-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-right-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-right-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-right-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-right-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-collapsed-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-left-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-left-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-left-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-left-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-right-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-right-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-right-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-right-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window-header/._window-header-default-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._icon-error.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._icon-error.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._icon-info.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._icon-info.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._icon-question.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._icon-question.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._icon-warning.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._icon-warning.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._window-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._window-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._window-default-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._window-default-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._window-default-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._window-default-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._window-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/access/window/._window-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._boundlist b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._boundlist new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._box b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._box new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._btn b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._btn new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._btn-group b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._btn-group new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._button b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._button new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._datepicker b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._datepicker new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._dd b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._dd new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._editor b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._editor new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._form b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._form new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._form-invalid-tip b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._form-invalid-tip new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._grid b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._grid new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._layout b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._layout new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._menu b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._menu new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._panel b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._panel new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._panel-header b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._panel-header new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._progress b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._progress new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._shared b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._shared new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._sizer b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._sizer new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._slider b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._slider new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._tab b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._tab new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._tab-bar b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._tab-bar new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._tip b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._tip new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._toolbar b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._toolbar new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._tools b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._tools new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._tree b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._tree new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._util b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._util new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._window b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._window new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._window-header b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/._window-header new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/boundlist/._trigger-arrow.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/boundlist/._trigger-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._corners-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._corners-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._l-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._l-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._l.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._l.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._r-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._r-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._r.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._r.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._tb-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._tb-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._tb.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/box/._tb.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn-group/._btn-group-default-framed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn-group/._btn-group-default-framed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn-group/._btn-group-default-framed-notitle-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn-group/._btn-group-default-framed-notitle-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn-group/._btn-group-default-framed-notitle-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn-group/._btn-group-default-framed-notitle-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn-group/._btn-group-default-framed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn-group/._btn-group-default-framed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-disabled-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-disabled-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-pressed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-pressed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-large-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-disabled-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-disabled-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-pressed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-pressed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-medium-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-disabled-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-disabled-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-pressed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-pressed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-small-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-pressed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-pressed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-large-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-pressed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-pressed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-medium-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-pressed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-pressed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/btn/._btn-default-toolbar-small-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._arrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._arrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._btn.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._btn.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._group-cs.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._group-cs.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._group-lr.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._group-lr.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._group-tb.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._group-tb.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._s-arrow-b-noline.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._s-arrow-b-noline.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._s-arrow-b.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._s-arrow-b.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._s-arrow-bo.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._s-arrow-bo.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._s-arrow-light.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._s-arrow-light.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._s-arrow-noline.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._s-arrow-noline.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._s-arrow-o.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._s-arrow-o.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._s-arrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/button/._s-arrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/datepicker/._datepicker-footer-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/datepicker/._datepicker-footer-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/datepicker/._datepicker-footer-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/datepicker/._datepicker-footer-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/datepicker/._datepicker-header-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/datepicker/._datepicker-header-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/datepicker/._datepicker-header-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/datepicker/._datepicker-header-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/dd/._drop-add.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/dd/._drop-add.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/dd/._drop-no.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/dd/._drop-no.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/dd/._drop-yes.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/dd/._drop-yes.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/editor/._tb-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/editor/._tb-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form-invalid-tip/._form-invalid-tip-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form-invalid-tip/._form-invalid-tip-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form-invalid-tip/._form-invalid-tip-default-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form-invalid-tip/._form-invalid-tip-default-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form-invalid-tip/._form-invalid-tip-default-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form-invalid-tip/._form-invalid-tip-default-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form-invalid-tip/._form-invalid-tip-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form-invalid-tip/._form-invalid-tip-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._checkbox.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._checkbox.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._clear-trigger.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._clear-trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._date-trigger.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._date-trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._error-tip-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._error-tip-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._exclamation.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._exclamation.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._radio.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._radio.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._search-trigger.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._search-trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._spinner-small.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._spinner-small.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._spinner.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._text-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._text-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._trigger-square.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._trigger-square.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._trigger-tpl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._trigger-tpl.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._trigger.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/form/._trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._arrow-left-white.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._arrow-left-white.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._arrow-right-white.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._arrow-right-white.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._cell-special-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._cell-special-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._cell-special-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._cell-special-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._cell-special-selected-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._cell-special-selected-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._cell-special-selected-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._cell-special-selected-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._checked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._checked.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._col-move-bottom.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._col-move-bottom.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._col-move-top.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._col-move-top.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._column-header-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._column-header-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._column-header-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._column-header-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._column-header-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._column-header-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._column-header-over-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._column-header-over-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._columns.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._columns.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._dd-insert-arrow-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._dd-insert-arrow-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._dd-insert-arrow-left.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._dd-insert-arrow-left.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._dd-insert-arrow-right.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._dd-insert-arrow-right.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._dd-insert-arrow-right.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._dd-insert-arrow-right.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._dirty.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._dirty.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._done.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._done.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._drop-no.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._drop-no.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._drop-yes.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._drop-yes.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._footer-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._footer-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid-blue-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid-blue-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid-blue-split.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid-blue-split.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid-hrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid-hrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid-loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid-loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid-split.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid-split.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid-vista-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid-vista-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid3-hd-btn.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid3-hd-btn.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid3-hrow-over.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid3-hrow-over.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid3-hrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid3-hrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid3-rowheader.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._grid3-rowheader.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._group-by.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._group-by.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._group-collapse.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._group-collapse.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._group-expand-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._group-expand-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._group-expand.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._group-expand.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._hd-pop.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._hd-pop.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._hmenu-asc.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._hmenu-asc.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._hmenu-desc.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._hmenu-desc.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._hmenu-lock.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._hmenu-lock.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._hmenu-lock.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._hmenu-lock.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._hmenu-unlock.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._hmenu-unlock.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._hmenu-unlock.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._hmenu-unlock.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._invalid_line.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._invalid_line.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._mso-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._mso-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._nowait.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._nowait.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-first-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-first-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-first.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-first.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-last-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-last-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-last.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-last.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-next-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-next-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-next.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-next.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-prev-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-prev-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-prev.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._page-prev.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._pick-button.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._pick-button.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._property-cell-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._property-cell-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._property-cell-selected-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._property-cell-selected-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._refresh-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._refresh-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._refresh.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._refresh.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._row-check-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._row-check-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._row-expand-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._row-expand-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._row-over.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._row-over.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._row-sel.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._row-sel.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._sort-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._sort-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._sort_asc.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._sort_asc.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._sort_desc.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._sort_desc.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._unchecked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._unchecked.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._wait.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/grid/._wait.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/layout/._mini-bottom.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/layout/._mini-bottom.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/layout/._mini-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/layout/._mini-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/layout/._mini-right.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/layout/._mini-right.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/layout/._mini-top.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/layout/._mini-top.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._checked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._checked.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._group-checked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._group-checked.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._item-over.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._item-over.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._menu-item-active-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._menu-item-active-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._menu-item-active-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._menu-item-active-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._menu-item-active-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._menu-item-active-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._menu-parent.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._menu-parent.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._menu.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._menu.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._unchecked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/menu/._unchecked.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-bottom-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-bottom-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-bottom-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-bottom-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-bottom-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-bottom-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-left-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-left-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-left-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-left-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-left-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-left-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-right-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-right-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-right-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-right-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-right-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-right-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-top-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-top-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-collapsed-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-left-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-left-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-left-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-left-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-left-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-left-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-right-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-right-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-right-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-right-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-right-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-right-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-top-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-top-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-framed-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-left-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-left-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-right-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-right-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-top-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel-header/._panel-header-default-top-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel/._panel-default-framed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel/._panel-default-framed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel/._panel-default-framed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/panel/._panel-default-framed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/progress/._progress-default-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/progress/._progress-default-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._blue-loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._blue-loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._calendar.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._calendar.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._glass-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._glass-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._hd-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._hd-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._icon-error.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._icon-error.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._icon-info.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._icon-info.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._icon-question.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._icon-question.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._icon-warning.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._icon-warning.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._large-loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._large-loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._left-btn.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._left-btn.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._loading-balls.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._loading-balls.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._right-btn.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._right-btn.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._shadow-c.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._shadow-c.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._shadow-lr.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._shadow-lr.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._shadow.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._warning.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/shared/._warning.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._e-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._e-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._e-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._e-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._ne-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._ne-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._ne-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._ne-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._nw-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._nw-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._nw-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._nw-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._s-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._s-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._s-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._s-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._se-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._se-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._se-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._se-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._square.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._square.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._sw-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._sw-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._sw-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/sizer/._sw-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-thumb.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-thumb.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-thumb.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-v-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-v-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-v-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-v-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-v-thumb.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-v-thumb.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-v-thumb.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/slider/._slider-v-thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab-bar/._scroll-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab-bar/._scroll-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab-bar/._scroll-right.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab-bar/._scroll-right.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab-bar/._tab-bar-default-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab-bar/._tab-bar-default-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-active-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-active-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-active-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-active-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-active-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-active-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-disabled-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-disabled-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-close.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-close.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-active-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-active-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-active-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-active-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-active-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-active-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-disabled-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-disabled-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tab/._tab-default-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tip/._tip-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tip/._tip-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tip/._tip-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tip/._tip-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/toolbar/._more.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/toolbar/._more.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/toolbar/._scroll-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/toolbar/._scroll-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/toolbar/._scroll-right.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/toolbar/._scroll-right.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/toolbar/._toolbar-default-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/toolbar/._toolbar-default-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tools/._tool-sprite-tpl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tools/._tool-sprite-tpl.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tools/._tool-sprites.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tools/._tool-sprites.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tools/._tools-sprites-trans.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tools/._tools-sprites-trans.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._arrows.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._arrows.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-above.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-above.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-add.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-add.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-append.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-append.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-below.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-below.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-between.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-between.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-no.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-no.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-over.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-over.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-under.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-under.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-yes.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._drop-yes.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-end-minus-nl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-end-minus-nl.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-end-minus.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-end-minus.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-end-plus-nl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-end-plus-nl.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-end-plus.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-end-plus.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-end.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-end.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-line.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-line.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-minus-nl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-minus-nl.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-minus.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-minus.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-plus-nl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-plus-nl.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-plus.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow-plus.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._elbow.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._folder-open.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._folder-open.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._folder.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._folder.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._leaf.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._leaf.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._s.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/tree/._s.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/util/._splitter b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/util/._splitter new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/util/splitter/._mini-bottom.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/util/splitter/._mini-bottom.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/util/splitter/._mini-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/util/splitter/._mini-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/util/splitter/._mini-right.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/util/splitter/._mini-right.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/util/splitter/._mini-top.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/util/splitter/._mini-top.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-left-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-left-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-left-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-left-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-right-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-right-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-right-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-right-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-collapsed-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-left-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-left-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-left-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-left-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-right-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-right-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-right-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-right-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window-header/._window-header-default-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window/._window-default-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window/._window-default-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window/._window-default-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/default/window/._window-default-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._boundlist b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._boundlist new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._box b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._box new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._btn b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._btn new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._btn-group b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._btn-group new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._button b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._button new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._datepicker b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._datepicker new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._dd b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._dd new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._editor b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._editor new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._form b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._form new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._form-invalid-tip b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._form-invalid-tip new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._grid b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._grid new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._layout b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._layout new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._menu b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._menu new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._panel b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._panel new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._panel-header b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._panel-header new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._progress b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._progress new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._shared b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._shared new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._sizer b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._sizer new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._slider b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._slider new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._tab b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._tab new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._tab-bar b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._tab-bar new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._tip b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._tip new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._toolbar b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._toolbar new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._tools b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._tools new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._tree b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._tree new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._util b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._util new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._window b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._window new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._window-header b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/._window-header new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/boundlist/._trigger-arrow.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/boundlist/._trigger-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._corners-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._corners-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._l-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._l-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._l.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._l.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._r-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._r-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._r.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._r.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._tb-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._tb-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._tb.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/box/._tb.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn-group/._btn-group-default-framed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn-group/._btn-group-default-framed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn-group/._btn-group-default-framed-notitle-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn-group/._btn-group-default-framed-notitle-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn-group/._btn-group-default-framed-notitle-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn-group/._btn-group-default-framed-notitle-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn-group/._btn-group-default-framed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn-group/._btn-group-default-framed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-disabled-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-disabled-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-pressed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-pressed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-large-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-disabled-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-disabled-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-pressed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-pressed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-medium-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-disabled-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-disabled-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-pressed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-pressed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-small-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-pressed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-pressed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-large-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-pressed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-pressed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-medium-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-pressed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-pressed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/btn/._btn-default-toolbar-small-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._arrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._arrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._btn-arrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._btn-arrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._btn-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._btn-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._btn.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._btn.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._group-cs.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._group-cs.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._group-lr.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._group-lr.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._group-tb.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._group-tb.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._s-arrow-b-noline.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._s-arrow-b-noline.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._s-arrow-b.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._s-arrow-b.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._s-arrow-bo.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._s-arrow-bo.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._s-arrow-light.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._s-arrow-light.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._s-arrow-noline.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._s-arrow-noline.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._s-arrow-o.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._s-arrow-o.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._s-arrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/button/._s-arrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/datepicker/._datepicker-footer-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/datepicker/._datepicker-footer-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/datepicker/._datepicker-footer-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/datepicker/._datepicker-footer-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/datepicker/._datepicker-header-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/datepicker/._datepicker-header-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/datepicker/._datepicker-header-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/datepicker/._datepicker-header-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/dd/._drop-add.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/dd/._drop-add.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/dd/._drop-no.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/dd/._drop-no.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/dd/._drop-yes.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/dd/._drop-yes.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/editor/._tb-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/editor/._tb-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form-invalid-tip/._form-invalid-tip-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form-invalid-tip/._form-invalid-tip-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form-invalid-tip/._form-invalid-tip-default-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form-invalid-tip/._form-invalid-tip-default-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form-invalid-tip/._form-invalid-tip-default-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form-invalid-tip/._form-invalid-tip-default-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form-invalid-tip/._form-invalid-tip-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form-invalid-tip/._form-invalid-tip-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._checkbox.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._checkbox.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._clear-trigger.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._clear-trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._date-trigger.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._date-trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._error-tip-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._error-tip-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._exclamation.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._exclamation.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._radio.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._radio.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._search-trigger.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._search-trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._spinner-small.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._spinner-small.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._spinner.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._text-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._text-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._trigger-square.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._trigger-square.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._trigger-tpl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._trigger-tpl.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._trigger.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/form/._trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._arrow-left-white.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._arrow-left-white.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._arrow-right-white.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._arrow-right-white.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._cell-special-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._cell-special-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._cell-special-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._cell-special-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._cell-special-selected-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._cell-special-selected-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._cell-special-selected-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._cell-special-selected-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._checked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._checked.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._col-move-bottom.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._col-move-bottom.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._col-move-top.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._col-move-top.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._column-header-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._column-header-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._column-header-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._column-header-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._column-header-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._column-header-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._column-header-over-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._column-header-over-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._columns.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._columns.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._dd-insert-arrow-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._dd-insert-arrow-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._dd-insert-arrow-left.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._dd-insert-arrow-left.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._dd-insert-arrow-right.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._dd-insert-arrow-right.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._dd-insert-arrow-right.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._dd-insert-arrow-right.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._dirty.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._dirty.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._done.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._done.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._drop-no.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._drop-no.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._drop-yes.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._drop-yes.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._footer-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._footer-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid-blue-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid-blue-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid-blue-split.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid-blue-split.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid-hrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid-hrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid-loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid-loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid-split.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid-split.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid-vista-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid-vista-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid3-hd-btn.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid3-hd-btn.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid3-hrow-over.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid3-hrow-over.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid3-hrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid3-hrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid3-rowheader.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._grid3-rowheader.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._group-by.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._group-by.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._group-collapse.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._group-collapse.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._group-expand-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._group-expand-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._group-expand.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._group-expand.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._hd-pop.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._hd-pop.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._hmenu-asc.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._hmenu-asc.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._hmenu-desc.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._hmenu-desc.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._hmenu-lock.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._hmenu-lock.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._hmenu-lock.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._hmenu-lock.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._hmenu-unlock.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._hmenu-unlock.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._hmenu-unlock.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._hmenu-unlock.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._invalid_line.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._invalid_line.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._mso-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._mso-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._nowait.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._nowait.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-first-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-first-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-first.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-first.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-last-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-last-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-last.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-last.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-next-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-next-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-next.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-next.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-prev-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-prev-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-prev.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._page-prev.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._pick-button.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._pick-button.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._property-cell-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._property-cell-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._property-cell-selected-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._property-cell-selected-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._refresh-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._refresh-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._refresh.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._refresh.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._row-check-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._row-check-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._row-expand-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._row-expand-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._row-over.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._row-over.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._row-sel.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._row-sel.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._sort-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._sort-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._sort_asc.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._sort_asc.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._sort_desc.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._sort_desc.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._unchecked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._unchecked.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._wait.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/grid/._wait.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/layout/._mini-bottom.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/layout/._mini-bottom.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/layout/._mini-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/layout/._mini-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/layout/._mini-right.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/layout/._mini-right.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/layout/._mini-top.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/layout/._mini-top.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._checked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._checked.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._group-checked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._group-checked.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._item-over-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._item-over-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._item-over.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._item-over.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._menu-item-active-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._menu-item-active-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._menu-item-active-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._menu-item-active-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._menu-item-active-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._menu-item-active-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._menu-parent.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._menu-parent.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._menu.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._menu.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._unchecked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/menu/._unchecked.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-bottom-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-bottom-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-bottom-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-bottom-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-bottom-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-bottom-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-left-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-left-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-left-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-left-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-left-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-left-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-right-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-right-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-right-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-right-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-right-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-right-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-top-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-top-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-collapsed-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-left-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-left-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-left-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-left-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-left-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-left-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-right-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-right-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-right-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-right-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-right-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-right-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-top-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-top-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-framed-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-left-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-left-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-right-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-right-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-top-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel-header/._panel-header-default-top-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel/._panel-default-framed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel/._panel-default-framed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel/._panel-default-framed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/panel/._panel-default-framed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/progress/._progress-default-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/progress/._progress-default-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._blue-loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._blue-loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._calendar.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._calendar.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._glass-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._glass-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._hd-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._hd-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._icon-error.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._icon-error.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._icon-info.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._icon-info.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._icon-question.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._icon-question.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._icon-warning.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._icon-warning.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._large-loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._large-loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._left-btn.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._left-btn.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._loading-balls.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._loading-balls.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._right-btn.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._right-btn.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._shadow-c.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._shadow-c.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._shadow-lr.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._shadow-lr.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._shadow.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._warning.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/shared/._warning.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._e-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._e-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._e-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._e-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._ne-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._ne-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._ne-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._ne-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._nw-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._nw-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._nw-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._nw-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._s-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._s-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._s-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._s-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._se-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._se-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._se-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._se-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._square.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._square.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._sw-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._sw-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._sw-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/sizer/._sw-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-thumb.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-thumb.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-thumb.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-v-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-v-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-v-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-v-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-v-thumb.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-v-thumb.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-v-thumb.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/slider/._slider-v-thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab-bar/._scroll-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab-bar/._scroll-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab-bar/._scroll-right.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab-bar/._scroll-right.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab-bar/._tab-bar-default-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab-bar/._tab-bar-default-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-active-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-active-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-active-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-active-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-active-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-active-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-disabled-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-disabled-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-close.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-close.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-active-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-active-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-active-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-active-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-active-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-active-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-disabled-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-disabled-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tab/._tab-default-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tip/._tip-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tip/._tip-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tip/._tip-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tip/._tip-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/toolbar/._more.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/toolbar/._more.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/toolbar/._scroll-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/toolbar/._scroll-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/toolbar/._scroll-right.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/toolbar/._scroll-right.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/toolbar/._toolbar-default-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/toolbar/._toolbar-default-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tools/._tool-sprite-tpl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tools/._tool-sprite-tpl.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tools/._tool-sprites.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tools/._tool-sprites.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tools/._tools-sprites-trans.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tools/._tools-sprites-trans.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._arrows.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._arrows.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-above.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-above.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-add.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-add.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-append.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-append.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-below.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-below.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-between.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-between.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-no.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-no.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-over.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-over.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-under.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-under.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-yes.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._drop-yes.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-end-minus-nl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-end-minus-nl.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-end-minus.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-end-minus.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-end-plus-nl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-end-plus-nl.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-end-plus.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-end-plus.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-end.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-end.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-line.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-line.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-minus-nl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-minus-nl.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-minus.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-minus.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-plus-nl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-plus-nl.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-plus.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow-plus.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._elbow.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._folder-open.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._folder-open.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._folder.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._folder.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._leaf.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._leaf.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._s.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/tree/._s.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/util/._splitter b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/util/._splitter new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/util/splitter/._mini-bottom.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/util/splitter/._mini-bottom.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/util/splitter/._mini-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/util/splitter/._mini-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/util/splitter/._mini-right.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/util/splitter/._mini-right.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/util/splitter/._mini-top.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/util/splitter/._mini-top.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-left-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-left-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-left-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-left-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-right-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-right-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-right-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-right-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-collapsed-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-left-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-left-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-left-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-left-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-right-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-right-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-right-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-right-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window-header/._window-header-default-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window/._icon-error.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window/._icon-error.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window/._icon-info.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window/._icon-info.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window/._icon-question.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window/._icon-question.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window/._icon-warning.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window/._icon-warning.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window/._window-default-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window/._window-default-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window/._window-default-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/gray/window/._window-default-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._WYSIWYG.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._WYSIWYG.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._button b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._button new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._checkbox.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._checkbox.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._grid b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._grid new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._icons.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._icons.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._invalid.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._invalid.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._radio.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._radio.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._tools-small.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._tools-small.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._tools.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._tools.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._tree b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._tree new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._triggerfield.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._triggerfield.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._valid.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/._valid.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._arrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._arrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._arrow.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._btn.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._btn.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._group-cs.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._group-cs.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._group-lr.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._group-lr.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._group-tb.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._group-tb.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow-b-noline.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow-b-noline.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow-b.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow-b.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow-bo.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow-bo.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow-light.gif b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow-light.gif new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow-noline.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow-noline.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow-o.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow-o.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow-p.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow-p.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/button/._s-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/grid/._header-border.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/grid/._header-border.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/grid/._sort.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/grid/._sort.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/tree/._elbows.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/tree/._elbows.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/tree/._icons-blue.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/tree/._icons-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/tree/._icons-gray.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/tree/._icons-gray.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/tree/._icons-navy.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/tree/._icons-navy.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/tree/._icons-orange.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/tree/._icons-orange.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/tree/._icons-white.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/tree/._icons-white.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/tree/._icons.png b/sfdx-project/force-app/main/default/staticresources/extjs/__MACOSX/resources/themes/images/neptune/tree/._icons.png new file mode 100644 index 0000000000000000000000000000000000000000..2dabe0f9d7b3822cebdf2aba4d845a512f5bc829 GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kn0HB$^~yyXWVp=cL9|7#TQc z6y@ipf^=9LJDZxAxR{&j8aTVT=$g1XTj*L?x)|yj8JHM38Mv658k-x}fQ(NE>(+y4 GWdH!xsVk)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/ext-all-debug.js b/sfdx-project/force-app/main/default/staticresources/extjs/ext-all-debug.js new file mode 100644 index 0000000..24362d8 --- /dev/null +++ b/sfdx-project/force-app/main/default/staticresources/extjs/ext-all-debug.js @@ -0,0 +1,113982 @@ +/* +Ext JS 4.1 - JavaScript Library +Copyright (c) 2006-2012, Sencha Inc. +All rights reserved. +licensing@sencha.com + +http://www.sencha.com/license + + +Commercial License +------------------------------------------------------------------------------------------ +This version of Ext JS is licensed commercially. +This is the appropriate option if you are creating proprietary applications and you are +not prepared to distribute and share the source code of your application under the +GPL v3 license. Please visit http://www.sencha.com/license for more details. + + +Open Source Licensing +------------------------------------------------------------------------------------------ +Open Source Licensing is available for an alternate download of Ext JS. +For more details, please visit: http://www.sencha.com/license. + +-- + +This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT OF THIRD-PARTY INTELLECTUAL PROPERTY RIGHTS. +*/ +//@tag foundation,core + + +var Ext = Ext || {}; +Ext._startTime = new Date().getTime(); +(function() { + var global = this, + objectPrototype = Object.prototype, + toString = objectPrototype.toString, + enumerables = true, + enumerablesTest = { toString: 1 }, + emptyFn = function () {}, + + + callOverrideParent = function () { + var method = callOverrideParent.caller.caller; + return method.$owner.prototype[method.$name].apply(this, arguments); + }, + i; + + Ext.global = global; + + for (i in enumerablesTest) { + enumerables = null; + } + + if (enumerables) { + enumerables = ['hasOwnProperty', 'valueOf', 'isPrototypeOf', 'propertyIsEnumerable', + 'toLocaleString', 'toString', 'constructor']; + } + + + Ext.enumerables = enumerables; + + + Ext.apply = function(object, config, defaults) { + if (defaults) { + Ext.apply(object, defaults); + } + + if (object && config && typeof config === 'object') { + var i, j, k; + + for (i in config) { + object[i] = config[i]; + } + + if (enumerables) { + for (j = enumerables.length; j--;) { + k = enumerables[j]; + if (config.hasOwnProperty(k)) { + object[k] = config[k]; + } + } + } + } + + return object; + }; + + Ext.buildSettings = Ext.apply({ + baseCSSPrefix: 'x-', + scopeResetCSS: false + }, Ext.buildSettings || {}); + + Ext.apply(Ext, { + + + name: Ext.sandboxName || 'Ext', + + + emptyFn: emptyFn, + + + emptyString: new String(), + + baseCSSPrefix: Ext.buildSettings.baseCSSPrefix, + + + applyIf: function(object, config) { + var property; + + if (object) { + for (property in config) { + if (object[property] === undefined) { + object[property] = config[property]; + } + } + } + + return object; + }, + + + iterate: function(object, fn, scope) { + if (Ext.isEmpty(object)) { + return; + } + + if (scope === undefined) { + scope = object; + } + + if (Ext.isIterable(object)) { + Ext.Array.each.call(Ext.Array, object, fn, scope); + } + else { + Ext.Object.each.call(Ext.Object, object, fn, scope); + } + } + }); + + Ext.apply(Ext, { + + + extend: (function() { + + var objectConstructor = objectPrototype.constructor, + inlineOverrides = function(o) { + for (var m in o) { + if (!o.hasOwnProperty(m)) { + continue; + } + this[m] = o[m]; + } + }; + + return function(subclass, superclass, overrides) { + + if (Ext.isObject(superclass)) { + overrides = superclass; + superclass = subclass; + subclass = overrides.constructor !== objectConstructor ? overrides.constructor : function() { + superclass.apply(this, arguments); + }; + } + + + + var F = function() {}, + subclassProto, superclassProto = superclass.prototype; + + F.prototype = superclassProto; + subclassProto = subclass.prototype = new F(); + subclassProto.constructor = subclass; + subclass.superclass = superclassProto; + + if (superclassProto.constructor === objectConstructor) { + superclassProto.constructor = superclass; + } + + subclass.override = function(overrides) { + Ext.override(subclass, overrides); + }; + + subclassProto.override = inlineOverrides; + subclassProto.proto = subclassProto; + + subclass.override(overrides); + subclass.extend = function(o) { + return Ext.extend(subclass, o); + }; + + return subclass; + }; + }()), + + + override: function (target, overrides) { + if (target.$isClass) { + target.override(overrides); + } else if (typeof target == 'function') { + Ext.apply(target.prototype, overrides); + } else { + var owner = target.self, + name, value; + + if (owner && owner.$isClass) { + for (name in overrides) { + if (overrides.hasOwnProperty(name)) { + value = overrides[name]; + + if (typeof value == 'function') { + + value.$name = name; + value.$owner = owner; + value.$previous = target.hasOwnProperty(name) + ? target[name] + : callOverrideParent; + } + + target[name] = value; + } + } + } else { + Ext.apply(target, overrides); + } + } + + return target; + } + }); + + + Ext.apply(Ext, { + + + valueFrom: function(value, defaultValue, allowBlank){ + return Ext.isEmpty(value, allowBlank) ? defaultValue : value; + }, + + + typeOf: function(value) { + var type, + typeToString; + + if (value === null) { + return 'null'; + } + + type = typeof value; + + if (type === 'undefined' || type === 'string' || type === 'number' || type === 'boolean') { + return type; + } + + typeToString = toString.call(value); + + switch(typeToString) { + case '[object Array]': + return 'array'; + case '[object Date]': + return 'date'; + case '[object Boolean]': + return 'boolean'; + case '[object Number]': + return 'number'; + case '[object RegExp]': + return 'regexp'; + } + + if (type === 'function') { + return 'function'; + } + + if (type === 'object') { + if (value.nodeType !== undefined) { + if (value.nodeType === 3) { + return (/\S/).test(value.nodeValue) ? 'textnode' : 'whitespace'; + } + else { + return 'element'; + } + } + + return 'object'; + } + + }, + + + isEmpty: function(value, allowEmptyString) { + return (value === null) || (value === undefined) || (!allowEmptyString ? value === '' : false) || (Ext.isArray(value) && value.length === 0); + }, + + + isArray: ('isArray' in Array) ? Array.isArray : function(value) { + return toString.call(value) === '[object Array]'; + }, + + + isDate: function(value) { + return toString.call(value) === '[object Date]'; + }, + + + isObject: (toString.call(null) === '[object Object]') ? + function(value) { + + return value !== null && value !== undefined && toString.call(value) === '[object Object]' && value.ownerDocument === undefined; + } : + function(value) { + return toString.call(value) === '[object Object]'; + }, + + + isSimpleObject: function(value) { + return value instanceof Object && value.constructor === Object; + }, + + isPrimitive: function(value) { + var type = typeof value; + + return type === 'string' || type === 'number' || type === 'boolean'; + }, + + + isFunction: + + + (typeof document !== 'undefined' && typeof document.getElementsByTagName('body') === 'function') ? function(value) { + return toString.call(value) === '[object Function]'; + } : function(value) { + return typeof value === 'function'; + }, + + + isNumber: function(value) { + return typeof value === 'number' && isFinite(value); + }, + + + isNumeric: function(value) { + return !isNaN(parseFloat(value)) && isFinite(value); + }, + + + isString: function(value) { + return typeof value === 'string'; + }, + + + isBoolean: function(value) { + return typeof value === 'boolean'; + }, + + + isElement: function(value) { + return value ? value.nodeType === 1 : false; + }, + + + isTextNode: function(value) { + return value ? value.nodeName === "#text" : false; + }, + + + isDefined: function(value) { + return typeof value !== 'undefined'; + }, + + + isIterable: function(value) { + var type = typeof value, + checkLength = false; + if (value && type != 'string') { + + if (type == 'function') { + + + if (Ext.isSafari) { + checkLength = value instanceof NodeList || value instanceof HTMLCollection; + } + } else { + checkLength = true; + } + } + return checkLength ? value.length !== undefined : false; + } + }); + + Ext.apply(Ext, { + + + clone: function(item) { + var type, + i, + j, + k, + clone, + key; + + if (item === null || item === undefined) { + return item; + } + + + + + if (item.nodeType && item.cloneNode) { + return item.cloneNode(true); + } + + type = toString.call(item); + + + if (type === '[object Date]') { + return new Date(item.getTime()); + } + + + + if (type === '[object Array]') { + i = item.length; + + clone = []; + + while (i--) { + clone[i] = Ext.clone(item[i]); + } + } + + else if (type === '[object Object]' && item.constructor === Object) { + clone = {}; + + for (key in item) { + clone[key] = Ext.clone(item[key]); + } + + if (enumerables) { + for (j = enumerables.length; j--;) { + k = enumerables[j]; + clone[k] = item[k]; + } + } + } + + return clone || item; + }, + + + getUniqueGlobalNamespace: function() { + var uniqueGlobalNamespace = this.uniqueGlobalNamespace, + i; + + if (uniqueGlobalNamespace === undefined) { + i = 0; + + do { + uniqueGlobalNamespace = 'ExtBox' + (++i); + } while (Ext.global[uniqueGlobalNamespace] !== undefined); + + Ext.global[uniqueGlobalNamespace] = Ext; + this.uniqueGlobalNamespace = uniqueGlobalNamespace; + } + + return uniqueGlobalNamespace; + }, + + + functionFactoryCache: {}, + + cacheableFunctionFactory: function() { + var me = this, + args = Array.prototype.slice.call(arguments), + cache = me.functionFactoryCache, + idx, fn, ln; + + if (Ext.isSandboxed) { + ln = args.length; + if (ln > 0) { + ln--; + args[ln] = 'var Ext=window.' + Ext.name + ';' + args[ln]; + } + } + idx = args.join(''); + fn = cache[idx]; + if (!fn) { + fn = Function.prototype.constructor.apply(Function.prototype, args); + + cache[idx] = fn; + } + return fn; + }, + + functionFactory: function() { + var me = this, + args = Array.prototype.slice.call(arguments), + ln; + + if (Ext.isSandboxed) { + ln = args.length; + if (ln > 0) { + ln--; + args[ln] = 'var Ext=window.' + Ext.name + ';' + args[ln]; + } + } + + return Function.prototype.constructor.apply(Function.prototype, args); + }, + + + Logger: { + verbose: emptyFn, + log: emptyFn, + info: emptyFn, + warn: emptyFn, + error: function(message) { + throw new Error(message); + }, + deprecate: emptyFn + } + }); + + + Ext.type = Ext.typeOf; + +}()); + + +Ext.globalEval = Ext.global.execScript + ? function(code) { + execScript(code); + } + : function($$code) { + + + (function(){ + eval($$code); + }()); + }; + +//@tag foundation,core + +//@require ../Ext.js + + + +(function() { + + +var version = '4.1.1.1', Version; + Ext.Version = Version = Ext.extend(Object, { + + + constructor: function(version) { + var parts, releaseStartIndex; + + if (version instanceof Version) { + return version; + } + + this.version = this.shortVersion = String(version).toLowerCase().replace(/_/g, '.').replace(/[\-+]/g, ''); + + releaseStartIndex = this.version.search(/([^\d\.])/); + + if (releaseStartIndex !== -1) { + this.release = this.version.substr(releaseStartIndex, version.length); + this.shortVersion = this.version.substr(0, releaseStartIndex); + } + + this.shortVersion = this.shortVersion.replace(/[^\d]/g, ''); + + parts = this.version.split('.'); + + this.major = parseInt(parts.shift() || 0, 10); + this.minor = parseInt(parts.shift() || 0, 10); + this.patch = parseInt(parts.shift() || 0, 10); + this.build = parseInt(parts.shift() || 0, 10); + + return this; + }, + + + toString: function() { + return this.version; + }, + + + valueOf: function() { + return this.version; + }, + + + getMajor: function() { + return this.major || 0; + }, + + + getMinor: function() { + return this.minor || 0; + }, + + + getPatch: function() { + return this.patch || 0; + }, + + + getBuild: function() { + return this.build || 0; + }, + + + getRelease: function() { + return this.release || ''; + }, + + + isGreaterThan: function(target) { + return Version.compare(this.version, target) === 1; + }, + + + isGreaterThanOrEqual: function(target) { + return Version.compare(this.version, target) >= 0; + }, + + + isLessThan: function(target) { + return Version.compare(this.version, target) === -1; + }, + + + isLessThanOrEqual: function(target) { + return Version.compare(this.version, target) <= 0; + }, + + + equals: function(target) { + return Version.compare(this.version, target) === 0; + }, + + + match: function(target) { + target = String(target); + return this.version.substr(0, target.length) === target; + }, + + + toArray: function() { + return [this.getMajor(), this.getMinor(), this.getPatch(), this.getBuild(), this.getRelease()]; + }, + + + getShortVersion: function() { + return this.shortVersion; + }, + + + gt: function() { + return this.isGreaterThan.apply(this, arguments); + }, + + + lt: function() { + return this.isLessThan.apply(this, arguments); + }, + + + gtEq: function() { + return this.isGreaterThanOrEqual.apply(this, arguments); + }, + + + ltEq: function() { + return this.isLessThanOrEqual.apply(this, arguments); + } + }); + + Ext.apply(Version, { + + releaseValueMap: { + 'dev': -6, + 'alpha': -5, + 'a': -5, + 'beta': -4, + 'b': -4, + 'rc': -3, + '#': -2, + 'p': -1, + 'pl': -1 + }, + + + getComponentValue: function(value) { + return !value ? 0 : (isNaN(value) ? this.releaseValueMap[value] || value : parseInt(value, 10)); + }, + + + compare: function(current, target) { + var currentValue, targetValue, i; + + current = new Version(current).toArray(); + target = new Version(target).toArray(); + + for (i = 0; i < Math.max(current.length, target.length); i++) { + currentValue = this.getComponentValue(current[i]); + targetValue = this.getComponentValue(target[i]); + + if (currentValue < targetValue) { + return -1; + } else if (currentValue > targetValue) { + return 1; + } + } + + return 0; + } + }); + + + Ext.apply(Ext, { + + versions: {}, + + + lastRegisteredVersion: null, + + + setVersion: function(packageName, version) { + Ext.versions[packageName] = new Version(version); + Ext.lastRegisteredVersion = Ext.versions[packageName]; + + return this; + }, + + + getVersion: function(packageName) { + if (packageName === undefined) { + return Ext.lastRegisteredVersion; + } + + return Ext.versions[packageName]; + }, + + + deprecate: function(packageName, since, closure, scope) { + if (Version.compare(Ext.getVersion(packageName), since) < 1) { + closure.call(scope); + } + } + }); + + Ext.setVersion('core', version); + +}()); + +//@tag foundation,core + +//@require ../version/Version.js + + + + +Ext.String = (function() { + var trimRegex = /^[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+|[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+$/g, + escapeRe = /('|\\)/g, + formatRe = /\{(\d+)\}/g, + escapeRegexRe = /([-.*+?\^${}()|\[\]\/\\])/g, + basicTrimRe = /^\s+|\s+$/g, + whitespaceRe = /\s+/, + varReplace = /(^[^a-z]*|[^\w])/gi, + charToEntity, + entityToChar, + charToEntityRegex, + entityToCharRegex, + htmlEncodeReplaceFn = function(match, capture) { + return charToEntity[capture]; + }, + htmlDecodeReplaceFn = function(match, capture) { + return (capture in entityToChar) ? entityToChar[capture] : String.fromCharCode(parseInt(capture.substr(2), 10)); + }; + + return { + + + createVarName: function(s) { + return s.replace(varReplace, ''); + }, + + + htmlEncode: function(value) { + return (!value) ? value : String(value).replace(charToEntityRegex, htmlEncodeReplaceFn); + }, + + + htmlDecode: function(value) { + return (!value) ? value : String(value).replace(entityToCharRegex, htmlDecodeReplaceFn); + }, + + + addCharacterEntities: function(newEntities) { + var charKeys = [], + entityKeys = [], + key, echar; + for (key in newEntities) { + echar = newEntities[key]; + entityToChar[key] = echar; + charToEntity[echar] = key; + charKeys.push(echar); + entityKeys.push(key); + } + charToEntityRegex = new RegExp('(' + charKeys.join('|') + ')', 'g'); + entityToCharRegex = new RegExp('(' + entityKeys.join('|') + '|&#[0-9]{1,5};' + ')', 'g'); + }, + + + resetCharacterEntities: function() { + charToEntity = {}; + entityToChar = {}; + + this.addCharacterEntities({ + '&' : '&', + '>' : '>', + '<' : '<', + '"' : '"', + ''' : "'" + }); + }, + + + urlAppend : function(url, string) { + if (!Ext.isEmpty(string)) { + return url + (url.indexOf('?') === -1 ? '?' : '&') + string; + } + + return url; + }, + + + trim: function(string) { + return string.replace(trimRegex, ""); + }, + + + capitalize: function(string) { + return string.charAt(0).toUpperCase() + string.substr(1); + }, + + + uncapitalize: function(string) { + return string.charAt(0).toLowerCase() + string.substr(1); + }, + + + ellipsis: function(value, len, word) { + if (value && value.length > len) { + if (word) { + var vs = value.substr(0, len - 2), + index = Math.max(vs.lastIndexOf(' '), vs.lastIndexOf('.'), vs.lastIndexOf('!'), vs.lastIndexOf('?')); + if (index !== -1 && index >= (len - 15)) { + return vs.substr(0, index) + "..."; + } + } + return value.substr(0, len - 3) + "..."; + } + return value; + }, + + + escapeRegex: function(string) { + return string.replace(escapeRegexRe, "\\$1"); + }, + + + escape: function(string) { + return string.replace(escapeRe, "\\$1"); + }, + + + toggle: function(string, value, other) { + return string === value ? other : value; + }, + + + leftPad: function(string, size, character) { + var result = String(string); + character = character || " "; + while (result.length < size) { + result = character + result; + } + return result; + }, + + + format: function(format) { + var args = Ext.Array.toArray(arguments, 1); + return format.replace(formatRe, function(m, i) { + return args[i]; + }); + }, + + + repeat: function(pattern, count, sep) { + for (var buf = [], i = count; i--; ) { + buf.push(pattern); + } + return buf.join(sep || ''); + }, + + + splitWords: function (words) { + if (words && typeof words == 'string') { + return words.replace(basicTrimRe, '').split(whitespaceRe); + } + return words || []; + } + }; +}()); + + +Ext.String.resetCharacterEntities(); + + +Ext.htmlEncode = Ext.String.htmlEncode; + + + +Ext.htmlDecode = Ext.String.htmlDecode; + + +Ext.urlAppend = Ext.String.urlAppend; + +//@tag foundation,core + +//@require String.js + +//@define Ext.Number + + + + +Ext.Number = new function() { + + var me = this, + isToFixedBroken = (0.9).toFixed() !== '1', + math = Math; + + Ext.apply(this, { + + constrain: function(number, min, max) { + var x = parseFloat(number); + + + + + + + + + + return (x < min) ? min : ((x > max) ? max : x); + }, + + + snap : function(value, increment, minValue, maxValue) { + var m; + + + + if (value === undefined || value < minValue) { + return minValue || 0; + } + + if (increment) { + m = value % increment; + if (m !== 0) { + value -= m; + if (m * 2 >= increment) { + value += increment; + } else if (m * 2 < -increment) { + value -= increment; + } + } + } + return me.constrain(value, minValue, maxValue); + }, + + + snapInRange : function(value, increment, minValue, maxValue) { + var tween; + + + minValue = (minValue || 0); + + + if (value === undefined || value < minValue) { + return minValue; + } + + + if (increment && (tween = ((value - minValue) % increment))) { + value -= tween; + tween *= 2; + if (tween >= increment) { + value += increment; + } + } + + + if (maxValue !== undefined) { + if (value > (maxValue = me.snapInRange(maxValue, increment, minValue))) { + value = maxValue; + } + } + + return value; + }, + + + toFixed: isToFixedBroken ? function(value, precision) { + precision = precision || 0; + var pow = math.pow(10, precision); + return (math.round(value * pow) / pow).toFixed(precision); + } : function(value, precision) { + return value.toFixed(precision); + }, + + + from: function(value, defaultValue) { + if (isFinite(value)) { + value = parseFloat(value); + } + + return !isNaN(value) ? value : defaultValue; + }, + + + randomInt: function (from, to) { + return math.floor(math.random() * (to - from + 1) + from); + } + }); + + + Ext.num = function() { + return me.from.apply(this, arguments); + }; +}; + +//@tag foundation,core + +//@require Number.js + + + +(function() { + + var arrayPrototype = Array.prototype, + slice = arrayPrototype.slice, + supportsSplice = (function () { + var array = [], + lengthBefore, + j = 20; + + if (!array.splice) { + return false; + } + + + + + while (j--) { + array.push("A"); + } + + array.splice(15, 0, "F", "F", "F", "F", "F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F"); + + lengthBefore = array.length; + array.splice(13, 0, "XXX"); + + if (lengthBefore+1 != array.length) { + return false; + } + + + return true; + }()), + supportsForEach = 'forEach' in arrayPrototype, + supportsMap = 'map' in arrayPrototype, + supportsIndexOf = 'indexOf' in arrayPrototype, + supportsEvery = 'every' in arrayPrototype, + supportsSome = 'some' in arrayPrototype, + supportsFilter = 'filter' in arrayPrototype, + supportsSort = (function() { + var a = [1,2,3,4,5].sort(function(){ return 0; }); + return a[0] === 1 && a[1] === 2 && a[2] === 3 && a[3] === 4 && a[4] === 5; + }()), + supportsSliceOnNodeList = true, + ExtArray, + erase, + replace, + splice; + + try { + + if (typeof document !== 'undefined') { + slice.call(document.getElementsByTagName('body')); + } + } catch (e) { + supportsSliceOnNodeList = false; + } + + function fixArrayIndex (array, index) { + return (index < 0) ? Math.max(0, array.length + index) + : Math.min(array.length, index); + } + + + function replaceSim (array, index, removeCount, insert) { + var add = insert ? insert.length : 0, + length = array.length, + pos = fixArrayIndex(array, index), + remove, + tailOldPos, + tailNewPos, + tailCount, + lengthAfterRemove, + i; + + + if (pos === length) { + if (add) { + array.push.apply(array, insert); + } + } else { + remove = Math.min(removeCount, length - pos); + tailOldPos = pos + remove; + tailNewPos = tailOldPos + add - remove; + tailCount = length - tailOldPos; + lengthAfterRemove = length - remove; + + if (tailNewPos < tailOldPos) { + for (i = 0; i < tailCount; ++i) { + array[tailNewPos+i] = array[tailOldPos+i]; + } + } else if (tailNewPos > tailOldPos) { + for (i = tailCount; i--; ) { + array[tailNewPos+i] = array[tailOldPos+i]; + } + } + + if (add && pos === lengthAfterRemove) { + array.length = lengthAfterRemove; + array.push.apply(array, insert); + } else { + array.length = lengthAfterRemove + add; + for (i = 0; i < add; ++i) { + array[pos+i] = insert[i]; + } + } + } + + return array; + } + + function replaceNative (array, index, removeCount, insert) { + if (insert && insert.length) { + if (index < array.length) { + array.splice.apply(array, [index, removeCount].concat(insert)); + } else { + array.push.apply(array, insert); + } + } else { + array.splice(index, removeCount); + } + return array; + } + + function eraseSim (array, index, removeCount) { + return replaceSim(array, index, removeCount); + } + + function eraseNative (array, index, removeCount) { + array.splice(index, removeCount); + return array; + } + + function spliceSim (array, index, removeCount) { + var pos = fixArrayIndex(array, index), + removed = array.slice(index, fixArrayIndex(array, pos+removeCount)); + + if (arguments.length < 4) { + replaceSim(array, pos, removeCount); + } else { + replaceSim(array, pos, removeCount, slice.call(arguments, 3)); + } + + return removed; + } + + function spliceNative (array) { + return array.splice.apply(array, slice.call(arguments, 1)); + } + + erase = supportsSplice ? eraseNative : eraseSim; + replace = supportsSplice ? replaceNative : replaceSim; + splice = supportsSplice ? spliceNative : spliceSim; + + + + ExtArray = Ext.Array = { + + each: function(array, fn, scope, reverse) { + array = ExtArray.from(array); + + var i, + ln = array.length; + + if (reverse !== true) { + for (i = 0; i < ln; i++) { + if (fn.call(scope || array[i], array[i], i, array) === false) { + return i; + } + } + } + else { + for (i = ln - 1; i > -1; i--) { + if (fn.call(scope || array[i], array[i], i, array) === false) { + return i; + } + } + } + + return true; + }, + + + forEach: supportsForEach ? function(array, fn, scope) { + return array.forEach(fn, scope); + } : function(array, fn, scope) { + var i = 0, + ln = array.length; + + for (; i < ln; i++) { + fn.call(scope, array[i], i, array); + } + }, + + + indexOf: supportsIndexOf ? function(array, item, from) { + return array.indexOf(item, from); + } : function(array, item, from) { + var i, length = array.length; + + for (i = (from < 0) ? Math.max(0, length + from) : from || 0; i < length; i++) { + if (array[i] === item) { + return i; + } + } + + return -1; + }, + + + contains: supportsIndexOf ? function(array, item) { + return array.indexOf(item) !== -1; + } : function(array, item) { + var i, ln; + + for (i = 0, ln = array.length; i < ln; i++) { + if (array[i] === item) { + return true; + } + } + + return false; + }, + + + toArray: function(iterable, start, end){ + if (!iterable || !iterable.length) { + return []; + } + + if (typeof iterable === 'string') { + iterable = iterable.split(''); + } + + if (supportsSliceOnNodeList) { + return slice.call(iterable, start || 0, end || iterable.length); + } + + var array = [], + i; + + start = start || 0; + end = end ? ((end < 0) ? iterable.length + end : end) : iterable.length; + + for (i = start; i < end; i++) { + array.push(iterable[i]); + } + + return array; + }, + + + pluck: function(array, propertyName) { + var ret = [], + i, ln, item; + + for (i = 0, ln = array.length; i < ln; i++) { + item = array[i]; + + ret.push(item[propertyName]); + } + + return ret; + }, + + + map: supportsMap ? function(array, fn, scope) { + return array.map(fn, scope); + } : function(array, fn, scope) { + var results = [], + i = 0, + len = array.length; + + for (; i < len; i++) { + results[i] = fn.call(scope, array[i], i, array); + } + + return results; + }, + + + every: supportsEvery ? function(array, fn, scope) { + return array.every(fn, scope); + } : function(array, fn, scope) { + var i = 0, + ln = array.length; + + for (; i < ln; ++i) { + if (!fn.call(scope, array[i], i, array)) { + return false; + } + } + + return true; + }, + + + some: supportsSome ? function(array, fn, scope) { + return array.some(fn, scope); + } : function(array, fn, scope) { + var i = 0, + ln = array.length; + + for (; i < ln; ++i) { + if (fn.call(scope, array[i], i, array)) { + return true; + } + } + + return false; + }, + + + clean: function(array) { + var results = [], + i = 0, + ln = array.length, + item; + + for (; i < ln; i++) { + item = array[i]; + + if (!Ext.isEmpty(item)) { + results.push(item); + } + } + + return results; + }, + + + unique: function(array) { + var clone = [], + i = 0, + ln = array.length, + item; + + for (; i < ln; i++) { + item = array[i]; + + if (ExtArray.indexOf(clone, item) === -1) { + clone.push(item); + } + } + + return clone; + }, + + + filter: supportsFilter ? function(array, fn, scope) { + return array.filter(fn, scope); + } : function(array, fn, scope) { + var results = [], + i = 0, + ln = array.length; + + for (; i < ln; i++) { + if (fn.call(scope, array[i], i, array)) { + results.push(array[i]); + } + } + + return results; + }, + + + from: function(value, newReference) { + if (value === undefined || value === null) { + return []; + } + + if (Ext.isArray(value)) { + return (newReference) ? slice.call(value) : value; + } + + var type = typeof value; + + + if (value && value.length !== undefined && type !== 'string' && (type !== 'function' || !value.apply)) { + return ExtArray.toArray(value); + } + + return [value]; + }, + + + remove: function(array, item) { + var index = ExtArray.indexOf(array, item); + + if (index !== -1) { + erase(array, index, 1); + } + + return array; + }, + + + include: function(array, item) { + if (!ExtArray.contains(array, item)) { + array.push(item); + } + }, + + + clone: function(array) { + return slice.call(array); + }, + + + merge: function() { + var args = slice.call(arguments), + array = [], + i, ln; + + for (i = 0, ln = args.length; i < ln; i++) { + array = array.concat(args[i]); + } + + return ExtArray.unique(array); + }, + + + intersect: function() { + var intersection = [], + arrays = slice.call(arguments), + arraysLength, + array, + arrayLength, + minArray, + minArrayIndex, + minArrayCandidate, + minArrayLength, + element, + elementCandidate, + elementCount, + i, j, k; + + if (!arrays.length) { + return intersection; + } + + + arraysLength = arrays.length; + for (i = minArrayIndex = 0; i < arraysLength; i++) { + minArrayCandidate = arrays[i]; + if (!minArray || minArrayCandidate.length < minArray.length) { + minArray = minArrayCandidate; + minArrayIndex = i; + } + } + + minArray = ExtArray.unique(minArray); + erase(arrays, minArrayIndex, 1); + + + + + minArrayLength = minArray.length; + arraysLength = arrays.length; + for (i = 0; i < minArrayLength; i++) { + element = minArray[i]; + elementCount = 0; + + for (j = 0; j < arraysLength; j++) { + array = arrays[j]; + arrayLength = array.length; + for (k = 0; k < arrayLength; k++) { + elementCandidate = array[k]; + if (element === elementCandidate) { + elementCount++; + break; + } + } + } + + if (elementCount === arraysLength) { + intersection.push(element); + } + } + + return intersection; + }, + + + difference: function(arrayA, arrayB) { + var clone = slice.call(arrayA), + ln = clone.length, + i, j, lnB; + + for (i = 0,lnB = arrayB.length; i < lnB; i++) { + for (j = 0; j < ln; j++) { + if (clone[j] === arrayB[i]) { + erase(clone, j, 1); + j--; + ln--; + } + } + } + + return clone; + }, + + + + slice: ([1,2].slice(1, undefined).length ? + function (array, begin, end) { + return slice.call(array, begin, end); + } : + + function (array, begin, end) { + + + if (typeof begin === 'undefined') { + return slice.call(array); + } + if (typeof end === 'undefined') { + return slice.call(array, begin); + } + return slice.call(array, begin, end); + } + ), + + + sort: supportsSort ? function(array, sortFn) { + if (sortFn) { + return array.sort(sortFn); + } else { + return array.sort(); + } + } : function(array, sortFn) { + var length = array.length, + i = 0, + comparison, + j, min, tmp; + + for (; i < length; i++) { + min = i; + for (j = i + 1; j < length; j++) { + if (sortFn) { + comparison = sortFn(array[j], array[min]); + if (comparison < 0) { + min = j; + } + } else if (array[j] < array[min]) { + min = j; + } + } + if (min !== i) { + tmp = array[i]; + array[i] = array[min]; + array[min] = tmp; + } + } + + return array; + }, + + + flatten: function(array) { + var worker = []; + + function rFlatten(a) { + var i, ln, v; + + for (i = 0, ln = a.length; i < ln; i++) { + v = a[i]; + + if (Ext.isArray(v)) { + rFlatten(v); + } else { + worker.push(v); + } + } + + return worker; + } + + return rFlatten(array); + }, + + + min: function(array, comparisonFn) { + var min = array[0], + i, ln, item; + + for (i = 0, ln = array.length; i < ln; i++) { + item = array[i]; + + if (comparisonFn) { + if (comparisonFn(min, item) === 1) { + min = item; + } + } + else { + if (item < min) { + min = item; + } + } + } + + return min; + }, + + + max: function(array, comparisonFn) { + var max = array[0], + i, ln, item; + + for (i = 0, ln = array.length; i < ln; i++) { + item = array[i]; + + if (comparisonFn) { + if (comparisonFn(max, item) === -1) { + max = item; + } + } + else { + if (item > max) { + max = item; + } + } + } + + return max; + }, + + + mean: function(array) { + return array.length > 0 ? ExtArray.sum(array) / array.length : undefined; + }, + + + sum: function(array) { + var sum = 0, + i, ln, item; + + for (i = 0,ln = array.length; i < ln; i++) { + item = array[i]; + + sum += item; + } + + return sum; + }, + + + toMap: function(array, getKey, scope) { + var map = {}, + i = array.length; + + if (!getKey) { + while (i--) { + map[array[i]] = i+1; + } + } else if (typeof getKey == 'string') { + while (i--) { + map[array[i][getKey]] = i+1; + } + } else { + while (i--) { + map[getKey.call(scope, array[i])] = i+1; + } + } + + return map; + }, + + + + erase: erase, + + + insert: function (array, index, items) { + return replace(array, index, 0, items); + }, + + + replace: replace, + + + splice: splice, + + + push: function(array) { + var len = arguments.length, + i = 1, + newItem; + + if (array === undefined) { + array = []; + } else if (!Ext.isArray(array)) { + array = [array]; + } + for (; i < len; i++) { + newItem = arguments[i]; + Array.prototype.push[Ext.isArray(newItem) ? 'apply' : 'call'](array, newItem); + } + return array; + } + }; + + + Ext.each = ExtArray.each; + + + ExtArray.union = ExtArray.merge; + + + Ext.min = ExtArray.min; + + + Ext.max = ExtArray.max; + + + Ext.sum = ExtArray.sum; + + + Ext.mean = ExtArray.mean; + + + Ext.flatten = ExtArray.flatten; + + + Ext.clean = ExtArray.clean; + + + Ext.unique = ExtArray.unique; + + + Ext.pluck = ExtArray.pluck; + + + Ext.toArray = function() { + return ExtArray.toArray.apply(ExtArray, arguments); + }; +}()); + +//@tag foundation,core + +//@require Array.js + + + +Ext.Function = { + + + flexSetter: function(fn) { + return function(a, b) { + var k, i; + + if (a === null) { + return this; + } + + if (typeof a !== 'string') { + for (k in a) { + if (a.hasOwnProperty(k)) { + fn.call(this, k, a[k]); + } + } + + if (Ext.enumerables) { + for (i = Ext.enumerables.length; i--;) { + k = Ext.enumerables[i]; + if (a.hasOwnProperty(k)) { + fn.call(this, k, a[k]); + } + } + } + } else { + fn.call(this, a, b); + } + + return this; + }; + }, + + + bind: function(fn, scope, args, appendArgs) { + if (arguments.length === 2) { + return function() { + return fn.apply(scope, arguments); + }; + } + + var method = fn, + slice = Array.prototype.slice; + + return function() { + var callArgs = args || arguments; + + if (appendArgs === true) { + callArgs = slice.call(arguments, 0); + callArgs = callArgs.concat(args); + } + else if (typeof appendArgs == 'number') { + callArgs = slice.call(arguments, 0); + Ext.Array.insert(callArgs, appendArgs, args); + } + + return method.apply(scope || Ext.global, callArgs); + }; + }, + + + pass: function(fn, args, scope) { + if (!Ext.isArray(args)) { + if (Ext.isIterable(args)) { + args = Ext.Array.clone(args); + } else { + args = args !== undefined ? [args] : []; + } + } + + return function() { + var fnArgs = [].concat(args); + fnArgs.push.apply(fnArgs, arguments); + return fn.apply(scope || this, fnArgs); + }; + }, + + + alias: function(object, methodName) { + return function() { + return object[methodName].apply(object, arguments); + }; + }, + + + clone: function(method) { + return function() { + return method.apply(this, arguments); + }; + }, + + + createInterceptor: function(origFn, newFn, scope, returnValue) { + var method = origFn; + if (!Ext.isFunction(newFn)) { + return origFn; + } + else { + return function() { + var me = this, + args = arguments; + newFn.target = me; + newFn.method = origFn; + return (newFn.apply(scope || me || Ext.global, args) !== false) ? origFn.apply(me || Ext.global, args) : returnValue || null; + }; + } + }, + + + createDelayed: function(fn, delay, scope, args, appendArgs) { + if (scope || args) { + fn = Ext.Function.bind(fn, scope, args, appendArgs); + } + + return function() { + var me = this, + args = Array.prototype.slice.call(arguments); + + setTimeout(function() { + fn.apply(me, args); + }, delay); + }; + }, + + + defer: function(fn, millis, scope, args, appendArgs) { + fn = Ext.Function.bind(fn, scope, args, appendArgs); + if (millis > 0) { + return setTimeout(Ext.supports.TimeoutActualLateness ? function () { + fn(); + } : fn, millis); + } + fn(); + return 0; + }, + + + createSequence: function(originalFn, newFn, scope) { + if (!newFn) { + return originalFn; + } + else { + return function() { + var result = originalFn.apply(this, arguments); + newFn.apply(scope || this, arguments); + return result; + }; + } + }, + + + createBuffered: function(fn, buffer, scope, args) { + var timerId; + + return function() { + var callArgs = args || Array.prototype.slice.call(arguments, 0), + me = scope || this; + + if (timerId) { + clearTimeout(timerId); + } + + timerId = setTimeout(function(){ + fn.apply(me, callArgs); + }, buffer); + }; + }, + + + createThrottled: function(fn, interval, scope) { + var lastCallTime, elapsed, lastArgs, timer, execute = function() { + fn.apply(scope || this, lastArgs); + lastCallTime = new Date().getTime(); + }; + + return function() { + elapsed = new Date().getTime() - lastCallTime; + lastArgs = arguments; + + clearTimeout(timer); + if (!lastCallTime || (elapsed >= interval)) { + execute(); + } else { + timer = setTimeout(execute, interval - elapsed); + } + }; + }, + + + + interceptBefore: function(object, methodName, fn, scope) { + var method = object[methodName] || Ext.emptyFn; + + return (object[methodName] = function() { + var ret = fn.apply(scope || this, arguments); + method.apply(this, arguments); + + return ret; + }); + }, + + + interceptAfter: function(object, methodName, fn, scope) { + var method = object[methodName] || Ext.emptyFn; + + return (object[methodName] = function() { + method.apply(this, arguments); + return fn.apply(scope || this, arguments); + }); + } +}; + + +Ext.defer = Ext.Function.alias(Ext.Function, 'defer'); + + +Ext.pass = Ext.Function.alias(Ext.Function, 'pass'); + + +Ext.bind = Ext.Function.alias(Ext.Function, 'bind'); + +//@tag foundation,core + +//@require Function.js + + + + +(function() { + + +var TemplateClass = function(){}, + ExtObject = Ext.Object = { + + + chain: function (object) { + TemplateClass.prototype = object; + var result = new TemplateClass(); + TemplateClass.prototype = null; + return result; + }, + + + toQueryObjects: function(name, value, recursive) { + var self = ExtObject.toQueryObjects, + objects = [], + i, ln; + + if (Ext.isArray(value)) { + for (i = 0, ln = value.length; i < ln; i++) { + if (recursive) { + objects = objects.concat(self(name + '[' + i + ']', value[i], true)); + } + else { + objects.push({ + name: name, + value: value[i] + }); + } + } + } + else if (Ext.isObject(value)) { + for (i in value) { + if (value.hasOwnProperty(i)) { + if (recursive) { + objects = objects.concat(self(name + '[' + i + ']', value[i], true)); + } + else { + objects.push({ + name: name, + value: value[i] + }); + } + } + } + } + else { + objects.push({ + name: name, + value: value + }); + } + + return objects; + }, + + + toQueryString: function(object, recursive) { + var paramObjects = [], + params = [], + i, j, ln, paramObject, value; + + for (i in object) { + if (object.hasOwnProperty(i)) { + paramObjects = paramObjects.concat(ExtObject.toQueryObjects(i, object[i], recursive)); + } + } + + for (j = 0, ln = paramObjects.length; j < ln; j++) { + paramObject = paramObjects[j]; + value = paramObject.value; + + if (Ext.isEmpty(value)) { + value = ''; + } + else if (Ext.isDate(value)) { + value = Ext.Date.toString(value); + } + + params.push(encodeURIComponent(paramObject.name) + '=' + encodeURIComponent(String(value))); + } + + return params.join('&'); + }, + + + fromQueryString: function(queryString, recursive) { + var parts = queryString.replace(/^\?/, '').split('&'), + object = {}, + temp, components, name, value, i, ln, + part, j, subLn, matchedKeys, matchedName, + keys, key, nextKey; + + for (i = 0, ln = parts.length; i < ln; i++) { + part = parts[i]; + + if (part.length > 0) { + components = part.split('='); + name = decodeURIComponent(components[0]); + value = (components[1] !== undefined) ? decodeURIComponent(components[1]) : ''; + + if (!recursive) { + if (object.hasOwnProperty(name)) { + if (!Ext.isArray(object[name])) { + object[name] = [object[name]]; + } + + object[name].push(value); + } + else { + object[name] = value; + } + } + else { + matchedKeys = name.match(/(\[):?([^\]]*)\]/g); + matchedName = name.match(/^([^\[]+)/); + + + name = matchedName[0]; + keys = []; + + if (matchedKeys === null) { + object[name] = value; + continue; + } + + for (j = 0, subLn = matchedKeys.length; j < subLn; j++) { + key = matchedKeys[j]; + key = (key.length === 2) ? '' : key.substring(1, key.length - 1); + keys.push(key); + } + + keys.unshift(name); + + temp = object; + + for (j = 0, subLn = keys.length; j < subLn; j++) { + key = keys[j]; + + if (j === subLn - 1) { + if (Ext.isArray(temp) && key === '') { + temp.push(value); + } + else { + temp[key] = value; + } + } + else { + if (temp[key] === undefined || typeof temp[key] === 'string') { + nextKey = keys[j+1]; + + temp[key] = (Ext.isNumeric(nextKey) || nextKey === '') ? [] : {}; + } + + temp = temp[key]; + } + } + } + } + } + + return object; + }, + + + each: function(object, fn, scope) { + for (var property in object) { + if (object.hasOwnProperty(property)) { + if (fn.call(scope || object, property, object[property], object) === false) { + return; + } + } + } + }, + + + merge: function(destination) { + var i = 1, + ln = arguments.length, + mergeFn = ExtObject.merge, + cloneFn = Ext.clone, + object, key, value, sourceKey; + + for (; i < ln; i++) { + object = arguments[i]; + + for (key in object) { + value = object[key]; + if (value && value.constructor === Object) { + sourceKey = destination[key]; + if (sourceKey && sourceKey.constructor === Object) { + mergeFn(sourceKey, value); + } + else { + destination[key] = cloneFn(value); + } + } + else { + destination[key] = value; + } + } + } + + return destination; + }, + + + mergeIf: function(destination) { + var i = 1, + ln = arguments.length, + cloneFn = Ext.clone, + object, key, value; + + for (; i < ln; i++) { + object = arguments[i]; + + for (key in object) { + if (!(key in destination)) { + value = object[key]; + + if (value && value.constructor === Object) { + destination[key] = cloneFn(value); + } + else { + destination[key] = value; + } + } + } + } + + return destination; + }, + + + getKey: function(object, value) { + for (var property in object) { + if (object.hasOwnProperty(property) && object[property] === value) { + return property; + } + } + + return null; + }, + + + getValues: function(object) { + var values = [], + property; + + for (property in object) { + if (object.hasOwnProperty(property)) { + values.push(object[property]); + } + } + + return values; + }, + + + getKeys: (typeof Object.keys == 'function') + ? function(object){ + if (!object) { + return []; + } + return Object.keys(object); + } + : function(object) { + var keys = [], + property; + + for (property in object) { + if (object.hasOwnProperty(property)) { + keys.push(property); + } + } + + return keys; + }, + + + getSize: function(object) { + var size = 0, + property; + + for (property in object) { + if (object.hasOwnProperty(property)) { + size++; + } + } + + return size; + }, + + + classify: function(object) { + var prototype = object, + objectProperties = [], + propertyClassesMap = {}, + objectClass = function() { + var i = 0, + ln = objectProperties.length, + property; + + for (; i < ln; i++) { + property = objectProperties[i]; + this[property] = new propertyClassesMap[property](); + } + }, + key, value; + + for (key in object) { + if (object.hasOwnProperty(key)) { + value = object[key]; + + if (value && value.constructor === Object) { + objectProperties.push(key); + propertyClassesMap[key] = ExtObject.classify(value); + } + } + } + + objectClass.prototype = prototype; + + return objectClass; + } +}; + + +Ext.merge = Ext.Object.merge; + + +Ext.mergeIf = Ext.Object.mergeIf; + + +Ext.urlEncode = function() { + var args = Ext.Array.from(arguments), + prefix = ''; + + + if ((typeof args[1] === 'string')) { + prefix = args[1] + '&'; + args[1] = false; + } + + return prefix + ExtObject.toQueryString.apply(ExtObject, args); +}; + + +Ext.urlDecode = function() { + return ExtObject.fromQueryString.apply(ExtObject, arguments); +}; + +}()); + +//@tag foundation,core + +//@require Object.js + +//@define Ext.Date + + + + + + +(function() { + + + + +function xf(format) { + var args = Array.prototype.slice.call(arguments, 1); + return format.replace(/\{(\d+)\}/g, function(m, i) { + return args[i]; + }); +} + +Ext.Date = { + + now: Date.now || function() { + return +new Date(); + }, + + + toString: function(date) { + var pad = Ext.String.leftPad; + + return date.getFullYear() + "-" + + pad(date.getMonth() + 1, 2, '0') + "-" + + pad(date.getDate(), 2, '0') + "T" + + pad(date.getHours(), 2, '0') + ":" + + pad(date.getMinutes(), 2, '0') + ":" + + pad(date.getSeconds(), 2, '0'); + }, + + + getElapsed: function(dateA, dateB) { + return Math.abs(dateA - (dateB || new Date())); + }, + + + useStrict: false, + + + formatCodeToRegex: function(character, currentGroup) { + + var p = utilDate.parseCodes[character]; + + if (p) { + p = typeof p == 'function'? p() : p; + utilDate.parseCodes[character] = p; + } + + return p ? Ext.applyIf({ + c: p.c ? xf(p.c, currentGroup || "{0}") : p.c + }, p) : { + g: 0, + c: null, + s: Ext.String.escapeRegex(character) + }; + }, + + + parseFunctions: { + "MS": function(input, strict) { + + + var re = new RegExp('\\/Date\\(([-+])?(\\d+)(?:[+-]\\d{4})?\\)\\/'), + r = (input || '').match(re); + return r? new Date(((r[1] || '') + r[2]) * 1) : null; + } + }, + parseRegexes: [], + + + formatFunctions: { + "MS": function() { + + return '\\/Date(' + this.getTime() + ')\\/'; + } + }, + + y2kYear : 50, + + + MILLI : "ms", + + + SECOND : "s", + + + MINUTE : "mi", + + + HOUR : "h", + + + DAY : "d", + + + MONTH : "mo", + + + YEAR : "y", + + + defaults: {}, + + + + dayNames : [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + + + + + monthNames : [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December" + ], + + + + + monthNumbers : { + January: 0, + Jan: 0, + February: 1, + Feb: 1, + March: 2, + Mar: 2, + April: 3, + Apr: 3, + May: 4, + June: 5, + Jun: 5, + July: 6, + Jul: 6, + August: 7, + Aug: 7, + September: 8, + Sep: 8, + October: 9, + Oct: 9, + November: 10, + Nov: 10, + December: 11, + Dec: 11 + }, + + + + + defaultFormat : "m/d/Y", + + + + getShortMonthName : function(month) { + return Ext.Date.monthNames[month].substring(0, 3); + }, + + + + + getShortDayName : function(day) { + return Ext.Date.dayNames[day].substring(0, 3); + }, + + + + + getMonthNumber : function(name) { + + return Ext.Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()]; + }, + + + + formatContainsHourInfo : (function(){ + var stripEscapeRe = /(\\.)/g, + hourInfoRe = /([gGhHisucUOPZ]|MS)/; + return function(format){ + return hourInfoRe.test(format.replace(stripEscapeRe, '')); + }; + }()), + + + formatContainsDateInfo : (function(){ + var stripEscapeRe = /(\\.)/g, + dateInfoRe = /([djzmnYycU]|MS)/; + + return function(format){ + return dateInfoRe.test(format.replace(stripEscapeRe, '')); + }; + }()), + + + unescapeFormat: (function() { + var slashRe = /\\/gi; + return function(format) { + + + + return format.replace(slashRe, ''); + } + }()), + + + formatCodes : { + d: "Ext.String.leftPad(this.getDate(), 2, '0')", + D: "Ext.Date.getShortDayName(this.getDay())", + j: "this.getDate()", + l: "Ext.Date.dayNames[this.getDay()]", + N: "(this.getDay() ? this.getDay() : 7)", + S: "Ext.Date.getSuffix(this)", + w: "this.getDay()", + z: "Ext.Date.getDayOfYear(this)", + W: "Ext.String.leftPad(Ext.Date.getWeekOfYear(this), 2, '0')", + F: "Ext.Date.monthNames[this.getMonth()]", + m: "Ext.String.leftPad(this.getMonth() + 1, 2, '0')", + M: "Ext.Date.getShortMonthName(this.getMonth())", + n: "(this.getMonth() + 1)", + t: "Ext.Date.getDaysInMonth(this)", + L: "(Ext.Date.isLeapYear(this) ? 1 : 0)", + o: "(this.getFullYear() + (Ext.Date.getWeekOfYear(this) == 1 && this.getMonth() > 0 ? +1 : (Ext.Date.getWeekOfYear(this) >= 52 && this.getMonth() < 11 ? -1 : 0)))", + Y: "Ext.String.leftPad(this.getFullYear(), 4, '0')", + y: "('' + this.getFullYear()).substring(2, 4)", + a: "(this.getHours() < 12 ? 'am' : 'pm')", + A: "(this.getHours() < 12 ? 'AM' : 'PM')", + g: "((this.getHours() % 12) ? this.getHours() % 12 : 12)", + G: "this.getHours()", + h: "Ext.String.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0')", + H: "Ext.String.leftPad(this.getHours(), 2, '0')", + i: "Ext.String.leftPad(this.getMinutes(), 2, '0')", + s: "Ext.String.leftPad(this.getSeconds(), 2, '0')", + u: "Ext.String.leftPad(this.getMilliseconds(), 3, '0')", + O: "Ext.Date.getGMTOffset(this)", + P: "Ext.Date.getGMTOffset(this, true)", + T: "Ext.Date.getTimezone(this)", + Z: "(this.getTimezoneOffset() * -60)", + + c: function() { + var c, code, i, l, e; + for (c = "Y-m-dTH:i:sP", code = [], i = 0, l = c.length; i < l; ++i) { + e = c.charAt(i); + code.push(e == "T" ? "'T'" : utilDate.getFormatCode(e)); + } + return code.join(" + "); + }, + + + U: "Math.round(this.getTime() / 1000)" + }, + + + isValid : function(y, m, d, h, i, s, ms) { + + h = h || 0; + i = i || 0; + s = s || 0; + ms = ms || 0; + + + var dt = utilDate.add(new Date(y < 100 ? 100 : y, m - 1, d, h, i, s, ms), utilDate.YEAR, y < 100 ? y - 100 : 0); + + return y == dt.getFullYear() && + m == dt.getMonth() + 1 && + d == dt.getDate() && + h == dt.getHours() && + i == dt.getMinutes() && + s == dt.getSeconds() && + ms == dt.getMilliseconds(); + }, + + + parse : function(input, format, strict) { + var p = utilDate.parseFunctions; + if (p[format] == null) { + utilDate.createParser(format); + } + return p[format](input, Ext.isDefined(strict) ? strict : utilDate.useStrict); + }, + + + parseDate: function(input, format, strict){ + return utilDate.parse(input, format, strict); + }, + + + + getFormatCode : function(character) { + var f = utilDate.formatCodes[character]; + + if (f) { + f = typeof f == 'function'? f() : f; + utilDate.formatCodes[character] = f; + } + + + return f || ("'" + Ext.String.escape(character) + "'"); + }, + + + createFormat : function(format) { + var code = [], + special = false, + ch = '', + i; + + for (i = 0; i < format.length; ++i) { + ch = format.charAt(i); + if (!special && ch == "\\") { + special = true; + } else if (special) { + special = false; + code.push("'" + Ext.String.escape(ch) + "'"); + } else { + code.push(utilDate.getFormatCode(ch)); + } + } + utilDate.formatFunctions[format] = Ext.functionFactory("return " + code.join('+')); + }, + + + createParser : (function() { + var code = [ + "var dt, y, m, d, h, i, s, ms, o, z, zz, u, v,", + "def = Ext.Date.defaults,", + "results = String(input).match(Ext.Date.parseRegexes[{0}]);", + + "if(results){", + "{1}", + + "if(u != null){", + "v = new Date(u * 1000);", + "}else{", + + + + "dt = Ext.Date.clearTime(new Date);", + + + "y = Ext.Number.from(y, Ext.Number.from(def.y, dt.getFullYear()));", + "m = Ext.Number.from(m, Ext.Number.from(def.m - 1, dt.getMonth()));", + "d = Ext.Number.from(d, Ext.Number.from(def.d, dt.getDate()));", + + + "h = Ext.Number.from(h, Ext.Number.from(def.h, dt.getHours()));", + "i = Ext.Number.from(i, Ext.Number.from(def.i, dt.getMinutes()));", + "s = Ext.Number.from(s, Ext.Number.from(def.s, dt.getSeconds()));", + "ms = Ext.Number.from(ms, Ext.Number.from(def.ms, dt.getMilliseconds()));", + + "if(z >= 0 && y >= 0){", + + + + + + "v = Ext.Date.add(new Date(y < 100 ? 100 : y, 0, 1, h, i, s, ms), Ext.Date.YEAR, y < 100 ? y - 100 : 0);", + + + "v = !strict? v : (strict === true && (z <= 364 || (Ext.Date.isLeapYear(v) && z <= 365))? Ext.Date.add(v, Ext.Date.DAY, z) : null);", + "}else if(strict === true && !Ext.Date.isValid(y, m + 1, d, h, i, s, ms)){", + "v = null;", + "}else{", + + + "v = Ext.Date.add(new Date(y < 100 ? 100 : y, m, d, h, i, s, ms), Ext.Date.YEAR, y < 100 ? y - 100 : 0);", + "}", + "}", + "}", + + "if(v){", + + "if(zz != null){", + + "v = Ext.Date.add(v, Ext.Date.SECOND, -v.getTimezoneOffset() * 60 - zz);", + "}else if(o){", + + "v = Ext.Date.add(v, Ext.Date.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn));", + "}", + "}", + + "return v;" + ].join('\n'); + + return function(format) { + var regexNum = utilDate.parseRegexes.length, + currentGroup = 1, + calc = [], + regex = [], + special = false, + ch = "", + i = 0, + len = format.length, + atEnd = [], + obj; + + for (; i < len; ++i) { + ch = format.charAt(i); + if (!special && ch == "\\") { + special = true; + } else if (special) { + special = false; + regex.push(Ext.String.escape(ch)); + } else { + obj = utilDate.formatCodeToRegex(ch, currentGroup); + currentGroup += obj.g; + regex.push(obj.s); + if (obj.g && obj.c) { + if (obj.calcAtEnd) { + atEnd.push(obj.c); + } else { + calc.push(obj.c); + } + } + } + } + + calc = calc.concat(atEnd); + + utilDate.parseRegexes[regexNum] = new RegExp("^" + regex.join('') + "$", 'i'); + utilDate.parseFunctions[format] = Ext.functionFactory("input", "strict", xf(code, regexNum, calc.join(''))); + }; + }()), + + + parseCodes : { + + d: { + g:1, + c:"d = parseInt(results[{0}], 10);\n", + s:"(3[0-1]|[1-2][0-9]|0[1-9])" + }, + j: { + g:1, + c:"d = parseInt(results[{0}], 10);\n", + s:"(3[0-1]|[1-2][0-9]|[1-9])" + }, + D: function() { + for (var a = [], i = 0; i < 7; a.push(utilDate.getShortDayName(i)), ++i); + return { + g:0, + c:null, + s:"(?:" + a.join("|") +")" + }; + }, + l: function() { + return { + g:0, + c:null, + s:"(?:" + utilDate.dayNames.join("|") + ")" + }; + }, + N: { + g:0, + c:null, + s:"[1-7]" + }, + + S: { + g:0, + c:null, + s:"(?:st|nd|rd|th)" + }, + + w: { + g:0, + c:null, + s:"[0-6]" + }, + z: { + g:1, + c:"z = parseInt(results[{0}], 10);\n", + s:"(\\d{1,3})" + }, + W: { + g:0, + c:null, + s:"(?:\\d{2})" + }, + F: function() { + return { + g:1, + c:"m = parseInt(Ext.Date.getMonthNumber(results[{0}]), 10);\n", + s:"(" + utilDate.monthNames.join("|") + ")" + }; + }, + M: function() { + for (var a = [], i = 0; i < 12; a.push(utilDate.getShortMonthName(i)), ++i); + return Ext.applyIf({ + s:"(" + a.join("|") + ")" + }, utilDate.formatCodeToRegex("F")); + }, + m: { + g:1, + c:"m = parseInt(results[{0}], 10) - 1;\n", + s:"(1[0-2]|0[1-9])" + }, + n: { + g:1, + c:"m = parseInt(results[{0}], 10) - 1;\n", + s:"(1[0-2]|[1-9])" + }, + t: { + g:0, + c:null, + s:"(?:\\d{2})" + }, + L: { + g:0, + c:null, + s:"(?:1|0)" + }, + o: function() { + return utilDate.formatCodeToRegex("Y"); + }, + Y: { + g:1, + c:"y = parseInt(results[{0}], 10);\n", + s:"(\\d{4})" + }, + y: { + g:1, + c:"var ty = parseInt(results[{0}], 10);\n" + + "y = ty > Ext.Date.y2kYear ? 1900 + ty : 2000 + ty;\n", + s:"(\\d{1,2})" + }, + + + a: { + g:1, + c:"if (/(am)/i.test(results[{0}])) {\n" + + "if (!h || h == 12) { h = 0; }\n" + + "} else { if (!h || h < 12) { h = (h || 0) + 12; }}", + s:"(am|pm|AM|PM)", + calcAtEnd: true + }, + + + A: { + g:1, + c:"if (/(am)/i.test(results[{0}])) {\n" + + "if (!h || h == 12) { h = 0; }\n" + + "} else { if (!h || h < 12) { h = (h || 0) + 12; }}", + s:"(AM|PM|am|pm)", + calcAtEnd: true + }, + + g: { + g:1, + c:"h = parseInt(results[{0}], 10);\n", + s:"(1[0-2]|[0-9])" + }, + G: { + g:1, + c:"h = parseInt(results[{0}], 10);\n", + s:"(2[0-3]|1[0-9]|[0-9])" + }, + h: { + g:1, + c:"h = parseInt(results[{0}], 10);\n", + s:"(1[0-2]|0[1-9])" + }, + H: { + g:1, + c:"h = parseInt(results[{0}], 10);\n", + s:"(2[0-3]|[0-1][0-9])" + }, + i: { + g:1, + c:"i = parseInt(results[{0}], 10);\n", + s:"([0-5][0-9])" + }, + s: { + g:1, + c:"s = parseInt(results[{0}], 10);\n", + s:"([0-5][0-9])" + }, + u: { + g:1, + c:"ms = results[{0}]; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n", + s:"(\\d+)" + }, + O: { + g:1, + c:[ + "o = results[{0}];", + "var sn = o.substring(0,1),", + "hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60),", + "mn = o.substring(3,5) % 60;", + "o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n" + ].join("\n"), + s: "([+-]\\d{4})" + }, + P: { + g:1, + c:[ + "o = results[{0}];", + "var sn = o.substring(0,1),", + "hr = o.substring(1,3)*1 + Math.floor(o.substring(4,6) / 60),", + "mn = o.substring(4,6) % 60;", + "o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n" + ].join("\n"), + s: "([+-]\\d{2}:\\d{2})" + }, + T: { + g:0, + c:null, + s:"[A-Z]{1,4}" + }, + Z: { + g:1, + c:"zz = results[{0}] * 1;\n" + + "zz = (-43200 <= zz && zz <= 50400)? zz : null;\n", + s:"([+-]?\\d{1,5})" + }, + c: function() { + var calc = [], + arr = [ + utilDate.formatCodeToRegex("Y", 1), + utilDate.formatCodeToRegex("m", 2), + utilDate.formatCodeToRegex("d", 3), + utilDate.formatCodeToRegex("H", 4), + utilDate.formatCodeToRegex("i", 5), + utilDate.formatCodeToRegex("s", 6), + {c:"ms = results[7] || '0'; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n"}, + {c:[ + "if(results[8]) {", + "if(results[8] == 'Z'){", + "zz = 0;", + "}else if (results[8].indexOf(':') > -1){", + utilDate.formatCodeToRegex("P", 8).c, + "}else{", + utilDate.formatCodeToRegex("O", 8).c, + "}", + "}" + ].join('\n')} + ], + i, + l; + + for (i = 0, l = arr.length; i < l; ++i) { + calc.push(arr[i].c); + } + + return { + g:1, + c:calc.join(""), + s:[ + arr[0].s, + "(?:", "-", arr[1].s, + "(?:", "-", arr[2].s, + "(?:", + "(?:T| )?", + arr[3].s, ":", arr[4].s, + "(?::", arr[5].s, ")?", + "(?:(?:\\.|,)(\\d+))?", + "(Z|(?:[-+]\\d{2}(?::)?\\d{2}))?", + ")?", + ")?", + ")?" + ].join("") + }; + }, + U: { + g:1, + c:"u = parseInt(results[{0}], 10);\n", + s:"(-?\\d+)" + } + }, + + + + dateFormat: function(date, format) { + return utilDate.format(date, format); + }, + + + isEqual: function(date1, date2) { + + if (date1 && date2) { + return (date1.getTime() === date2.getTime()); + } + + return !(date1 || date2); + }, + + + format: function(date, format) { + var formatFunctions = utilDate.formatFunctions; + + if (!Ext.isDate(date)) { + return ''; + } + + if (formatFunctions[format] == null) { + utilDate.createFormat(format); + } + + return formatFunctions[format].call(date) + ''; + }, + + + getTimezone : function(date) { + + + + + + + + + + + + + return date.toString().replace(/^.* (?:\((.*)\)|([A-Z]{1,4})(?:[\-+][0-9]{4})?(?: -?\d+)?)$/, "$1$2").replace(/[^A-Z]/g, ""); + }, + + + getGMTOffset : function(date, colon) { + var offset = date.getTimezoneOffset(); + return (offset > 0 ? "-" : "+") + + Ext.String.leftPad(Math.floor(Math.abs(offset) / 60), 2, "0") + + (colon ? ":" : "") + + Ext.String.leftPad(Math.abs(offset % 60), 2, "0"); + }, + + + getDayOfYear: function(date) { + var num = 0, + d = Ext.Date.clone(date), + m = date.getMonth(), + i; + + for (i = 0, d.setDate(1), d.setMonth(0); i < m; d.setMonth(++i)) { + num += utilDate.getDaysInMonth(d); + } + return num + date.getDate() - 1; + }, + + + getWeekOfYear : (function() { + + var ms1d = 864e5, + ms7d = 7 * ms1d; + + return function(date) { + var DC3 = Date.UTC(date.getFullYear(), date.getMonth(), date.getDate() + 3) / ms1d, + AWN = Math.floor(DC3 / 7), + Wyr = new Date(AWN * ms7d).getUTCFullYear(); + + return AWN - Math.floor(Date.UTC(Wyr, 0, 7) / ms7d) + 1; + }; + }()), + + + isLeapYear : function(date) { + var year = date.getFullYear(); + return !!((year & 3) == 0 && (year % 100 || (year % 400 == 0 && year))); + }, + + + getFirstDayOfMonth : function(date) { + var day = (date.getDay() - (date.getDate() - 1)) % 7; + return (day < 0) ? (day + 7) : day; + }, + + + getLastDayOfMonth : function(date) { + return utilDate.getLastDateOfMonth(date).getDay(); + }, + + + + getFirstDateOfMonth : function(date) { + return new Date(date.getFullYear(), date.getMonth(), 1); + }, + + + getLastDateOfMonth : function(date) { + return new Date(date.getFullYear(), date.getMonth(), utilDate.getDaysInMonth(date)); + }, + + + getDaysInMonth: (function() { + var daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + + return function(date) { + var m = date.getMonth(); + + return m == 1 && utilDate.isLeapYear(date) ? 29 : daysInMonth[m]; + }; + }()), + + + + getSuffix : function(date) { + switch (date.getDate()) { + case 1: + case 21: + case 31: + return "st"; + case 2: + case 22: + return "nd"; + case 3: + case 23: + return "rd"; + default: + return "th"; + } + }, + + + + clone : function(date) { + return new Date(date.getTime()); + }, + + + isDST : function(date) { + + + return new Date(date.getFullYear(), 0, 1).getTimezoneOffset() != date.getTimezoneOffset(); + }, + + + clearTime : function(date, clone) { + if (clone) { + return Ext.Date.clearTime(Ext.Date.clone(date)); + } + + + var d = date.getDate(), + hr, + c; + + + date.setHours(0); + date.setMinutes(0); + date.setSeconds(0); + date.setMilliseconds(0); + + if (date.getDate() != d) { + + + + + for (hr = 1, c = utilDate.add(date, Ext.Date.HOUR, hr); c.getDate() != d; hr++, c = utilDate.add(date, Ext.Date.HOUR, hr)); + + date.setDate(d); + date.setHours(c.getHours()); + } + + return date; + }, + + + add : function(date, interval, value) { + var d = Ext.Date.clone(date), + Date = Ext.Date, + day; + if (!interval || value === 0) { + return d; + } + + switch(interval.toLowerCase()) { + case Ext.Date.MILLI: + d.setMilliseconds(d.getMilliseconds() + value); + break; + case Ext.Date.SECOND: + d.setSeconds(d.getSeconds() + value); + break; + case Ext.Date.MINUTE: + d.setMinutes(d.getMinutes() + value); + break; + case Ext.Date.HOUR: + d.setHours(d.getHours() + value); + break; + case Ext.Date.DAY: + d.setDate(d.getDate() + value); + break; + case Ext.Date.MONTH: + day = date.getDate(); + if (day > 28) { + day = Math.min(day, Ext.Date.getLastDateOfMonth(Ext.Date.add(Ext.Date.getFirstDateOfMonth(date), Ext.Date.MONTH, value)).getDate()); + } + d.setDate(day); + d.setMonth(date.getMonth() + value); + break; + case Ext.Date.YEAR: + day = date.getDate(); + if (day > 28) { + day = Math.min(day, Ext.Date.getLastDateOfMonth(Ext.Date.add(Ext.Date.getFirstDateOfMonth(date), Ext.Date.YEAR, value)).getDate()); + } + d.setDate(day); + d.setFullYear(date.getFullYear() + value); + break; + } + return d; + }, + + + between : function(date, start, end) { + var t = date.getTime(); + return start.getTime() <= t && t <= end.getTime(); + }, + + + compat: function() { + var nativeDate = window.Date, + p, u, + statics = ['useStrict', 'formatCodeToRegex', 'parseFunctions', 'parseRegexes', 'formatFunctions', 'y2kYear', 'MILLI', 'SECOND', 'MINUTE', 'HOUR', 'DAY', 'MONTH', 'YEAR', 'defaults', 'dayNames', 'monthNames', 'monthNumbers', 'getShortMonthName', 'getShortDayName', 'getMonthNumber', 'formatCodes', 'isValid', 'parseDate', 'getFormatCode', 'createFormat', 'createParser', 'parseCodes'], + proto = ['dateFormat', 'format', 'getTimezone', 'getGMTOffset', 'getDayOfYear', 'getWeekOfYear', 'isLeapYear', 'getFirstDayOfMonth', 'getLastDayOfMonth', 'getDaysInMonth', 'getSuffix', 'clone', 'isDST', 'clearTime', 'add', 'between'], + sLen = statics.length, + pLen = proto.length, + stat, prot, s; + + + for (s = 0; s < sLen; s++) { + stat = statics[s]; + nativeDate[stat] = utilDate[stat]; + } + + + for (p = 0; p < pLen; p++) { + prot = proto[p]; + nativeDate.prototype[prot] = function() { + var args = Array.prototype.slice.call(arguments); + args.unshift(this); + return utilDate[prot].apply(utilDate, args); + }; + } + } +}; + +var utilDate = Ext.Date; + +}()); + +//@tag foundation,core + +//@require ../lang/Date.js + + + +(function(flexSetter) { + +var noArgs = [], + Base = function(){}; + + + Ext.apply(Base, { + $className: 'Ext.Base', + + $isClass: true, + + + create: function() { + return Ext.create.apply(Ext, [this].concat(Array.prototype.slice.call(arguments, 0))); + }, + + + extend: function(parent) { + var parentPrototype = parent.prototype, + basePrototype, prototype, i, ln, name, statics; + + prototype = this.prototype = Ext.Object.chain(parentPrototype); + prototype.self = this; + + this.superclass = prototype.superclass = parentPrototype; + + if (!parent.$isClass) { + basePrototype = Ext.Base.prototype; + + for (i in basePrototype) { + if (i in prototype) { + prototype[i] = basePrototype[i]; + } + } + } + + + statics = parentPrototype.$inheritableStatics; + + if (statics) { + for (i = 0,ln = statics.length; i < ln; i++) { + name = statics[i]; + + if (!this.hasOwnProperty(name)) { + this[name] = parent[name]; + } + } + } + + if (parent.$onExtended) { + this.$onExtended = parent.$onExtended.slice(); + } + + prototype.config = new prototype.configClass(); + prototype.initConfigList = prototype.initConfigList.slice(); + prototype.initConfigMap = Ext.clone(prototype.initConfigMap); + prototype.configMap = Ext.Object.chain(prototype.configMap); + }, + + + $onExtended: [], + + + triggerExtended: function() { + var callbacks = this.$onExtended, + ln = callbacks.length, + i, callback; + + if (ln > 0) { + for (i = 0; i < ln; i++) { + callback = callbacks[i]; + callback.fn.apply(callback.scope || this, arguments); + } + } + }, + + + onExtended: function(fn, scope) { + this.$onExtended.push({ + fn: fn, + scope: scope + }); + + return this; + }, + + + addConfig: function(config, fullMerge) { + var prototype = this.prototype, + configNameCache = Ext.Class.configNameCache, + hasConfig = prototype.configMap, + initConfigList = prototype.initConfigList, + initConfigMap = prototype.initConfigMap, + defaultConfig = prototype.config, + initializedName, name, value; + + for (name in config) { + if (config.hasOwnProperty(name)) { + if (!hasConfig[name]) { + hasConfig[name] = true; + } + + value = config[name]; + + initializedName = configNameCache[name].initialized; + + if (!initConfigMap[name] && value !== null && !prototype[initializedName]) { + initConfigMap[name] = true; + initConfigList.push(name); + } + } + } + + if (fullMerge) { + Ext.merge(defaultConfig, config); + } + else { + Ext.mergeIf(defaultConfig, config); + } + + prototype.configClass = Ext.Object.classify(defaultConfig); + }, + + + addStatics: function(members) { + var member, name; + + for (name in members) { + if (members.hasOwnProperty(name)) { + member = members[name]; + if (typeof member == 'function' && !member.$isClass && member !== Ext.emptyFn && member !== Ext.identityFn) { + member.$owner = this; + member.$name = name; + } + this[name] = member; + } + } + + return this; + }, + + + addInheritableStatics: function(members) { + var inheritableStatics, + hasInheritableStatics, + prototype = this.prototype, + name, member; + + inheritableStatics = prototype.$inheritableStatics; + hasInheritableStatics = prototype.$hasInheritableStatics; + + if (!inheritableStatics) { + inheritableStatics = prototype.$inheritableStatics = []; + hasInheritableStatics = prototype.$hasInheritableStatics = {}; + } + + for (name in members) { + if (members.hasOwnProperty(name)) { + member = members[name]; + this[name] = member; + + if (!hasInheritableStatics[name]) { + hasInheritableStatics[name] = true; + inheritableStatics.push(name); + } + } + } + + return this; + }, + + + addMembers: function(members) { + var prototype = this.prototype, + enumerables = Ext.enumerables, + names = [], + i, ln, name, member; + + for (name in members) { + names.push(name); + } + + if (enumerables) { + names.push.apply(names, enumerables); + } + + for (i = 0,ln = names.length; i < ln; i++) { + name = names[i]; + + if (members.hasOwnProperty(name)) { + member = members[name]; + + if (typeof member == 'function' && !member.$isClass && member !== Ext.emptyFn) { + member.$owner = this; + member.$name = name; + } + + prototype[name] = member; + } + } + + return this; + }, + + + addMember: function(name, member) { + if (typeof member == 'function' && !member.$isClass && member !== Ext.emptyFn) { + member.$owner = this; + member.$name = name; + } + + this.prototype[name] = member; + + return this; + }, + + + implement: function() { + this.addMembers.apply(this, arguments); + }, + + + borrow: function(fromClass, members) { + var prototype = this.prototype, + fromPrototype = fromClass.prototype, + i, ln, name, fn, toBorrow; + + members = Ext.Array.from(members); + + for (i = 0,ln = members.length; i < ln; i++) { + name = members[i]; + + toBorrow = fromPrototype[name]; + + if (typeof toBorrow == 'function') { + fn = Ext.Function.clone(toBorrow); + + + fn.$owner = this; + fn.$name = name; + + prototype[name] = fn; + } + else { + prototype[name] = toBorrow; + } + } + + return this; + }, + + + override: function(members) { + var me = this, + enumerables = Ext.enumerables, + target = me.prototype, + cloneFunction = Ext.Function.clone, + name, index, member, statics, names, previous; + + if (arguments.length === 2) { + name = members; + members = {}; + members[name] = arguments[1]; + enumerables = null; + } + + do { + names = []; + statics = null; + + for (name in members) { + if (name == 'statics') { + statics = members[name]; + } else if (name == 'config') { + me.addConfig(members[name], true); + } else { + names.push(name); + } + } + + if (enumerables) { + names.push.apply(names, enumerables); + } + + for (index = names.length; index--; ) { + name = names[index]; + + if (members.hasOwnProperty(name)) { + member = members[name]; + + if (typeof member == 'function' && !member.$className && member !== Ext.emptyFn) { + if (typeof member.$owner != 'undefined') { + member = cloneFunction(member); + } + + + member.$owner = me; + member.$name = name; + + previous = target[name]; + if (previous) { + member.$previous = previous; + } + } + + target[name] = member; + } + } + + target = me; + members = statics; + } while (members); + + return this; + }, + + + callParent: function(args) { + var method; + + + return (method = this.callParent.caller) && (method.$previous || + ((method = method.$owner ? method : method.caller) && + method.$owner.superclass.self[method.$name])).apply(this, args || noArgs); + }, + + + callSuper: function(args) { + var method; + + + return (method = this.callSuper.caller) && + ((method = method.$owner ? method : method.caller) && + method.$owner.superclass.self[method.$name]).apply(this, args || noArgs); + }, + + + mixin: function(name, mixinClass) { + var mixin = mixinClass.prototype, + prototype = this.prototype, + key; + + if (typeof mixin.onClassMixedIn != 'undefined') { + mixin.onClassMixedIn.call(mixinClass, this); + } + + if (!prototype.hasOwnProperty('mixins')) { + if ('mixins' in prototype) { + prototype.mixins = Ext.Object.chain(prototype.mixins); + } + else { + prototype.mixins = {}; + } + } + + for (key in mixin) { + if (key === 'mixins') { + Ext.merge(prototype.mixins, mixin[key]); + } + else if (typeof prototype[key] == 'undefined' && key != 'mixinId' && key != 'config') { + prototype[key] = mixin[key]; + } + } + + if ('config' in mixin) { + this.addConfig(mixin.config, false); + } + + prototype.mixins[name] = mixin; + }, + + + getName: function() { + return Ext.getClassName(this); + }, + + + createAlias: flexSetter(function(alias, origin) { + this.override(alias, function() { + return this[origin].apply(this, arguments); + }); + }), + + + addXtype: function(xtype) { + var prototype = this.prototype, + xtypesMap = prototype.xtypesMap, + xtypes = prototype.xtypes, + xtypesChain = prototype.xtypesChain; + + if (!prototype.hasOwnProperty('xtypesMap')) { + xtypesMap = prototype.xtypesMap = Ext.merge({}, prototype.xtypesMap || {}); + xtypes = prototype.xtypes = prototype.xtypes ? [].concat(prototype.xtypes) : []; + xtypesChain = prototype.xtypesChain = prototype.xtypesChain ? [].concat(prototype.xtypesChain) : []; + prototype.xtype = xtype; + } + + if (!xtypesMap[xtype]) { + xtypesMap[xtype] = true; + xtypes.push(xtype); + xtypesChain.push(xtype); + Ext.ClassManager.setAlias(this, 'widget.' + xtype); + } + + return this; + } + }); + + Base.implement({ + + isInstance: true, + + + $className: 'Ext.Base', + + + configClass: Ext.emptyFn, + + + initConfigList: [], + + + configMap: {}, + + + initConfigMap: {}, + + + statics: function() { + var method = this.statics.caller, + self = this.self; + + if (!method) { + return self; + } + + return method.$owner; + }, + + + callParent: function(args) { + + + + + var method, + superMethod = (method = this.callParent.caller) && (method.$previous || + ((method = method.$owner ? method : method.caller) && + method.$owner.superclass[method.$name])); + + + return superMethod.apply(this, args || noArgs); + }, + + + callSuper: function(args) { + + + + + var method, + superMethod = (method = this.callSuper.caller) && + ((method = method.$owner ? method : method.caller) && + method.$owner.superclass[method.$name]); + + + return superMethod.apply(this, args || noArgs); + }, + + + self: Base, + + + constructor: function() { + return this; + }, + + + initConfig: function(config) { + var instanceConfig = config, + configNameCache = Ext.Class.configNameCache, + defaultConfig = new this.configClass(), + defaultConfigList = this.initConfigList, + hasConfig = this.configMap, + nameMap, i, ln, name, initializedName; + + this.initConfig = Ext.emptyFn; + + this.initialConfig = instanceConfig || {}; + + this.config = config = (instanceConfig) ? Ext.merge(defaultConfig, config) : defaultConfig; + + if (instanceConfig) { + defaultConfigList = defaultConfigList.slice(); + + for (name in instanceConfig) { + if (hasConfig[name]) { + if (instanceConfig[name] !== null) { + defaultConfigList.push(name); + this[configNameCache[name].initialized] = false; + } + } + } + } + + for (i = 0,ln = defaultConfigList.length; i < ln; i++) { + name = defaultConfigList[i]; + nameMap = configNameCache[name]; + initializedName = nameMap.initialized; + + if (!this[initializedName]) { + this[initializedName] = true; + this[nameMap.set].call(this, config[name]); + } + } + + return this; + }, + + + hasConfig: function(name) { + return Boolean(this.configMap[name]); + }, + + + setConfig: function(config, applyIfNotSet) { + if (!config) { + return this; + } + + var configNameCache = Ext.Class.configNameCache, + currentConfig = this.config, + hasConfig = this.configMap, + initialConfig = this.initialConfig, + name, value; + + applyIfNotSet = Boolean(applyIfNotSet); + + for (name in config) { + if (applyIfNotSet && initialConfig.hasOwnProperty(name)) { + continue; + } + + value = config[name]; + currentConfig[name] = value; + + if (hasConfig[name]) { + this[configNameCache[name].set](value); + } + } + + return this; + }, + + + getConfig: function(name) { + var configNameCache = Ext.Class.configNameCache; + + return this[configNameCache[name].get](); + }, + + + getInitialConfig: function(name) { + var config = this.config; + + if (!name) { + return config; + } + else { + return config[name]; + } + }, + + + onConfigUpdate: function(names, callback, scope) { + var self = this.self, + i, ln, name, + updaterName, updater, newUpdater; + + names = Ext.Array.from(names); + + scope = scope || this; + + for (i = 0,ln = names.length; i < ln; i++) { + name = names[i]; + updaterName = 'update' + Ext.String.capitalize(name); + updater = this[updaterName] || Ext.emptyFn; + newUpdater = function() { + updater.apply(this, arguments); + scope[callback].apply(scope, arguments); + }; + newUpdater.$name = updaterName; + newUpdater.$owner = self; + + this[updaterName] = newUpdater; + } + }, + + + destroy: function() { + this.destroy = Ext.emptyFn; + } + }); + + + Base.prototype.callOverridden = Base.prototype.callParent; + + Ext.Base = Base; + +}(Ext.Function.flexSetter)); + +//@tag foundation,core + +//@require Base.js + + + +(function() { + var ExtClass, + Base = Ext.Base, + baseStaticMembers = [], + baseStaticMember, baseStaticMemberLength; + + for (baseStaticMember in Base) { + if (Base.hasOwnProperty(baseStaticMember)) { + baseStaticMembers.push(baseStaticMember); + } + } + + baseStaticMemberLength = baseStaticMembers.length; + + + function makeCtor (className) { + function constructor () { + + + return this.constructor.apply(this, arguments) || null; + } + return constructor; + } + + + Ext.Class = ExtClass = function(Class, data, onCreated) { + if (typeof Class != 'function') { + onCreated = data; + data = Class; + Class = null; + } + + if (!data) { + data = {}; + } + + Class = ExtClass.create(Class, data); + + ExtClass.process(Class, data, onCreated); + + return Class; + }; + + Ext.apply(ExtClass, { + + onBeforeCreated: function(Class, data, hooks) { + Class.addMembers(data); + + hooks.onCreated.call(Class, Class); + }, + + + create: function(Class, data) { + var name, i; + + if (!Class) { + Class = makeCtor( + ); + } + + for (i = 0; i < baseStaticMemberLength; i++) { + name = baseStaticMembers[i]; + Class[name] = Base[name]; + } + + return Class; + }, + + + process: function(Class, data, onCreated) { + var preprocessorStack = data.preprocessors || ExtClass.defaultPreprocessors, + registeredPreprocessors = this.preprocessors, + hooks = { + onBeforeCreated: this.onBeforeCreated + }, + preprocessors = [], + preprocessor, preprocessorsProperties, + i, ln, j, subLn, preprocessorProperty, process; + + delete data.preprocessors; + + for (i = 0,ln = preprocessorStack.length; i < ln; i++) { + preprocessor = preprocessorStack[i]; + + if (typeof preprocessor == 'string') { + preprocessor = registeredPreprocessors[preprocessor]; + preprocessorsProperties = preprocessor.properties; + + if (preprocessorsProperties === true) { + preprocessors.push(preprocessor.fn); + } + else if (preprocessorsProperties) { + for (j = 0,subLn = preprocessorsProperties.length; j < subLn; j++) { + preprocessorProperty = preprocessorsProperties[j]; + + if (data.hasOwnProperty(preprocessorProperty)) { + preprocessors.push(preprocessor.fn); + break; + } + } + } + } + else { + preprocessors.push(preprocessor); + } + } + + hooks.onCreated = onCreated ? onCreated : Ext.emptyFn; + hooks.preprocessors = preprocessors; + + this.doProcess(Class, data, hooks); + }, + + doProcess: function(Class, data, hooks){ + var me = this, + preprocessor = hooks.preprocessors.shift(); + + if (!preprocessor) { + hooks.onBeforeCreated.apply(me, arguments); + return; + } + + if (preprocessor.call(me, Class, data, hooks, me.doProcess) !== false) { + me.doProcess(Class, data, hooks); + } + }, + + + preprocessors: {}, + + + registerPreprocessor: function(name, fn, properties, position, relativeTo) { + if (!position) { + position = 'last'; + } + + if (!properties) { + properties = [name]; + } + + this.preprocessors[name] = { + name: name, + properties: properties || false, + fn: fn + }; + + this.setDefaultPreprocessorPosition(name, position, relativeTo); + + return this; + }, + + + getPreprocessor: function(name) { + return this.preprocessors[name]; + }, + + + getPreprocessors: function() { + return this.preprocessors; + }, + + + defaultPreprocessors: [], + + + getDefaultPreprocessors: function() { + return this.defaultPreprocessors; + }, + + + setDefaultPreprocessors: function(preprocessors) { + this.defaultPreprocessors = Ext.Array.from(preprocessors); + + return this; + }, + + + setDefaultPreprocessorPosition: function(name, offset, relativeName) { + var defaultPreprocessors = this.defaultPreprocessors, + index; + + if (typeof offset == 'string') { + if (offset === 'first') { + defaultPreprocessors.unshift(name); + + return this; + } + else if (offset === 'last') { + defaultPreprocessors.push(name); + + return this; + } + + offset = (offset === 'after') ? 1 : -1; + } + + index = Ext.Array.indexOf(defaultPreprocessors, relativeName); + + if (index !== -1) { + Ext.Array.splice(defaultPreprocessors, Math.max(0, index + offset), 0, name); + } + + return this; + }, + + configNameCache: {}, + + getConfigNameMap: function(name) { + var cache = this.configNameCache, + map = cache[name], + capitalizedName; + + if (!map) { + capitalizedName = name.charAt(0).toUpperCase() + name.substr(1); + + map = cache[name] = { + internal: name, + initialized: '_is' + capitalizedName + 'Initialized', + apply: 'apply' + capitalizedName, + update: 'update' + capitalizedName, + 'set': 'set' + capitalizedName, + 'get': 'get' + capitalizedName, + doSet : 'doSet' + capitalizedName, + changeEvent: name.toLowerCase() + 'change' + }; + } + + return map; + } + }); + + + ExtClass.registerPreprocessor('extend', function(Class, data) { + var Base = Ext.Base, + basePrototype = Base.prototype, + extend = data.extend, + Parent, parentPrototype, i; + + delete data.extend; + + if (extend && extend !== Object) { + Parent = extend; + } + else { + Parent = Base; + } + + parentPrototype = Parent.prototype; + + if (!Parent.$isClass) { + for (i in basePrototype) { + if (!parentPrototype[i]) { + parentPrototype[i] = basePrototype[i]; + } + } + } + + Class.extend(Parent); + + Class.triggerExtended.apply(Class, arguments); + + if (data.onClassExtended) { + Class.onExtended(data.onClassExtended, Class); + delete data.onClassExtended; + } + + }, true); + + + ExtClass.registerPreprocessor('statics', function(Class, data) { + Class.addStatics(data.statics); + + delete data.statics; + }); + + + ExtClass.registerPreprocessor('inheritableStatics', function(Class, data) { + Class.addInheritableStatics(data.inheritableStatics); + + delete data.inheritableStatics; + }); + + + ExtClass.registerPreprocessor('config', function(Class, data) { + var config = data.config, + prototype = Class.prototype; + + delete data.config; + + Ext.Object.each(config, function(name, value) { + var nameMap = ExtClass.getConfigNameMap(name), + internalName = nameMap.internal, + initializedName = nameMap.initialized, + applyName = nameMap.apply, + updateName = nameMap.update, + setName = nameMap.set, + getName = nameMap.get, + hasOwnSetter = (setName in prototype) || data.hasOwnProperty(setName), + hasOwnApplier = (applyName in prototype) || data.hasOwnProperty(applyName), + hasOwnUpdater = (updateName in prototype) || data.hasOwnProperty(updateName), + optimizedGetter, customGetter; + + if (value === null || (!hasOwnSetter && !hasOwnApplier && !hasOwnUpdater)) { + prototype[internalName] = value; + prototype[initializedName] = true; + } + else { + prototype[initializedName] = false; + } + + if (!hasOwnSetter) { + data[setName] = function(value) { + var oldValue = this[internalName], + applier = this[applyName], + updater = this[updateName]; + + if (!this[initializedName]) { + this[initializedName] = true; + } + + if (applier) { + value = applier.call(this, value, oldValue); + } + + if (typeof value != 'undefined') { + this[internalName] = value; + + if (updater && value !== oldValue) { + updater.call(this, value, oldValue); + } + } + + return this; + }; + } + + if (!(getName in prototype) || data.hasOwnProperty(getName)) { + customGetter = data[getName] || false; + + if (customGetter) { + optimizedGetter = function() { + return customGetter.apply(this, arguments); + }; + } + else { + optimizedGetter = function() { + return this[internalName]; + }; + } + + data[getName] = function() { + var currentGetter; + + if (!this[initializedName]) { + this[initializedName] = true; + this[setName](this.config[name]); + } + + currentGetter = this[getName]; + + if ('$previous' in currentGetter) { + currentGetter.$previous = optimizedGetter; + } + else { + this[getName] = optimizedGetter; + } + + return optimizedGetter.apply(this, arguments); + }; + } + }); + + Class.addConfig(config, true); + }); + + + ExtClass.registerPreprocessor('mixins', function(Class, data, hooks) { + var mixins = data.mixins, + name, mixin, i, ln; + + delete data.mixins; + + Ext.Function.interceptBefore(hooks, 'onCreated', function() { + if (mixins instanceof Array) { + for (i = 0,ln = mixins.length; i < ln; i++) { + mixin = mixins[i]; + name = mixin.prototype.mixinId || mixin.$className; + + Class.mixin(name, mixin); + } + } + else { + for (var mixinName in mixins) { + if (mixins.hasOwnProperty(mixinName)) { + Class.mixin(mixinName, mixins[mixinName]); + } + } + } + }); + }); + + + Ext.extend = function(Class, Parent, members) { + if (arguments.length === 2 && Ext.isObject(Parent)) { + members = Parent; + Parent = Class; + Class = null; + } + + var cls; + + if (!Parent) { + throw new Error("[Ext.extend] Attempting to extend from a class which has not been loaded on the page."); + } + + members.extend = Parent; + members.preprocessors = [ + 'extend' + ,'statics' + ,'inheritableStatics' + ,'mixins' + ,'config' + ]; + + if (Class) { + cls = new ExtClass(Class, members); + + cls.prototype.constructor = Class; + } else { + cls = new ExtClass(members); + } + + cls.prototype.override = function(o) { + for (var m in o) { + if (o.hasOwnProperty(m)) { + this[m] = o[m]; + } + } + }; + + return cls; + }; + +}()); + +//@tag foundation,core + +//@require Class.js + + + +(function(Class, alias, arraySlice, arrayFrom, global) { + + + function makeCtor () { + function constructor () { + + + return this.constructor.apply(this, arguments) || null; + } + return constructor; + } + + var Manager = Ext.ClassManager = { + + + classes: {}, + + + existCache: {}, + + + namespaceRewrites: [{ + from: 'Ext.', + to: Ext + }], + + + maps: { + alternateToName: {}, + aliasToName: {}, + nameToAliases: {}, + nameToAlternates: {} + }, + + + enableNamespaceParseCache: true, + + + namespaceParseCache: {}, + + + instantiators: [], + + + isCreated: function(className) { + var existCache = this.existCache, + i, ln, part, root, parts; + + + if (this.classes[className] || existCache[className]) { + return true; + } + + root = global; + parts = this.parseNamespace(className); + + for (i = 0, ln = parts.length; i < ln; i++) { + part = parts[i]; + + if (typeof part != 'string') { + root = part; + } else { + if (!root || !root[part]) { + return false; + } + + root = root[part]; + } + } + + existCache[className] = true; + + this.triggerCreated(className); + + return true; + }, + + + createdListeners: [], + + + nameCreatedListeners: {}, + + + triggerCreated: function(className) { + var listeners = this.createdListeners, + nameListeners = this.nameCreatedListeners, + alternateNames = this.maps.nameToAlternates[className], + names = [className], + i, ln, j, subLn, listener, name; + + for (i = 0,ln = listeners.length; i < ln; i++) { + listener = listeners[i]; + listener.fn.call(listener.scope, className); + } + + if (alternateNames) { + names.push.apply(names, alternateNames); + } + + for (i = 0,ln = names.length; i < ln; i++) { + name = names[i]; + listeners = nameListeners[name]; + + if (listeners) { + for (j = 0,subLn = listeners.length; j < subLn; j++) { + listener = listeners[j]; + listener.fn.call(listener.scope, name); + } + delete nameListeners[name]; + } + } + }, + + + onCreated: function(fn, scope, className) { + var listeners = this.createdListeners, + nameListeners = this.nameCreatedListeners, + listener = { + fn: fn, + scope: scope + }; + + if (className) { + if (this.isCreated(className)) { + fn.call(scope, className); + return; + } + + if (!nameListeners[className]) { + nameListeners[className] = []; + } + + nameListeners[className].push(listener); + } + else { + listeners.push(listener); + } + }, + + + parseNamespace: function(namespace) { + + var cache = this.namespaceParseCache, + parts, + rewrites, + root, + name, + rewrite, from, to, i, ln; + + if (this.enableNamespaceParseCache) { + if (cache.hasOwnProperty(namespace)) { + return cache[namespace]; + } + } + + parts = []; + rewrites = this.namespaceRewrites; + root = global; + name = namespace; + + for (i = 0, ln = rewrites.length; i < ln; i++) { + rewrite = rewrites[i]; + from = rewrite.from; + to = rewrite.to; + + if (name === from || name.substring(0, from.length) === from) { + name = name.substring(from.length); + + if (typeof to != 'string') { + root = to; + } else { + parts = parts.concat(to.split('.')); + } + + break; + } + } + + parts.push(root); + + parts = parts.concat(name.split('.')); + + if (this.enableNamespaceParseCache) { + cache[namespace] = parts; + } + + return parts; + }, + + + setNamespace: function(name, value) { + var root = global, + parts = this.parseNamespace(name), + ln = parts.length - 1, + leaf = parts[ln], + i, part; + + for (i = 0; i < ln; i++) { + part = parts[i]; + + if (typeof part != 'string') { + root = part; + } else { + if (!root[part]) { + root[part] = {}; + } + + root = root[part]; + } + } + + root[leaf] = value; + + return root[leaf]; + }, + + + createNamespaces: function() { + var root = global, + parts, part, i, j, ln, subLn; + + for (i = 0, ln = arguments.length; i < ln; i++) { + parts = this.parseNamespace(arguments[i]); + + for (j = 0, subLn = parts.length; j < subLn; j++) { + part = parts[j]; + + if (typeof part != 'string') { + root = part; + } else { + if (!root[part]) { + root[part] = {}; + } + + root = root[part]; + } + } + } + + return root; + }, + + + set: function(name, value) { + var me = this, + maps = me.maps, + nameToAlternates = maps.nameToAlternates, + targetName = me.getName(value), + alternates; + + me.classes[name] = me.setNamespace(name, value); + + if (targetName && targetName !== name) { + maps.alternateToName[name] = targetName; + alternates = nameToAlternates[targetName] || (nameToAlternates[targetName] = []); + alternates.push(name); + } + + return this; + }, + + + get: function(name) { + var classes = this.classes, + root, + parts, + part, i, ln; + + if (classes[name]) { + return classes[name]; + } + + root = global; + parts = this.parseNamespace(name); + + for (i = 0, ln = parts.length; i < ln; i++) { + part = parts[i]; + + if (typeof part != 'string') { + root = part; + } else { + if (!root || !root[part]) { + return null; + } + + root = root[part]; + } + } + + return root; + }, + + + setAlias: function(cls, alias) { + var aliasToNameMap = this.maps.aliasToName, + nameToAliasesMap = this.maps.nameToAliases, + className; + + if (typeof cls == 'string') { + className = cls; + } else { + className = this.getName(cls); + } + + if (alias && aliasToNameMap[alias] !== className) { + + aliasToNameMap[alias] = className; + } + + if (!nameToAliasesMap[className]) { + nameToAliasesMap[className] = []; + } + + if (alias) { + Ext.Array.include(nameToAliasesMap[className], alias); + } + + return this; + }, + + + addNameAliasMappings: function(aliases){ + var aliasToNameMap = this.maps.aliasToName, + nameToAliasesMap = this.maps.nameToAliases, + className, aliasList, alias, i; + + for (className in aliases) { + aliasList = nameToAliasesMap[className] || + (nameToAliasesMap[className] = []); + + for (i = 0; i < aliases[className].length; i++) { + alias = aliases[className][i]; + if (!aliasToNameMap[alias]) { + aliasToNameMap[alias] = className; + aliasList.push(alias); + } + } + + } + return this; + }, + + + addNameAlternateMappings: function(alternates) { + var alternateToName = this.maps.alternateToName, + nameToAlternates = this.maps.nameToAlternates, + className, aliasList, alternate, i; + + for (className in alternates) { + aliasList = nameToAlternates[className] || + (nameToAlternates[className] = []); + + for (i = 0; i < alternates[className].length; i++) { + alternate = alternates[className]; + if (!alternateToName[alternate]) { + alternateToName[alternate] = className; + aliasList.push(alternate); + } + } + + } + return this; + }, + + + getByAlias: function(alias) { + return this.get(this.getNameByAlias(alias)); + }, + + + getNameByAlias: function(alias) { + return this.maps.aliasToName[alias] || ''; + }, + + + getNameByAlternate: function(alternate) { + return this.maps.alternateToName[alternate] || ''; + }, + + + getAliasesByName: function(name) { + return this.maps.nameToAliases[name] || []; + }, + + + getName: function(object) { + return object && object.$className || ''; + }, + + + getClass: function(object) { + return object && object.self || null; + }, + + + create: function(className, data, createdFn) { + + var ctor = makeCtor(); + if (typeof data == 'function') { + data = data(ctor); + } + + + data.$className = className; + + return new Class(ctor, data, function() { + var postprocessorStack = data.postprocessors || Manager.defaultPostprocessors, + registeredPostprocessors = Manager.postprocessors, + postprocessors = [], + postprocessor, i, ln, j, subLn, postprocessorProperties, postprocessorProperty; + + delete data.postprocessors; + + for (i = 0,ln = postprocessorStack.length; i < ln; i++) { + postprocessor = postprocessorStack[i]; + + if (typeof postprocessor == 'string') { + postprocessor = registeredPostprocessors[postprocessor]; + postprocessorProperties = postprocessor.properties; + + if (postprocessorProperties === true) { + postprocessors.push(postprocessor.fn); + } + else if (postprocessorProperties) { + for (j = 0,subLn = postprocessorProperties.length; j < subLn; j++) { + postprocessorProperty = postprocessorProperties[j]; + + if (data.hasOwnProperty(postprocessorProperty)) { + postprocessors.push(postprocessor.fn); + break; + } + } + } + } + else { + postprocessors.push(postprocessor); + } + } + + data.postprocessors = postprocessors; + data.createdFn = createdFn; + Manager.processCreate(className, this, data); + }); + }, + + processCreate: function(className, cls, clsData){ + var me = this, + postprocessor = clsData.postprocessors.shift(), + createdFn = clsData.createdFn; + + if (!postprocessor) { + if (className) { + me.set(className, cls); + } + + if (createdFn) { + createdFn.call(cls, cls); + } + + if (className) { + me.triggerCreated(className); + } + return; + } + + if (postprocessor.call(me, className, cls, clsData, me.processCreate) !== false) { + me.processCreate(className, cls, clsData); + } + }, + + createOverride: function (className, data, createdFn) { + var me = this, + overriddenClassName = data.override, + requires = data.requires, + uses = data.uses, + classReady = function () { + var cls, temp; + + if (requires) { + temp = requires; + requires = null; + + + + + Ext.Loader.require(temp, classReady); + } else { + + + cls = me.get(overriddenClassName); + + + delete data.override; + delete data.requires; + delete data.uses; + + Ext.override(cls, data); + + + + + me.triggerCreated(className); + + if (uses) { + Ext.Loader.addUsedClasses(uses); + } + + if (createdFn) { + createdFn.call(cls); + } + } + }; + + me.existCache[className] = true; + + + me.onCreated(classReady, me, overriddenClassName); + + return me; + }, + + + instantiateByAlias: function() { + var alias = arguments[0], + args = arraySlice.call(arguments), + className = this.getNameByAlias(alias); + + if (!className) { + className = this.maps.aliasToName[alias]; + + + + Ext.syncRequire(className); + } + + args[0] = className; + + return this.instantiate.apply(this, args); + }, + + + instantiate: function() { + var name = arguments[0], + nameType = typeof name, + args = arraySlice.call(arguments, 1), + alias = name, + possibleName, cls; + + if (nameType != 'function') { + if (nameType != 'string' && args.length === 0) { + args = [name]; + name = name.xclass; + } + + + cls = this.get(name); + } + else { + cls = name; + } + + + if (!cls) { + possibleName = this.getNameByAlias(name); + + if (possibleName) { + name = possibleName; + + cls = this.get(name); + } + } + + + if (!cls) { + possibleName = this.getNameByAlternate(name); + + if (possibleName) { + name = possibleName; + + cls = this.get(name); + } + } + + + if (!cls) { + + Ext.syncRequire(name); + + cls = this.get(name); + } + + + return this.getInstantiator(args.length)(cls, args); + }, + + + dynInstantiate: function(name, args) { + args = arrayFrom(args, true); + args.unshift(name); + + return this.instantiate.apply(this, args); + }, + + + getInstantiator: function(length) { + var instantiators = this.instantiators, + instantiator, + i, + args; + + instantiator = instantiators[length]; + + if (!instantiator) { + i = length; + args = []; + + for (i = 0; i < length; i++) { + args.push('a[' + i + ']'); + } + + instantiator = instantiators[length] = new Function('c', 'a', 'return new c(' + args.join(',') + ')'); + } + + return instantiator; + }, + + + postprocessors: {}, + + + defaultPostprocessors: [], + + + registerPostprocessor: function(name, fn, properties, position, relativeTo) { + if (!position) { + position = 'last'; + } + + if (!properties) { + properties = [name]; + } + + this.postprocessors[name] = { + name: name, + properties: properties || false, + fn: fn + }; + + this.setDefaultPostprocessorPosition(name, position, relativeTo); + + return this; + }, + + + setDefaultPostprocessors: function(postprocessors) { + this.defaultPostprocessors = arrayFrom(postprocessors); + + return this; + }, + + + setDefaultPostprocessorPosition: function(name, offset, relativeName) { + var defaultPostprocessors = this.defaultPostprocessors, + index; + + if (typeof offset == 'string') { + if (offset === 'first') { + defaultPostprocessors.unshift(name); + + return this; + } + else if (offset === 'last') { + defaultPostprocessors.push(name); + + return this; + } + + offset = (offset === 'after') ? 1 : -1; + } + + index = Ext.Array.indexOf(defaultPostprocessors, relativeName); + + if (index !== -1) { + Ext.Array.splice(defaultPostprocessors, Math.max(0, index + offset), 0, name); + } + + return this; + }, + + + getNamesByExpression: function(expression) { + var nameToAliasesMap = this.maps.nameToAliases, + names = [], + name, alias, aliases, possibleName, regex, i, ln; + + + if (expression.indexOf('*') !== -1) { + expression = expression.replace(/\*/g, '(.*?)'); + regex = new RegExp('^' + expression + '$'); + + for (name in nameToAliasesMap) { + if (nameToAliasesMap.hasOwnProperty(name)) { + aliases = nameToAliasesMap[name]; + + if (name.search(regex) !== -1) { + names.push(name); + } + else { + for (i = 0, ln = aliases.length; i < ln; i++) { + alias = aliases[i]; + + if (alias.search(regex) !== -1) { + names.push(name); + break; + } + } + } + } + } + + } else { + possibleName = this.getNameByAlias(expression); + + if (possibleName) { + names.push(possibleName); + } else { + possibleName = this.getNameByAlternate(expression); + + if (possibleName) { + names.push(possibleName); + } else { + names.push(expression); + } + } + } + + return names; + } + }; + + + Manager.registerPostprocessor('alias', function(name, cls, data) { + var aliases = data.alias, + i, ln; + + for (i = 0,ln = aliases.length; i < ln; i++) { + alias = aliases[i]; + + this.setAlias(cls, alias); + } + + }, ['xtype', 'alias']); + + + Manager.registerPostprocessor('singleton', function(name, cls, data, fn) { + fn.call(this, name, new cls(), data); + return false; + }); + + + Manager.registerPostprocessor('alternateClassName', function(name, cls, data) { + var alternates = data.alternateClassName, + i, ln, alternate; + + if (!(alternates instanceof Array)) { + alternates = [alternates]; + } + + for (i = 0, ln = alternates.length; i < ln; i++) { + alternate = alternates[i]; + + + this.set(alternate, cls); + } + }); + + Ext.apply(Ext, { + + create: alias(Manager, 'instantiate'), + + + widget: function(name, config) { + + + + + + + + var xtype = name, + alias, className, T, load; + + if (typeof xtype != 'string') { + + config = name; + xtype = config.xtype; + } else { + config = config || {}; + } + + if (config.isComponent) { + return config; + } + + alias = 'widget.' + xtype; + className = Manager.getNameByAlias(alias); + + + if (!className) { + load = true; + } + + T = Manager.get(className); + if (load || !T) { + return Manager.instantiateByAlias(alias, config); + } + return new T(config); + }, + + + createByAlias: alias(Manager, 'instantiateByAlias'), + + + define: function (className, data, createdFn) { + if (data.override) { + return Manager.createOverride.apply(Manager, arguments); + } + + return Manager.create.apply(Manager, arguments); + }, + + + getClassName: alias(Manager, 'getName'), + + + getDisplayName: function(object) { + if (object) { + if (object.displayName) { + return object.displayName; + } + + if (object.$name && object.$class) { + return Ext.getClassName(object.$class) + '#' + object.$name; + } + + if (object.$className) { + return object.$className; + } + } + + return 'Anonymous'; + }, + + + getClass: alias(Manager, 'getClass'), + + + namespace: alias(Manager, 'createNamespaces') + }); + + + Ext.createWidget = Ext.widget; + + + Ext.ns = Ext.namespace; + + Class.registerPreprocessor('className', function(cls, data) { + if (data.$className) { + cls.$className = data.$className; + } + }, true, 'first'); + + Class.registerPreprocessor('alias', function(cls, data) { + var prototype = cls.prototype, + xtypes = arrayFrom(data.xtype), + aliases = arrayFrom(data.alias), + widgetPrefix = 'widget.', + widgetPrefixLength = widgetPrefix.length, + xtypesChain = Array.prototype.slice.call(prototype.xtypesChain || []), + xtypesMap = Ext.merge({}, prototype.xtypesMap || {}), + i, ln, alias, xtype; + + for (i = 0,ln = aliases.length; i < ln; i++) { + alias = aliases[i]; + + + if (alias.substring(0, widgetPrefixLength) === widgetPrefix) { + xtype = alias.substring(widgetPrefixLength); + Ext.Array.include(xtypes, xtype); + } + } + + cls.xtype = data.xtype = xtypes[0]; + data.xtypes = xtypes; + + for (i = 0,ln = xtypes.length; i < ln; i++) { + xtype = xtypes[i]; + + if (!xtypesMap[xtype]) { + xtypesMap[xtype] = true; + xtypesChain.push(xtype); + } + } + + data.xtypesChain = xtypesChain; + data.xtypesMap = xtypesMap; + + Ext.Function.interceptAfter(data, 'onClassCreated', function() { + var mixins = prototype.mixins, + key, mixin; + + for (key in mixins) { + if (mixins.hasOwnProperty(key)) { + mixin = mixins[key]; + + xtypes = mixin.xtypes; + + if (xtypes) { + for (i = 0,ln = xtypes.length; i < ln; i++) { + xtype = xtypes[i]; + + if (!xtypesMap[xtype]) { + xtypesMap[xtype] = true; + xtypesChain.push(xtype); + } + } + } + } + } + }); + + for (i = 0,ln = xtypes.length; i < ln; i++) { + xtype = xtypes[i]; + + + Ext.Array.include(aliases, widgetPrefix + xtype); + } + + data.alias = aliases; + + }, ['xtype', 'alias']); + +}(Ext.Class, Ext.Function.alias, Array.prototype.slice, Ext.Array.from, Ext.global)); + +//@tag foundation,core + +//@require ClassManager.js + +//@define Ext.Loader + + + + +Ext.Loader = new function() { + var Loader = this, + Manager = Ext.ClassManager, + Class = Ext.Class, + flexSetter = Ext.Function.flexSetter, + alias = Ext.Function.alias, + pass = Ext.Function.pass, + defer = Ext.Function.defer, + arrayErase = Ext.Array.erase, + dependencyProperties = ['extend', 'mixins', 'requires'], + isInHistory = {}, + history = [], + slashDotSlashRe = /\/\.\//g, + dotRe = /\./g; + + Ext.apply(Loader, { + + + isInHistory: isInHistory, + + + history: history, + + + config: { + + enabled: false, + + + scriptChainDelay : false, + + + disableCaching: true, + + + disableCachingParam: '_dc', + + + garbageCollect : false, + + + paths: { + 'Ext': '.' + }, + + + preserveScripts : true, + + + scriptCharset : undefined + }, + + + setConfig: function(name, value) { + if (Ext.isObject(name) && arguments.length === 1) { + Ext.merge(Loader.config, name); + } + else { + Loader.config[name] = (Ext.isObject(value)) ? Ext.merge(Loader.config[name], value) : value; + } + + return Loader; + }, + + + getConfig: function(name) { + if (name) { + return Loader.config[name]; + } + + return Loader.config; + }, + + + setPath: flexSetter(function(name, path) { + Loader.config.paths[name] = path; + + return Loader; + }), + + + addClassPathMappings: function(paths) { + var name; + + for(name in paths){ + Loader.config.paths[name] = paths[name]; + } + return Loader; + }, + + + getPath: function(className) { + var path = '', + paths = Loader.config.paths, + prefix = Loader.getPrefix(className); + + if (prefix.length > 0) { + if (prefix === className) { + return paths[prefix]; + } + + path = paths[prefix]; + className = className.substring(prefix.length + 1); + } + + if (path.length > 0) { + path += '/'; + } + + return path.replace(slashDotSlashRe, '/') + className.replace(dotRe, "/") + '.js'; + }, + + + getPrefix: function(className) { + var paths = Loader.config.paths, + prefix, deepestPrefix = ''; + + if (paths.hasOwnProperty(className)) { + return className; + } + + for (prefix in paths) { + if (paths.hasOwnProperty(prefix) && prefix + '.' === className.substring(0, prefix.length + 1)) { + if (prefix.length > deepestPrefix.length) { + deepestPrefix = prefix; + } + } + } + + return deepestPrefix; + }, + + + isAClassNameWithAKnownPrefix: function(className) { + var prefix = Loader.getPrefix(className); + + + return prefix !== '' && prefix !== className; + }, + + + require: function(expressions, fn, scope, excludes) { + if (fn) { + fn.call(scope); + } + }, + + + syncRequire: function() {}, + + + exclude: function(excludes) { + return { + require: function(expressions, fn, scope) { + return Loader.require(expressions, fn, scope, excludes); + }, + + syncRequire: function(expressions, fn, scope) { + return Loader.syncRequire(expressions, fn, scope, excludes); + } + }; + }, + + + onReady: function(fn, scope, withDomReady, options) { + var oldFn; + + if (withDomReady !== false && Ext.onDocumentReady) { + oldFn = fn; + + fn = function() { + Ext.onDocumentReady(oldFn, scope, options); + }; + } + + fn.call(scope); + } + }); + + var queue = [], + isClassFileLoaded = {}, + isFileLoaded = {}, + classNameToFilePathMap = {}, + scriptElements = {}, + readyListeners = [], + usedClasses = [], + requiresMap = {}; + + Ext.apply(Loader, { + + documentHead: typeof document != 'undefined' && (document.head || document.getElementsByTagName('head')[0]), + + + isLoading: false, + + + queue: queue, + + + isClassFileLoaded: isClassFileLoaded, + + + isFileLoaded: isFileLoaded, + + + readyListeners: readyListeners, + + + optionalRequires: usedClasses, + + + requiresMap: requiresMap, + + + numPendingFiles: 0, + + + numLoadedFiles: 0, + + + hasFileLoadError: false, + + + classNameToFilePathMap: classNameToFilePathMap, + + + scriptsLoading: 0, + + + syncModeEnabled: false, + + scriptElements: scriptElements, + + + refreshQueue: function() { + var ln = queue.length, + i, item, j, requires; + + + + if (!ln && !Loader.scriptsLoading) { + return Loader.triggerReady(); + } + + for (i = 0; i < ln; i++) { + item = queue[i]; + + if (item) { + requires = item.requires; + + + + if (requires.length > Loader.numLoadedFiles) { + continue; + } + + + for (j = 0; j < requires.length; ) { + if (Manager.isCreated(requires[j])) { + + arrayErase(requires, j, 1); + } + else { + j++; + } + } + + + if (item.requires.length === 0) { + arrayErase(queue, i, 1); + item.callback.call(item.scope); + Loader.refreshQueue(); + break; + } + } + } + + return Loader; + }, + + + injectScriptElement: function(url, onLoad, onError, scope, charset) { + var script = document.createElement('script'), + dispatched = false, + config = Loader.config, + onLoadFn = function() { + + if(!dispatched) { + dispatched = true; + script.onload = script.onreadystatechange = script.onerror = null; + if (typeof config.scriptChainDelay == 'number') { + + defer(onLoad, config.scriptChainDelay, scope); + } else { + onLoad.call(scope); + } + Loader.cleanupScriptElement(script, config.preserveScripts === false, config.garbageCollect); + } + + }, + onErrorFn = function(arg) { + defer(onError, 1, scope); + Loader.cleanupScriptElement(script, config.preserveScripts === false, config.garbageCollect); + }; + + script.type = 'text/javascript'; + script.onerror = onErrorFn; + charset = charset || config.scriptCharset; + if (charset) { + script.charset = charset; + } + + + if ('addEventListener' in script ) { + script.onload = onLoadFn; + } else if ('readyState' in script) { + script.onreadystatechange = function() { + if ( this.readyState == 'loaded' || this.readyState == 'complete' ) { + onLoadFn(); + } + }; + } else { + script.onload = onLoadFn; + } + + script.src = url; + (Loader.documentHead || document.getElementsByTagName('head')[0]).appendChild(script); + + return script; + }, + + + removeScriptElement: function(url) { + if (scriptElements[url]) { + Loader.cleanupScriptElement(scriptElements[url], true, !!Loader.getConfig('garbageCollect')); + delete scriptElements[url]; + } + + return Loader; + }, + + + cleanupScriptElement: function(script, remove, collect) { + var prop; + script.onload = script.onreadystatechange = script.onerror = null; + if (remove) { + Ext.removeNode(script); + if (collect) { + for (prop in script) { + try { + script[prop] = null; + delete script[prop]; + } catch (cleanEx) { + + } + } + } + } + + return Loader; + }, + + + loadScript: function (options) { + var config = Loader.getConfig(), + isString = typeof options == 'string', + url = isString ? options : options.url, + onError = !isString && options.onError, + onLoad = !isString && options.onLoad, + scope = !isString && options.scope, + onScriptError = function() { + Loader.numPendingFiles--; + Loader.scriptsLoading--; + + if (onError) { + onError.call(scope, "Failed loading '" + url + "', please verify that the file exists"); + } + + if (Loader.numPendingFiles + Loader.scriptsLoading === 0) { + Loader.refreshQueue(); + } + }, + onScriptLoad = function () { + Loader.numPendingFiles--; + Loader.scriptsLoading--; + + if (onLoad) { + onLoad.call(scope); + } + + if (Loader.numPendingFiles + Loader.scriptsLoading === 0) { + Loader.refreshQueue(); + } + }, + src; + + Loader.isLoading = true; + Loader.numPendingFiles++; + Loader.scriptsLoading++; + + src = config.disableCaching ? + (url + '?' + config.disableCachingParam + '=' + Ext.Date.now()) : url; + + scriptElements[url] = Loader.injectScriptElement(src, onScriptLoad, onScriptError); + }, + + + loadScriptFile: function(url, onLoad, onError, scope, synchronous) { + if (isFileLoaded[url]) { + return Loader; + } + + var config = Loader.getConfig(), + noCacheUrl = url + (config.disableCaching ? ('?' + config.disableCachingParam + '=' + Ext.Date.now()) : ''), + isCrossOriginRestricted = false, + xhr, status, onScriptError, + debugSourceURL = ""; + + scope = scope || Loader; + + Loader.isLoading = true; + + if (!synchronous) { + onScriptError = function() { + }; + + scriptElements[url] = Loader.injectScriptElement(noCacheUrl, onLoad, onScriptError, scope); + } else { + if (typeof XMLHttpRequest != 'undefined') { + xhr = new XMLHttpRequest(); + } else { + xhr = new ActiveXObject('Microsoft.XMLHTTP'); + } + + try { + xhr.open('GET', noCacheUrl, false); + xhr.send(null); + } catch (e) { + isCrossOriginRestricted = true; + } + + status = (xhr.status === 1223) ? 204 : + (xhr.status === 0 && (self.location || {}).protocol == 'file:') ? 200 : xhr.status; + + isCrossOriginRestricted = isCrossOriginRestricted || (status === 0); + + if (isCrossOriginRestricted + ) { + } + else if ((status >= 200 && status < 300) || (status === 304) + ) { + + + if (!Ext.isIE) { + debugSourceURL = "\n//@ sourceURL=" + url; + } + + Ext.globalEval(xhr.responseText + debugSourceURL); + + onLoad.call(scope); + } + else { + } + + + xhr = null; + } + }, + + + syncRequire: function() { + var syncModeEnabled = Loader.syncModeEnabled; + + if (!syncModeEnabled) { + Loader.syncModeEnabled = true; + } + + Loader.require.apply(Loader, arguments); + + if (!syncModeEnabled) { + Loader.syncModeEnabled = false; + } + + Loader.refreshQueue(); + }, + + + require: function(expressions, fn, scope, excludes) { + var excluded = {}, + included = {}, + excludedClassNames = [], + possibleClassNames = [], + classNames = [], + references = [], + callback, + syncModeEnabled, + filePath, expression, exclude, className, + possibleClassName, i, j, ln, subLn; + + if (excludes) { + + excludes = (typeof excludes === 'string') ? [ excludes ] : excludes; + + for (i = 0,ln = excludes.length; i < ln; i++) { + exclude = excludes[i]; + + if (typeof exclude == 'string' && exclude.length > 0) { + excludedClassNames = Manager.getNamesByExpression(exclude); + + for (j = 0,subLn = excludedClassNames.length; j < subLn; j++) { + excluded[excludedClassNames[j]] = true; + } + } + } + } + + + expressions = (typeof expressions === 'string') ? [ expressions ] : (expressions ? expressions : []); + + if (fn) { + if (fn.length > 0) { + callback = function() { + var classes = [], + i, ln; + + for (i = 0,ln = references.length; i < ln; i++) { + classes.push(Manager.get(references[i])); + } + + return fn.apply(this, classes); + }; + } + else { + callback = fn; + } + } + else { + callback = Ext.emptyFn; + } + + scope = scope || Ext.global; + + for (i = 0,ln = expressions.length; i < ln; i++) { + expression = expressions[i]; + + if (typeof expression == 'string' && expression.length > 0) { + possibleClassNames = Manager.getNamesByExpression(expression); + subLn = possibleClassNames.length; + + for (j = 0; j < subLn; j++) { + possibleClassName = possibleClassNames[j]; + + if (excluded[possibleClassName] !== true) { + references.push(possibleClassName); + + if (!Manager.isCreated(possibleClassName) && !included[possibleClassName]) { + included[possibleClassName] = true; + classNames.push(possibleClassName); + } + } + } + } + } + + + + if (classNames.length > 0) { + if (!Loader.config.enabled) { + throw new Error("Ext.Loader is not enabled, so dependencies cannot be resolved dynamically. " + + "Missing required class" + ((classNames.length > 1) ? "es" : "") + ": " + classNames.join(', ')); + } + } + else { + callback.call(scope); + return Loader; + } + + syncModeEnabled = Loader.syncModeEnabled; + + if (!syncModeEnabled) { + queue.push({ + requires: classNames.slice(), + + callback: callback, + scope: scope + }); + } + + ln = classNames.length; + + for (i = 0; i < ln; i++) { + className = classNames[i]; + + filePath = Loader.getPath(className); + + + + + if (syncModeEnabled && isClassFileLoaded.hasOwnProperty(className)) { + Loader.numPendingFiles--; + Loader.removeScriptElement(filePath); + delete isClassFileLoaded[className]; + } + + if (!isClassFileLoaded.hasOwnProperty(className)) { + isClassFileLoaded[className] = false; + + classNameToFilePathMap[className] = filePath; + + Loader.numPendingFiles++; + Loader.loadScriptFile( + filePath, + pass(Loader.onFileLoaded, [className, filePath], Loader), + pass(Loader.onFileLoadError, [className, filePath], Loader), + Loader, + syncModeEnabled + ); + } + } + + if (syncModeEnabled) { + callback.call(scope); + + if (ln === 1) { + return Manager.get(className); + } + } + + return Loader; + }, + + + onFileLoaded: function(className, filePath) { + Loader.numLoadedFiles++; + + isClassFileLoaded[className] = true; + isFileLoaded[filePath] = true; + + Loader.numPendingFiles--; + + if (Loader.numPendingFiles === 0) { + Loader.refreshQueue(); + } + + }, + + + onFileLoadError: function(className, filePath, errorMessage, isSynchronous) { + Loader.numPendingFiles--; + Loader.hasFileLoadError = true; + + }, + + + addUsedClasses: function (classes) { + var cls, i, ln; + + if (classes) { + classes = (typeof classes == 'string') ? [classes] : classes; + for (i = 0, ln = classes.length; i < ln; i++) { + cls = classes[i]; + if (typeof cls == 'string' && !Ext.Array.contains(usedClasses, cls)) { + usedClasses.push(cls); + } + } + } + + return Loader; + }, + + + triggerReady: function() { + var listener, + i, refClasses = usedClasses; + + if (Loader.isLoading) { + Loader.isLoading = false; + + if (refClasses.length !== 0) { + + refClasses = refClasses.slice(); + usedClasses.length = 0; + + + Loader.require(refClasses, Loader.triggerReady, Loader); + return Loader; + } + } + + + + + while (readyListeners.length && !Loader.isLoading) { + + + listener = readyListeners.shift(); + listener.fn.call(listener.scope); + } + + return Loader; + }, + + + onReady: function(fn, scope, withDomReady, options) { + var oldFn; + + if (withDomReady !== false && Ext.onDocumentReady) { + oldFn = fn; + + fn = function() { + Ext.onDocumentReady(oldFn, scope, options); + }; + } + + if (!Loader.isLoading) { + fn.call(scope); + } + else { + readyListeners.push({ + fn: fn, + scope: scope + }); + } + }, + + + historyPush: function(className) { + if (className && isClassFileLoaded.hasOwnProperty(className) && !isInHistory[className]) { + isInHistory[className] = true; + history.push(className); + } + return Loader; + } + }); + + + Ext.disableCacheBuster = function (disable, path) { + var date = new Date(); + date.setTime(date.getTime() + (disable ? 10*365 : -1) * 24*60*60*1000); + date = date.toGMTString(); + document.cookie = 'ext-cache=1; expires=' + date + '; path='+(path || '/'); + }; + + + + Ext.require = alias(Loader, 'require'); + + + Ext.syncRequire = alias(Loader, 'syncRequire'); + + + Ext.exclude = alias(Loader, 'exclude'); + + + Ext.onReady = function(fn, scope, options) { + Loader.onReady(fn, scope, true, options); + }; + + + Class.registerPreprocessor('loader', function(cls, data, hooks, continueFn) { + var me = this, + dependencies = [], + dependency, + className = Manager.getName(cls), + i, j, ln, subLn, value, propertyName, propertyValue, + requiredMap, requiredDep; + + + + for (i = 0,ln = dependencyProperties.length; i < ln; i++) { + propertyName = dependencyProperties[i]; + + if (data.hasOwnProperty(propertyName)) { + propertyValue = data[propertyName]; + + if (typeof propertyValue == 'string') { + dependencies.push(propertyValue); + } + else if (propertyValue instanceof Array) { + for (j = 0, subLn = propertyValue.length; j < subLn; j++) { + value = propertyValue[j]; + + if (typeof value == 'string') { + dependencies.push(value); + } + } + } + else if (typeof propertyValue != 'function') { + for (j in propertyValue) { + if (propertyValue.hasOwnProperty(j)) { + value = propertyValue[j]; + + if (typeof value == 'string') { + dependencies.push(value); + } + } + } + } + } + } + + if (dependencies.length === 0) { + return; + } + + + Loader.require(dependencies, function() { + for (i = 0,ln = dependencyProperties.length; i < ln; i++) { + propertyName = dependencyProperties[i]; + + if (data.hasOwnProperty(propertyName)) { + propertyValue = data[propertyName]; + + if (typeof propertyValue == 'string') { + data[propertyName] = Manager.get(propertyValue); + } + else if (propertyValue instanceof Array) { + for (j = 0, subLn = propertyValue.length; j < subLn; j++) { + value = propertyValue[j]; + + if (typeof value == 'string') { + data[propertyName][j] = Manager.get(value); + } + } + } + else if (typeof propertyValue != 'function') { + for (var k in propertyValue) { + if (propertyValue.hasOwnProperty(k)) { + value = propertyValue[k]; + + if (typeof value == 'string') { + data[propertyName][k] = Manager.get(value); + } + } + } + } + } + } + + continueFn.call(me, cls, data, hooks); + }); + + return false; + }, true, 'after', 'className'); + + + Manager.registerPostprocessor('uses', function(name, cls, data) { + var uses = data.uses; + if (uses) { + Loader.addUsedClasses(uses); + } + }); + + Manager.onCreated(Loader.historyPush); +}; + + + +if (Ext._classPathMetadata) { + Ext.Loader.addClassPathMappings(Ext._classPathMetadata); + Ext._classPathMetadata = null; +} + + +(function() { + var scripts = document.getElementsByTagName('script'), + currentScript = scripts[scripts.length - 1], + src = currentScript.src, + path = src.substring(0, src.lastIndexOf('/') + 1), + Loader = Ext.Loader; + + + Loader.setConfig({ + enabled: true, + disableCaching: true, + paths: { + 'Ext': path + 'src' + } + }); +})(); + + + +Ext._endTime = new Date().getTime(); +if (Ext._beforereadyhandler){ + Ext._beforereadyhandler(); +} + +//@tag foundation,core + +//@require ../class/Loader.js + + + +Ext.Error = Ext.extend(Error, { + statics: { + + ignore: false, + + + + + + raise: function(err){ + err = err || {}; + if (Ext.isString(err)) { + err = { msg: err }; + } + + var method = this.raise.caller, + msg; + + if (method) { + if (method.$name) { + err.sourceMethod = method.$name; + } + if (method.$owner) { + err.sourceClass = method.$owner.$className; + } + } + + if (Ext.Error.handle(err) !== true) { + msg = Ext.Error.prototype.toString.call(err); + + Ext.log({ + msg: msg, + level: 'error', + dump: err, + stack: true + }); + + throw new Ext.Error(err); + } + }, + + + handle: function(){ + return Ext.Error.ignore; + } + }, + + + name: 'Ext.Error', + + + constructor: function(config){ + if (Ext.isString(config)) { + config = { msg: config }; + } + + var me = this; + + Ext.apply(me, config); + + me.message = me.message || me.msg; + + }, + + + toString: function(){ + var me = this, + className = me.sourceClass ? me.sourceClass : '', + methodName = me.sourceMethod ? '.' + me.sourceMethod + '(): ' : '', + msg = me.msg || '(No description provided)'; + + return className + methodName + msg; + } +}); + + +Ext.deprecated = function (suggestion) { + return Ext.emptyFn; +}; + + + +//@tag extras,core + +//@require ../lang/Error.js + + + +Ext.JSON = (new(function() { + var me = this, + encodingFunction, + decodingFunction, + useNative = null, + useHasOwn = !! {}.hasOwnProperty, + isNative = function() { + if (useNative === null) { + useNative = Ext.USE_NATIVE_JSON && window.JSON && JSON.toString() == '[object JSON]'; + } + return useNative; + }, + pad = function(n) { + return n < 10 ? "0" + n : n; + }, + doDecode = function(json) { + return eval("(" + json + ')'); + }, + doEncode = function(o, newline) { + + if (o === null || o === undefined) { + return "null"; + } else if (Ext.isDate(o)) { + return Ext.JSON.encodeDate(o); + } else if (Ext.isString(o)) { + return Ext.JSON.encodeString(o); + } else if (typeof o == "number") { + + return isFinite(o) ? String(o) : "null"; + } else if (Ext.isBoolean(o)) { + return String(o); + } + + + else if (o.toJSON) { + return o.toJSON(); + } else if (Ext.isArray(o)) { + return encodeArray(o, newline); + } else if (Ext.isObject(o)) { + return encodeObject(o, newline); + } else if (typeof o === "function") { + return "null"; + } + return 'undefined'; + }, + m = { + "\b": '\\b', + "\t": '\\t', + "\n": '\\n', + "\f": '\\f', + "\r": '\\r', + '"': '\\"', + "\\": '\\\\', + '\x0b': '\\u000b' + }, + charToReplace = /[\\\"\x00-\x1f\x7f-\uffff]/g, + encodeString = function(s) { + return '"' + s.replace(charToReplace, function(a) { + var c = m[a]; + return typeof c === 'string' ? c : '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); + }) + '"'; + }, + + + encodeArray = function(o, newline) { + + var a = ["[", ""], + len = o.length, + i; + for (i = 0; i < len; i += 1) { + a.push(Ext.JSON.encodeValue(o[i]), ','); + } + + a[a.length - 1] = ']'; + return a.join(""); + }, + + encodeObject = function(o, newline) { + + var a = ["{", ""], + i; + for (i in o) { + if (!useHasOwn || o.hasOwnProperty(i)) { + a.push(Ext.JSON.encodeValue(i), ":", Ext.JSON.encodeValue(o[i]), ','); + } + } + + a[a.length - 1] = '}'; + return a.join(""); + }; + + + me.encodeString = encodeString; + + + me.encodeValue = doEncode; + + + me.encodeDate = function(o) { + return '"' + o.getFullYear() + "-" + + pad(o.getMonth() + 1) + "-" + + pad(o.getDate()) + "T" + + pad(o.getHours()) + ":" + + pad(o.getMinutes()) + ":" + + pad(o.getSeconds()) + '"'; + }; + + + me.encode = function(o) { + if (!encodingFunction) { + + encodingFunction = isNative() ? JSON.stringify : me.encodeValue; + } + return encodingFunction(o); + }; + + + me.decode = function(json, safe) { + if (!decodingFunction) { + + decodingFunction = isNative() ? JSON.parse : doDecode; + } + try { + return decodingFunction(json); + } catch (e) { + if (safe === true) { + return null; + } + Ext.Error.raise({ + sourceClass: "Ext.JSON", + sourceMethod: "decode", + msg: "You're trying to decode an invalid JSON String: " + json + }); + } + }; +})()); + +Ext.encode = Ext.JSON.encode; + +Ext.decode = Ext.JSON.decode; + +//@tag extras,core + +//@require misc/JSON.js + + + +Ext.apply(Ext, { + userAgent: navigator.userAgent.toLowerCase(), + cache: {}, + idSeed: 1000, + windowId: 'ext-window', + documentId: 'ext-document', + + + isReady: false, + + + enableGarbageCollector: true, + + + enableListenerCollection: true, + + addCacheEntry: function(id, el, dom) { + dom = dom || el.dom; + + + var key = id || (el && el.id) || dom.id, + entry = Ext.cache[key] || (Ext.cache[key] = { + data: {}, + events: {}, + + dom: dom, + + + skipGarbageCollection: !!(dom.getElementById || dom.navigator) + }); + + if (el) { + el.$cache = entry; + + + entry.el = el; + } + + return entry; + }, + + updateCacheEntry: function(cacheItem, dom){ + cacheItem.dom = dom; + if (cacheItem.el) { + cacheItem.el.dom = dom; + } + return cacheItem; + }, + + + id: function(el, prefix) { + var me = this, + sandboxPrefix = ''; + el = Ext.getDom(el, true) || {}; + if (el === document) { + el.id = me.documentId; + } + else if (el === window) { + el.id = me.windowId; + } + if (!el.id) { + if (me.isSandboxed) { + sandboxPrefix = Ext.sandboxName.toLowerCase() + '-'; + } + el.id = sandboxPrefix + (prefix || "ext-gen") + (++Ext.idSeed); + } + return el.id; + }, + + escapeId: (function(){ + var validIdRe = /^[a-zA-Z_][a-zA-Z0-9_\-]*$/i, + escapeRx = /([\W]{1})/g, + leadingNumRx = /^(\d)/g, + escapeFn = function(match, capture){ + return "\\" + capture; + }, + numEscapeFn = function(match, capture){ + return '\\00' + capture.charCodeAt(0).toString(16) + ' '; + }; + + return function(id) { + return validIdRe.test(id) + ? id + + + : id.replace(escapeRx, escapeFn) + .replace(leadingNumRx, numEscapeFn); + }; + }()), + + + getBody: (function() { + var body; + return function() { + return body || (body = Ext.get(document.body)); + }; + }()), + + + getHead: (function() { + var head; + return function() { + return head || (head = Ext.get(document.getElementsByTagName("head")[0])); + }; + }()), + + + getDoc: (function() { + var doc; + return function() { + return doc || (doc = Ext.get(document)); + }; + }()), + + + getCmp: function(id) { + return Ext.ComponentManager.get(id); + }, + + + getOrientation: function() { + return window.innerHeight > window.innerWidth ? 'portrait' : 'landscape'; + }, + + + destroy: function() { + var ln = arguments.length, + i, arg; + + for (i = 0; i < ln; i++) { + arg = arguments[i]; + if (arg) { + if (Ext.isArray(arg)) { + this.destroy.apply(this, arg); + } + else if (Ext.isFunction(arg.destroy)) { + arg.destroy(); + } + else if (arg.dom) { + arg.remove(); + } + } + } + }, + + + callback: function(callback, scope, args, delay){ + if(Ext.isFunction(callback)){ + args = args || []; + scope = scope || window; + if (delay) { + Ext.defer(callback, delay, scope, args); + } else { + callback.apply(scope, args); + } + } + }, + + + htmlEncode : function(value) { + return Ext.String.htmlEncode(value); + }, + + + htmlDecode : function(value) { + return Ext.String.htmlDecode(value); + }, + + + urlAppend : function(url, s) { + return Ext.String.urlAppend(url, s); + } +}); + + +Ext.ns = Ext.namespace; + + +window.undefined = window.undefined; + + +(function(){ + + var check = function(regex){ + return regex.test(Ext.userAgent); + }, + isStrict = document.compatMode == "CSS1Compat", + version = function (is, regex) { + var m; + return (is && (m = regex.exec(Ext.userAgent))) ? parseFloat(m[1]) : 0; + }, + docMode = document.documentMode, + isOpera = check(/opera/), + isOpera10_5 = isOpera && check(/version\/10\.5/), + isChrome = check(/\bchrome\b/), + isWebKit = check(/webkit/), + isSafari = !isChrome && check(/safari/), + isSafari2 = isSafari && check(/applewebkit\/4/), + isSafari3 = isSafari && check(/version\/3/), + isSafari4 = isSafari && check(/version\/4/), + isSafari5_0 = isSafari && check(/version\/5\.0/), + isSafari5 = isSafari && check(/version\/5/), + isIE = !isOpera && check(/msie/), + isIE7 = isIE && ((check(/msie 7/) && docMode != 8 && docMode != 9) || docMode == 7), + isIE8 = isIE && ((check(/msie 8/) && docMode != 7 && docMode != 9) || docMode == 8), + isIE9 = isIE && ((check(/msie 9/) && docMode != 7 && docMode != 8) || docMode == 9), + isIE6 = isIE && check(/msie 6/), + isGecko = !isWebKit && check(/gecko/), + isGecko3 = isGecko && check(/rv:1\.9/), + isGecko4 = isGecko && check(/rv:2\.0/), + isGecko5 = isGecko && check(/rv:5\./), + isGecko10 = isGecko && check(/rv:10\./), + isFF3_0 = isGecko3 && check(/rv:1\.9\.0/), + isFF3_5 = isGecko3 && check(/rv:1\.9\.1/), + isFF3_6 = isGecko3 && check(/rv:1\.9\.2/), + isWindows = check(/windows|win32/), + isMac = check(/macintosh|mac os x/), + isLinux = check(/linux/), + scrollbarSize = null, + chromeVersion = version(true, /\bchrome\/(\d+\.\d+)/), + firefoxVersion = version(true, /\bfirefox\/(\d+\.\d+)/), + ieVersion = version(isIE, /msie (\d+\.\d+)/), + operaVersion = version(isOpera, /version\/(\d+\.\d+)/), + safariVersion = version(isSafari, /version\/(\d+\.\d+)/), + webKitVersion = version(isWebKit, /webkit\/(\d+\.\d+)/), + isSecure = /^https/i.test(window.location.protocol), + nullLog; + + + try { + document.execCommand("BackgroundImageCache", false, true); + } catch(e) {} + + + + nullLog = function () {}; + nullLog.info = nullLog.warn = nullLog.error = Ext.emptyFn; + + Ext.setVersion('extjs', '4.1.1.1'); + Ext.apply(Ext, { + + SSL_SECURE_URL : isSecure && isIE ? 'javascript:\'\'' : 'about:blank', + + + + + scopeResetCSS : Ext.buildSettings.scopeResetCSS, + + + resetCls: Ext.buildSettings.baseCSSPrefix + 'reset', + + + enableNestedListenerRemoval : false, + + + USE_NATIVE_JSON : false, + + + getDom : function(el, strict) { + if (!el || !document) { + return null; + } + if (el.dom) { + return el.dom; + } else { + if (typeof el == 'string') { + var e = Ext.getElementById(el); + + + if (e && isIE && strict) { + if (el == e.getAttribute('id')) { + return e; + } else { + return null; + } + } + return e; + } else { + return el; + } + } + }, + + + removeNode : isIE6 || isIE7 || isIE8 + ? (function() { + var d; + return function(n){ + if(n && n.tagName.toUpperCase() != 'BODY'){ + (Ext.enableNestedListenerRemoval) ? Ext.EventManager.purgeElement(n) : Ext.EventManager.removeAll(n); + + var cache = Ext.cache, + id = n.id; + + if (cache[id]) { + delete cache[id].dom; + delete cache[id]; + } + + if (isIE8 && n.parentNode) { + n.parentNode.removeChild(n); + } + d = d || document.createElement('div'); + d.appendChild(n); + d.innerHTML = ''; + } + }; + }()) + : function(n) { + if (n && n.parentNode && n.tagName.toUpperCase() != 'BODY') { + (Ext.enableNestedListenerRemoval) ? Ext.EventManager.purgeElement(n) : Ext.EventManager.removeAll(n); + + var cache = Ext.cache, + id = n.id; + + if (cache[id]) { + delete cache[id].dom; + delete cache[id]; + } + + n.parentNode.removeChild(n); + } + }, + + isStrict: isStrict, + + isIEQuirks: isIE && !isStrict, + + + isOpera : isOpera, + + + isOpera10_5 : isOpera10_5, + + + isWebKit : isWebKit, + + + isChrome : isChrome, + + + isSafari : isSafari, + + + isSafari3 : isSafari3, + + + isSafari4 : isSafari4, + + + isSafari5 : isSafari5, + + + isSafari5_0 : isSafari5_0, + + + + isSafari2 : isSafari2, + + + isIE : isIE, + + + isIE6 : isIE6, + + + isIE7 : isIE7, + + + isIE8 : isIE8, + + + isIE9 : isIE9, + + + isGecko : isGecko, + + + isGecko3 : isGecko3, + + + isGecko4 : isGecko4, + + + isGecko5 : isGecko5, + + + isGecko10 : isGecko10, + + + isFF3_0 : isFF3_0, + + + isFF3_5 : isFF3_5, + + + isFF3_6 : isFF3_6, + + + isFF4 : 4 <= firefoxVersion && firefoxVersion < 5, + + + isFF5 : 5 <= firefoxVersion && firefoxVersion < 6, + + + isFF10 : 10 <= firefoxVersion && firefoxVersion < 11, + + + isLinux : isLinux, + + + isWindows : isWindows, + + + isMac : isMac, + + + chromeVersion: chromeVersion, + + + firefoxVersion: firefoxVersion, + + + ieVersion: ieVersion, + + + operaVersion: operaVersion, + + + safariVersion: safariVersion, + + + webKitVersion: webKitVersion, + + + isSecure: isSecure, + + + BLANK_IMAGE_URL : (isIE6 || isIE7) ? '/' + '/www.sencha.com/s.gif' : 'data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==', + + + value : function(v, defaultValue, allowBlank){ + return Ext.isEmpty(v, allowBlank) ? defaultValue : v; + }, + + + escapeRe : function(s) { + return s.replace(/([-.*+?\^${}()|\[\]\/\\])/g, "\\$1"); + }, + + + addBehaviors : function(o){ + if(!Ext.isReady){ + Ext.onReady(function(){ + Ext.addBehaviors(o); + }); + } else { + var cache = {}, + parts, + b, + s; + for (b in o) { + if ((parts = b.split('@'))[1]) { + s = parts[0]; + if(!cache[s]){ + cache[s] = Ext.select(s); + } + cache[s].on(parts[1], o[b]); + } + } + cache = null; + } + }, + + + getScrollbarSize: function (force) { + if (!Ext.isReady) { + return {}; + } + + if (force || !scrollbarSize) { + var db = document.body, + div = document.createElement('div'); + + div.style.width = div.style.height = '100px'; + div.style.overflow = 'scroll'; + div.style.position = 'absolute'; + + db.appendChild(div); + + + scrollbarSize = { + width: div.offsetWidth - div.clientWidth, + height: div.offsetHeight - div.clientHeight + }; + + db.removeChild(div); + } + + return scrollbarSize; + }, + + + getScrollBarWidth: function(force){ + var size = Ext.getScrollbarSize(force); + return size.width + 2; + }, + + + copyTo : function(dest, source, names, usePrototypeKeys){ + if(typeof names == 'string'){ + names = names.split(/[,;\s]/); + } + + var n, + nLen = names.length, + name; + + for(n = 0; n < nLen; n++) { + name = names[n]; + + if(usePrototypeKeys || source.hasOwnProperty(name)){ + dest[name] = source[name]; + } + } + + return dest; + }, + + + destroyMembers : function(o){ + for (var i = 1, a = arguments, len = a.length; i < len; i++) { + Ext.destroy(o[a[i]]); + delete o[a[i]]; + } + }, + + + log : + nullLog, + + + partition : function(arr, truth){ + var ret = [[],[]], + a, v, + aLen = arr.length; + + for (a = 0; a < aLen; a++) { + v = arr[a]; + ret[ (truth && truth(v, a, arr)) || (!truth && v) ? 0 : 1].push(v); + } + + return ret; + }, + + + invoke : function(arr, methodName){ + var ret = [], + args = Array.prototype.slice.call(arguments, 2), + a, v, + aLen = arr.length; + + for (a = 0; a < aLen; a++) { + v = arr[a]; + + if (v && typeof v[methodName] == 'function') { + ret.push(v[methodName].apply(v, args)); + } else { + ret.push(undefined); + } + } + + return ret; + }, + + + zip : function(){ + var parts = Ext.partition(arguments, function( val ){ return typeof val != 'function'; }), + arrs = parts[0], + fn = parts[1][0], + len = Ext.max(Ext.pluck(arrs, "length")), + ret = [], + i, + j, + aLen; + + for (i = 0; i < len; i++) { + ret[i] = []; + if(fn){ + ret[i] = fn.apply(fn, Ext.pluck(arrs, i)); + }else{ + for (j = 0, aLen = arrs.length; j < aLen; j++){ + ret[i].push( arrs[j][i] ); + } + } + } + return ret; + }, + + + toSentence: function(items, connector) { + var length = items.length, + head, + tail; + + if (length <= 1) { + return items[0]; + } else { + head = items.slice(0, length - 1); + tail = items[length - 1]; + + return Ext.util.Format.format("{0} {1} {2}", head.join(", "), connector || 'and', tail); + } + }, + + + useShims: isIE6 + }); +}()); + + +Ext.application = function(config) { + Ext.require('Ext.app.Application'); + + Ext.onReady(function() { + new Ext.app.Application(config); + }); +}; + +//@tag extras,core + +//@require ../Ext-more.js + +//@define Ext.util.Format + + + +(function() { + Ext.ns('Ext.util'); + + Ext.util.Format = {}; + var UtilFormat = Ext.util.Format, + stripTagsRE = /<\/?[^>]+>/gi, + stripScriptsRe = /(?:)((\n|\r|.)*?)(?:<\/script>)/ig, + nl2brRe = /\r?\n/g, + + + formatCleanRe = /[^\d\.]/g, + + + + I18NFormatCleanRe; + + Ext.apply(UtilFormat, { + + + thousandSeparator: ',', + + + + + decimalSeparator: '.', + + + + + currencyPrecision: 2, + + + + + currencySign: '$', + + + + + currencyAtEnd: false, + + + + undef : function(value) { + return value !== undefined ? value : ""; + }, + + + defaultValue : function(value, defaultValue) { + return value !== undefined && value !== '' ? value : defaultValue; + }, + + + substr : 'ab'.substr(-1) != 'b' + ? function (value, start, length) { + var str = String(value); + return (start < 0) + ? str.substr(Math.max(str.length + start, 0), length) + : str.substr(start, length); + } + : function(value, start, length) { + return String(value).substr(start, length); + }, + + + lowercase : function(value) { + return String(value).toLowerCase(); + }, + + + uppercase : function(value) { + return String(value).toUpperCase(); + }, + + + usMoney : function(v) { + return UtilFormat.currency(v, '$', 2); + }, + + + currency: function(v, currencySign, decimals, end) { + var negativeSign = '', + format = ",0", + i = 0; + v = v - 0; + if (v < 0) { + v = -v; + negativeSign = '-'; + } + decimals = Ext.isDefined(decimals) ? decimals : UtilFormat.currencyPrecision; + format += format + (decimals > 0 ? '.' : ''); + for (; i < decimals; i++) { + format += '0'; + } + v = UtilFormat.number(v, format); + if ((end || UtilFormat.currencyAtEnd) === true) { + return Ext.String.format("{0}{1}{2}", negativeSign, v, currencySign || UtilFormat.currencySign); + } else { + return Ext.String.format("{0}{1}{2}", negativeSign, currencySign || UtilFormat.currencySign, v); + } + }, + + + date: function(v, format) { + if (!v) { + return ""; + } + if (!Ext.isDate(v)) { + v = new Date(Date.parse(v)); + } + return Ext.Date.dateFormat(v, format || Ext.Date.defaultFormat); + }, + + + dateRenderer : function(format) { + return function(v) { + return UtilFormat.date(v, format); + }; + }, + + + stripTags : function(v) { + return !v ? v : String(v).replace(stripTagsRE, ""); + }, + + + stripScripts : function(v) { + return !v ? v : String(v).replace(stripScriptsRe, ""); + }, + + + fileSize : function(size) { + if (size < 1024) { + return size + " bytes"; + } else if (size < 1048576) { + return (Math.round(((size*10) / 1024))/10) + " KB"; + } else { + return (Math.round(((size*10) / 1048576))/10) + " MB"; + } + }, + + + math : (function(){ + var fns = {}; + + return function(v, a){ + if (!fns[a]) { + fns[a] = Ext.functionFactory('v', 'return v ' + a + ';'); + } + return fns[a](v); + }; + }()), + + + round : function(value, precision) { + var result = Number(value); + if (typeof precision == 'number') { + precision = Math.pow(10, precision); + result = Math.round(value * precision) / precision; + } + return result; + }, + + + number : function(v, formatString) { + if (!formatString) { + return v; + } + v = Ext.Number.from(v, NaN); + if (isNaN(v)) { + return ''; + } + var comma = UtilFormat.thousandSeparator, + dec = UtilFormat.decimalSeparator, + i18n = false, + neg = v < 0, + hasComma, + psplit, + fnum, + cnum, + parr, + j, + m, + n, + i; + + v = Math.abs(v); + + + + + + if (formatString.substr(formatString.length - 2) == '/i') { + if (!I18NFormatCleanRe) { + I18NFormatCleanRe = new RegExp('[^\\d\\' + UtilFormat.decimalSeparator + ']','g'); + } + formatString = formatString.substr(0, formatString.length - 2); + i18n = true; + hasComma = formatString.indexOf(comma) != -1; + psplit = formatString.replace(I18NFormatCleanRe, '').split(dec); + } else { + hasComma = formatString.indexOf(',') != -1; + psplit = formatString.replace(formatCleanRe, '').split('.'); + } + + if (psplit.length > 2) { + } else if (psplit.length > 1) { + v = Ext.Number.toFixed(v, psplit[1].length); + } else { + v = Ext.Number.toFixed(v, 0); + } + + fnum = v.toString(); + + psplit = fnum.split('.'); + + if (hasComma) { + cnum = psplit[0]; + parr = []; + j = cnum.length; + m = Math.floor(j / 3); + n = cnum.length % 3 || 3; + + for (i = 0; i < j; i += n) { + if (i !== 0) { + n = 3; + } + + parr[parr.length] = cnum.substr(i, n); + m -= 1; + } + fnum = parr.join(comma); + if (psplit[1]) { + fnum += dec + psplit[1]; + } + } else { + if (psplit[1]) { + fnum = psplit[0] + dec + psplit[1]; + } + } + + if (neg) { + + neg = fnum.replace(/[^1-9]/g, '') !== ''; + } + + return (neg ? '-' : '') + formatString.replace(/[\d,?\.?]+/, fnum); + }, + + + numberRenderer : function(format) { + return function(v) { + return UtilFormat.number(v, format); + }; + }, + + + plural : function(v, s, p) { + return v +' ' + (v == 1 ? s : (p ? p : s+'s')); + }, + + + nl2br : function(v) { + return Ext.isEmpty(v) ? '' : v.replace(nl2brRe, '
'); + }, + + + capitalize: Ext.String.capitalize, + + + ellipsis: Ext.String.ellipsis, + + + format: Ext.String.format, + + + htmlDecode: Ext.String.htmlDecode, + + + htmlEncode: Ext.String.htmlEncode, + + + leftPad: Ext.String.leftPad, + + + trim : Ext.String.trim, + + + parseBox : function(box) { + box = Ext.isEmpty(box) ? '' : box; + if (Ext.isNumber(box)) { + box = box.toString(); + } + var parts = box.split(' '), + ln = parts.length; + + if (ln == 1) { + parts[1] = parts[2] = parts[3] = parts[0]; + } + else if (ln == 2) { + parts[2] = parts[0]; + parts[3] = parts[1]; + } + else if (ln == 3) { + parts[3] = parts[1]; + } + + return { + top :parseInt(parts[0], 10) || 0, + right :parseInt(parts[1], 10) || 0, + bottom:parseInt(parts[2], 10) || 0, + left :parseInt(parts[3], 10) || 0 + }; + }, + + + escapeRegex : function(s) { + return s.replace(/([\-.*+?\^${}()|\[\]\/\\])/g, "\\$1"); + } + }); +}()); + +//@tag extras,core + +//@require Format.js + +//@define Ext.util.TaskManager + +//@define Ext.TaskManager + + + +Ext.define('Ext.util.TaskRunner', { + + interval: 10, + + + timerId: null, + + constructor: function (interval) { + var me = this; + + if (typeof interval == 'number') { + me.interval = interval; + } else if (interval) { + Ext.apply(me, interval); + } + + me.tasks = []; + me.timerFn = Ext.Function.bind(me.onTick, me); + }, + + + newTask: function (config) { + var task = new Ext.util.TaskRunner.Task(config); + task.manager = this; + return task; + }, + + + start: function(task) { + var me = this, + now = new Date().getTime(); + + if (!task.pending) { + me.tasks.push(task); + task.pending = true; + } + + task.stopped = false; + task.taskStartTime = now; + task.taskRunTime = task.fireOnStart !== false ? 0 : task.taskStartTime; + task.taskRunCount = 0; + + if (!me.firing) { + if (task.fireOnStart !== false) { + me.startTimer(0, now); + } else { + me.startTimer(task.interval, now); + } + } + + return task; + }, + + + stop: function(task) { + + + + if (!task.stopped) { + task.stopped = true; + + if (task.onStop) { + task.onStop.call(task.scope || task, task); + } + } + + return task; + }, + + + stopAll: function() { + + Ext.each(this.tasks, this.stop, this); + }, + + + + firing: false, + + nextExpires: 1e99, + + + onTick: function () { + var me = this, + tasks = me.tasks, + now = new Date().getTime(), + nextExpires = 1e99, + len = tasks.length, + expires, newTasks, i, task, rt, remove; + + me.timerId = null; + me.firing = true; + + + + + + for (i = 0; i < len || i < (len = tasks.length); ++i) { + task = tasks[i]; + + if (!(remove = task.stopped)) { + expires = task.taskRunTime + task.interval; + + if (expires <= now) { + rt = 1; + try { + rt = task.run.apply(task.scope || task, task.args || [++task.taskRunCount]); + } catch (taskError) { + try { + if (task.onError) { + rt = task.onError.call(task.scope || task, task, taskError); + } + } catch (ignore) { } + } + task.taskRunTime = now; + if (rt === false || task.taskRunCount === task.repeat) { + me.stop(task); + remove = true; + } else { + remove = task.stopped; + expires = now + task.interval; + } + } + + if (!remove && task.duration && task.duration <= (now - task.taskStartTime)) { + me.stop(task); + remove = true; + } + } + + if (remove) { + task.pending = false; + + + + + + + if (!newTasks) { + newTasks = tasks.slice(0, i); + + + + } + } else { + if (newTasks) { + newTasks.push(task); + } + + if (nextExpires > expires) { + nextExpires = expires; + } + } + } + + if (newTasks) { + + + me.tasks = newTasks; + } + + me.firing = false; + + if (me.tasks.length) { + + + + me.startTimer(nextExpires - now, new Date().getTime()); + } + }, + + + startTimer: function (timeout, now) { + var me = this, + expires = now + timeout, + timerId = me.timerId; + + + + if (timerId && me.nextExpires - expires > me.interval) { + clearTimeout(timerId); + timerId = null; + } + + if (!timerId) { + if (timeout < me.interval) { + timeout = me.interval; + } + + me.timerId = setTimeout(me.timerFn, timeout); + me.nextExpires = expires; + } + } +}, +function () { + var me = this, + proto = me.prototype; + + + proto.destroy = proto.stopAll; + + + Ext.util.TaskManager = Ext.TaskManager = new me(); + + + me.Task = new Ext.Class({ + isTask: true, + + + stopped: true, + + + fireOnStart: false, + + constructor: function (config) { + Ext.apply(this, config); + }, + + + restart: function (interval) { + if (interval !== undefined) { + this.interval = interval; + } + + this.manager.start(this); + }, + + + start: function (interval) { + if (this.stopped) { + this.restart(interval); + } + }, + + + stop: function () { + this.manager.stop(this); + } + }); + + proto = me.Task.prototype; + + + proto.destroy = proto.stop; +}); + +//@tag extras,core + +//@require ../util/TaskManager.js + + + +Ext.define('Ext.perf.Accumulator', (function () { + var currentFrame = null, + khrome = Ext.global['chrome'], + formatTpl, + + + getTimestamp = function () { + + getTimestamp = function () { + return new Date().getTime(); + }; + + var interval, toolbox; + + + if (Ext.isChrome && khrome && khrome.Interval) { + interval = new khrome.Interval(); + interval.start(); + getTimestamp = function () { + return interval.microseconds() / 1000; + }; + } else if (window.ActiveXObject) { + try { + + toolbox = new ActiveXObject('SenchaToolbox.Toolbox'); + Ext.senchaToolbox = toolbox; + getTimestamp = function () { + return toolbox.milliseconds; + }; + } catch (e) { + + } + } else if (Date.now) { + getTimestamp = Date.now; + } + + Ext.perf.getTimestamp = Ext.perf.Accumulator.getTimestamp = getTimestamp; + return getTimestamp(); + }; + + function adjustSet (set, time) { + set.sum += time; + set.min = Math.min(set.min, time); + set.max = Math.max(set.max, time); + } + + function leaveFrame (time) { + var totalTime = time ? time : (getTimestamp() - this.time), + me = this, + accum = me.accum; + + ++accum.count; + if (! --accum.depth) { + adjustSet(accum.total, totalTime); + } + adjustSet(accum.pure, totalTime - me.childTime); + + currentFrame = me.parent; + if (currentFrame) { + ++currentFrame.accum.childCount; + currentFrame.childTime += totalTime; + } + } + + function makeSet () { + return { + min: Number.MAX_VALUE, + max: 0, + sum: 0 + }; + } + + function makeTap (me, fn) { + return function () { + var frame = me.enter(), + ret = fn.apply(this, arguments); + + frame.leave(); + return ret; + }; + } + + function round (x) { + return Math.round(x * 100) / 100; + } + + function setToJSON (count, childCount, calibration, set) { + var data = { + avg: 0, + min: set.min, + max: set.max, + sum: 0 + }; + + if (count) { + calibration = calibration || 0; + data.sum = set.sum - childCount * calibration; + data.avg = data.sum / count; + + + } + + return data; + } + + return { + constructor: function (name) { + var me = this; + + me.count = me.childCount = me.depth = me.maxDepth = 0; + me.pure = makeSet(); + me.total = makeSet(); + me.name = name; + }, + + statics: { + getTimestamp: getTimestamp + }, + + format: function (calibration) { + if (!formatTpl) { + formatTpl = new Ext.XTemplate([ + '{name} - {count} call(s)', + '', + '', + ' ({childCount} children)', + '', + '', + ' ({depth} deep)', + '', + '', + ', {type}: {[this.time(values.sum)]} msec (', + + 'avg={[this.time(values.sum / parent.count)]}', + + ')', + '', + '' + ].join(''), { + time: function (t) { + return Math.round(t * 100) / 100; + } + }); + } + + var data = this.getData(calibration); + data.name = this.name; + data.pure.type = 'Pure'; + data.total.type = 'Total'; + data.times = [data.pure, data.total]; + return formatTpl.apply(data); + }, + + getData: function (calibration) { + var me = this; + + return { + count: me.count, + childCount: me.childCount, + depth: me.maxDepth, + pure: setToJSON(me.count, me.childCount, calibration, me.pure), + total: setToJSON(me.count, me.childCount, calibration, me.total) + }; + }, + + enter: function () { + var me = this, + frame = { + accum: me, + leave: leaveFrame, + childTime: 0, + parent: currentFrame + }; + + ++me.depth; + if (me.maxDepth < me.depth) { + me.maxDepth = me.depth; + } + + currentFrame = frame; + frame.time = getTimestamp(); + return frame; + }, + + monitor: function (fn, scope, args) { + var frame = this.enter(); + if (args) { + fn.apply(scope, args); + } else { + fn.call(scope); + } + frame.leave(); + }, + + report: function () { + Ext.log(this.format()); + }, + + tap: function (className, methodName) { + var me = this, + methods = typeof methodName == 'string' ? [methodName] : methodName, + klass, statik, i, parts, length, name, src, + tapFunc; + + tapFunc = function(){ + if (typeof className == 'string') { + klass = Ext.global; + parts = className.split('.'); + for (i = 0, length = parts.length; i < length; ++i) { + klass = klass[parts[i]]; + } + } else { + klass = className; + } + + for (i = 0, length = methods.length; i < length; ++i) { + name = methods[i]; + statik = name.charAt(0) == '!'; + + if (statik) { + name = name.substring(1); + } else { + statik = !(name in klass.prototype); + } + + src = statik ? klass : klass.prototype; + src[name] = makeTap(me, src[name]); + } + }; + + Ext.ClassManager.onCreated(tapFunc, me, className); + + return me; + } + }; +}()), + +function () { + Ext.perf.getTimestamp = this.getTimestamp; +}); + +//@tag extras,core + +//@require Accumulator.js + + + +Ext.define('Ext.perf.Monitor', { + singleton: true, + alternateClassName: 'Ext.Perf', + + requires: [ + 'Ext.perf.Accumulator' + ], + + constructor: function () { + this.accumulators = []; + this.accumulatorsByName = {}; + }, + + calibrate: function () { + var accum = new Ext.perf.Accumulator('$'), + total = accum.total, + getTimestamp = Ext.perf.Accumulator.getTimestamp, + count = 0, + frame, + endTime, + startTime; + + startTime = getTimestamp(); + + do { + frame = accum.enter(); + frame.leave(); + ++count; + } while (total.sum < 100); + + endTime = getTimestamp(); + + return (endTime - startTime) / count; + }, + + get: function (name) { + var me = this, + accum = me.accumulatorsByName[name]; + + if (!accum) { + me.accumulatorsByName[name] = accum = new Ext.perf.Accumulator(name); + me.accumulators.push(accum); + } + + return accum; + }, + + enter: function (name) { + return this.get(name).enter(); + }, + + monitor: function (name, fn, scope) { + this.get(name).monitor(fn, scope); + }, + + report: function () { + var me = this, + accumulators = me.accumulators, + calibration = me.calibrate(); + + accumulators.sort(function (a, b) { + return (a.name < b.name) ? -1 : ((b.name < a.name) ? 1 : 0); + }); + + me.updateGC(); + + Ext.log('Calibration: ' + Math.round(calibration * 100) / 100 + ' msec/sample'); + Ext.each(accumulators, function (accum) { + Ext.log(accum.format(calibration)); + }); + }, + + getData: function (all) { + var ret = {}, + accumulators = this.accumulators; + + Ext.each(accumulators, function (accum) { + if (all || accum.count) { + ret[accum.name] = accum.getData(); + } + }); + + return ret; + }, + + reset: function(){ + Ext.each(this.accumulators, function(accum){ + var me = accum; + me.count = me.childCount = me.depth = me.maxDepth = 0; + me.pure = { + min: Number.MAX_VALUE, + max: 0, + sum: 0 + }; + me.total = { + min: Number.MAX_VALUE, + max: 0, + sum: 0 + }; + }); + }, + + updateGC: function () { + var accumGC = this.accumulatorsByName.GC, + toolbox = Ext.senchaToolbox, + bucket; + + if (accumGC) { + accumGC.count = toolbox.garbageCollectionCounter || 0; + + if (accumGC.count) { + bucket = accumGC.pure; + accumGC.total.sum = bucket.sum = toolbox.garbageCollectionMilliseconds; + bucket.min = bucket.max = bucket.sum / accumGC.count; + bucket = accumGC.total; + bucket.min = bucket.max = bucket.sum / accumGC.count; + } + } + }, + + watchGC: function () { + Ext.perf.getTimestamp(); + + var toolbox = Ext.senchaToolbox; + + if (toolbox) { + this.get("GC"); + toolbox.watchGarbageCollector(false); + } + }, + + setup: function (config) { + if (!config) { + config = { + + + + + + + + + render: { + 'Ext.AbstractComponent': 'render' + }, + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + layout: { + 'Ext.layout.Context': 'run' + } + }; + } + + this.currentConfig = config; + + var key, prop, + accum, className, methods; + for (key in config) { + if (config.hasOwnProperty(key)) { + prop = config[key]; + accum = Ext.Perf.get(key); + + for (className in prop) { + if (prop.hasOwnProperty(className)) { + methods = prop[className]; + accum.tap(className, methods); + } + } + } + } + + this.watchGC(); + } +}); + +//@tag extras,core + +//@require perf/Monitor.js + +//@define Ext.Supports + + + +Ext.is = { + init : function(navigator) { + var platforms = this.platforms, + ln = platforms.length, + i, platform; + + navigator = navigator || window.navigator; + + for (i = 0; i < ln; i++) { + platform = platforms[i]; + this[platform.identity] = platform.regex.test(navigator[platform.property]); + } + + + this.Desktop = this.Mac || this.Windows || (this.Linux && !this.Android); + + this.Tablet = this.iPad; + + this.Phone = !this.Desktop && !this.Tablet; + + this.iOS = this.iPhone || this.iPad || this.iPod; + + + this.Standalone = !!window.navigator.standalone; + }, + + + platforms: [{ + property: 'platform', + regex: /iPhone/i, + identity: 'iPhone' + }, + + + { + property: 'platform', + regex: /iPod/i, + identity: 'iPod' + }, + + + { + property: 'userAgent', + regex: /iPad/i, + identity: 'iPad' + }, + + + { + property: 'userAgent', + regex: /Blackberry/i, + identity: 'Blackberry' + }, + + + { + property: 'userAgent', + regex: /Android/i, + identity: 'Android' + }, + + + { + property: 'platform', + regex: /Mac/i, + identity: 'Mac' + }, + + + { + property: 'platform', + regex: /Win/i, + identity: 'Windows' + }, + + + { + property: 'platform', + regex: /Linux/i, + identity: 'Linux' + }] +}; + +Ext.is.init(); + + +(function(){ + + + + + var getStyle = function(element, styleName){ + var view = element.ownerDocument.defaultView, + style = (view ? view.getComputedStyle(element, null) : element.currentStyle) || element.style; + return style[styleName]; + }; + +Ext.supports = { + + init : function() { + var me = this, + doc = document, + tests = me.tests, + n = tests.length, + div = n && Ext.isReady && doc.createElement('div'), + test, notRun = []; + + if (div) { + div.innerHTML = [ + '
', + '
', + '
', + '
', + '
', + '
', + '
', + '
' + ].join(''); + + doc.body.appendChild(div); + } + + while (n--) { + test = tests[n]; + if (div || test.early) { + me[test.identity] = test.fn.call(me, doc, div); + } else { + notRun.push(test); + } + } + + if (div) { + doc.body.removeChild(div); + } + + me.tests = notRun; + }, + + + PointerEvents: 'pointerEvents' in document.documentElement.style, + + + CSS3BoxShadow: 'boxShadow' in document.documentElement.style || 'WebkitBoxShadow' in document.documentElement.style || 'MozBoxShadow' in document.documentElement.style, + + + ClassList: !!document.documentElement.classList, + + + OrientationChange: ((typeof window.orientation != 'undefined') && ('onorientationchange' in window)), + + + DeviceMotion: ('ondevicemotion' in window), + + + + + Touch: ('ontouchstart' in window) && (!Ext.is.Desktop), + + + TimeoutActualLateness: (function(){ + setTimeout(function(){ + Ext.supports.TimeoutActualLateness = arguments.length !== 0; + }, 0); + }()), + + tests: [ + + { + identity: 'Transitions', + fn: function(doc, div) { + var prefix = [ + 'webkit', + 'Moz', + 'o', + 'ms', + 'khtml' + ], + TE = 'TransitionEnd', + transitionEndName = [ + prefix[0] + TE, + 'transitionend', + prefix[2] + TE, + prefix[3] + TE, + prefix[4] + TE + ], + ln = prefix.length, + i = 0, + out = false; + + for (; i < ln; i++) { + if (getStyle(div, prefix[i] + "TransitionProperty")) { + Ext.supports.CSS3Prefix = prefix[i]; + Ext.supports.CSS3TransitionEnd = transitionEndName[i]; + out = true; + break; + } + } + return out; + } + }, + + + { + identity: 'RightMargin', + fn: function(doc, div) { + var view = doc.defaultView; + return !(view && view.getComputedStyle(div.firstChild.firstChild, null).marginRight != '0px'); + } + }, + + + { + identity: 'DisplayChangeInputSelectionBug', + early: true, + fn: function() { + var webKitVersion = Ext.webKitVersion; + + return 0 < webKitVersion && webKitVersion < 533; + } + }, + + + { + identity: 'DisplayChangeTextAreaSelectionBug', + early: true, + fn: function() { + var webKitVersion = Ext.webKitVersion; + + + return 0 < webKitVersion && webKitVersion < 534.24; + } + }, + + + { + identity: 'TransparentColor', + fn: function(doc, div, view) { + view = doc.defaultView; + return !(view && view.getComputedStyle(div.lastChild, null).backgroundColor != 'transparent'); + } + }, + + + { + identity: 'ComputedStyle', + fn: function(doc, div, view) { + view = doc.defaultView; + return view && view.getComputedStyle; + } + }, + + + { + identity: 'Svg', + fn: function(doc) { + return !!doc.createElementNS && !!doc.createElementNS( "http:/" + "/www.w3.org/2000/svg", "svg").createSVGRect; + } + }, + + + { + identity: 'Canvas', + fn: function(doc) { + return !!doc.createElement('canvas').getContext; + } + }, + + + { + identity: 'Vml', + fn: function(doc) { + var d = doc.createElement("div"); + d.innerHTML = ""; + return (d.childNodes.length == 2); + } + }, + + + { + identity: 'Float', + fn: function(doc, div) { + return !!div.lastChild.style.cssFloat; + } + }, + + + { + identity: 'AudioTag', + fn: function(doc) { + return !!doc.createElement('audio').canPlayType; + } + }, + + + { + identity: 'History', + fn: function() { + var history = window.history; + return !!(history && history.pushState); + } + }, + + + { + identity: 'CSS3DTransform', + fn: function() { + return (typeof WebKitCSSMatrix != 'undefined' && new WebKitCSSMatrix().hasOwnProperty('m41')); + } + }, + + + { + identity: 'CSS3LinearGradient', + fn: function(doc, div) { + var property = 'background-image:', + webkit = '-webkit-gradient(linear, left top, right bottom, from(black), to(white))', + w3c = 'linear-gradient(left top, black, white)', + moz = '-moz-' + w3c, + opera = '-o-' + w3c, + options = [property + webkit, property + w3c, property + moz, property + opera]; + + div.style.cssText = options.join(';'); + + return ("" + div.style.backgroundImage).indexOf('gradient') !== -1; + } + }, + + + { + identity: 'CSS3BorderRadius', + fn: function(doc, div) { + var domPrefixes = ['borderRadius', 'BorderRadius', 'MozBorderRadius', 'WebkitBorderRadius', 'OBorderRadius', 'KhtmlBorderRadius'], + pass = false, + i; + for (i = 0; i < domPrefixes.length; i++) { + if (document.body.style[domPrefixes[i]] !== undefined) { + return true; + } + } + return pass; + } + }, + + + { + identity: 'GeoLocation', + fn: function() { + return (typeof navigator != 'undefined' && typeof navigator.geolocation != 'undefined') || (typeof google != 'undefined' && typeof google.gears != 'undefined'); + } + }, + + { + identity: 'MouseEnterLeave', + fn: function(doc, div){ + return ('onmouseenter' in div && 'onmouseleave' in div); + } + }, + + { + identity: 'MouseWheel', + fn: function(doc, div) { + return ('onmousewheel' in div); + } + }, + + { + identity: 'Opacity', + fn: function(doc, div){ + + if (Ext.isIE6 || Ext.isIE7 || Ext.isIE8) { + return false; + } + div.firstChild.style.cssText = 'opacity:0.73'; + return div.firstChild.style.opacity == '0.73'; + } + }, + + { + identity: 'Placeholder', + fn: function(doc) { + return 'placeholder' in doc.createElement('input'); + } + }, + + + { + identity: 'Direct2DBug', + fn: function() { + return Ext.isString(document.body.style.msTransformOrigin); + } + }, + + { + identity: 'BoundingClientRect', + fn: function(doc, div) { + return Ext.isFunction(div.getBoundingClientRect); + } + }, + { + identity: 'IncludePaddingInWidthCalculation', + fn: function(doc, div){ + return div.childNodes[1].firstChild.offsetWidth == 210; + } + }, + { + identity: 'IncludePaddingInHeightCalculation', + fn: function(doc, div){ + return div.childNodes[1].firstChild.offsetHeight == 210; + } + }, + + + { + identity: 'ArraySort', + fn: function() { + var a = [1,2,3,4,5].sort(function(){ return 0; }); + return a[0] === 1 && a[1] === 2 && a[2] === 3 && a[3] === 4 && a[4] === 5; + } + }, + + { + identity: 'Range', + fn: function() { + return !!document.createRange; + } + }, + + { + identity: 'CreateContextualFragment', + fn: function() { + var range = Ext.supports.Range ? document.createRange() : false; + + return range && !!range.createContextualFragment; + } + }, + + + { + identity: 'WindowOnError', + fn: function () { + + return Ext.isIE || Ext.isGecko || Ext.webKitVersion >= 534.16; + } + }, + + + { + identity: 'TextAreaMaxLength', + fn: function(){ + var el = document.createElement('textarea'); + return ('maxlength' in el); + } + }, + + + { + identity: 'GetPositionPercentage', + fn: function(doc, div){ + return getStyle(div.childNodes[2], 'left') == '10%'; + } + } + ] +}; +}()); + +Ext.supports.init(); + +//@tag dom,core + +//@require ../Support.js + +//@define Ext.util.DelayedTask + + + +Ext.util.DelayedTask = function(fn, scope, args) { + var me = this, + id, + call = function() { + clearInterval(id); + id = null; + fn.apply(scope, args || []); + }; + + + this.delay = function(delay, newFn, newScope, newArgs) { + me.cancel(); + fn = newFn || fn; + scope = newScope || scope; + args = newArgs || args; + id = setInterval(call, delay); + }; + + + this.cancel = function(){ + if (id) { + clearInterval(id); + id = null; + } + }; +}; + +//@tag dom,core + +//@define Ext.util.Event + +//@require Ext.util.DelayedTask + + +Ext.require('Ext.util.DelayedTask', function() { + + + Ext.util.Event = Ext.extend(Object, (function() { + var noOptions = {}; + + function createTargeted(handler, listener, o, scope){ + return function(){ + if (o.target === arguments[0]){ + handler.apply(scope, arguments); + } + }; + } + + function createBuffered(handler, listener, o, scope) { + listener.task = new Ext.util.DelayedTask(); + return function() { + listener.task.delay(o.buffer, handler, scope, Ext.Array.toArray(arguments)); + }; + } + + function createDelayed(handler, listener, o, scope) { + return function() { + var task = new Ext.util.DelayedTask(); + if (!listener.tasks) { + listener.tasks = []; + } + listener.tasks.push(task); + task.delay(o.delay || 10, handler, scope, Ext.Array.toArray(arguments)); + }; + } + + function createSingle(handler, listener, o, scope) { + return function() { + var event = listener.ev; + + if (event.removeListener(listener.fn, scope) && event.observable) { + + + event.observable.hasListeners[event.name]--; + } + + return handler.apply(scope, arguments); + }; + } + + return { + + isEvent: true, + + constructor: function(observable, name) { + this.name = name; + this.observable = observable; + this.listeners = []; + }, + + addListener: function(fn, scope, options) { + var me = this, + listener; + scope = scope || me.observable; + + + if (!me.isListening(fn, scope)) { + listener = me.createListener(fn, scope, options); + if (me.firing) { + + me.listeners = me.listeners.slice(0); + } + me.listeners.push(listener); + } + }, + + createListener: function(fn, scope, options) { + options = options || noOptions; + scope = scope || this.observable; + + var listener = { + fn: fn, + scope: scope, + o: options, + ev: this + }, + handler = fn; + + + + if (options.single) { + handler = createSingle(handler, listener, options, scope); + } + if (options.target) { + handler = createTargeted(handler, listener, options, scope); + } + if (options.delay) { + handler = createDelayed(handler, listener, options, scope); + } + if (options.buffer) { + handler = createBuffered(handler, listener, options, scope); + } + + listener.fireFn = handler; + return listener; + }, + + findListener: function(fn, scope) { + var listeners = this.listeners, + i = listeners.length, + listener, + s; + + while (i--) { + listener = listeners[i]; + if (listener) { + s = listener.scope; + + + + + if (listener.fn == fn && (s == (scope || this.observable))) { + return i; + } + } + } + + return - 1; + }, + + isListening: function(fn, scope) { + return this.findListener(fn, scope) !== -1; + }, + + removeListener: function(fn, scope) { + var me = this, + index, + listener, + k; + index = me.findListener(fn, scope); + if (index != -1) { + listener = me.listeners[index]; + + if (me.firing) { + me.listeners = me.listeners.slice(0); + } + + + if (listener.task) { + listener.task.cancel(); + delete listener.task; + } + + + k = listener.tasks && listener.tasks.length; + if (k) { + while (k--) { + listener.tasks[k].cancel(); + } + delete listener.tasks; + } + + + Ext.Array.erase(me.listeners, index, 1); + return true; + } + + return false; + }, + + + clearListeners: function() { + var listeners = this.listeners, + i = listeners.length; + + while (i--) { + this.removeListener(listeners[i].fn, listeners[i].scope); + } + }, + + fire: function() { + var me = this, + listeners = me.listeners, + count = listeners.length, + i, + args, + listener; + + if (count > 0) { + me.firing = true; + for (i = 0; i < count; i++) { + listener = listeners[i]; + args = arguments.length ? Array.prototype.slice.call(arguments, 0) : []; + if (listener.o) { + args.push(listener.o); + } + if (listener && listener.fireFn.apply(listener.scope || me.observable, args) === false) { + return (me.firing = false); + } + } + } + me.firing = false; + return true; + } + }; + }())); +}); + + +Ext.define('Ext.util.Observable', { + + + + requires: ['Ext.util.Event'], + + statics: { + + releaseCapture: function(o) { + o.fireEvent = this.prototype.fireEvent; + }, + + + capture: function(o, fn, scope) { + o.fireEvent = Ext.Function.createInterceptor(o.fireEvent, fn, scope); + }, + + + observe: function(cls, listeners) { + if (cls) { + if (!cls.isObservable) { + Ext.applyIf(cls, new this()); + this.capture(cls.prototype, cls.fireEvent, cls); + } + if (Ext.isObject(listeners)) { + cls.on(listeners); + } + } + return cls; + }, + + + prepareClass: function (T, mixin) { + + + + + + + if (!T.HasListeners) { + + + + var Observable = Ext.util.Observable, + HasListeners = function () {}, + SuperHL = T.superclass.HasListeners || (mixin && mixin.HasListeners) || + Observable.HasListeners; + + + T.prototype.HasListeners = T.HasListeners = HasListeners; + + + + HasListeners.prototype = T.hasListeners = new SuperHL(); + } + } + }, + + + + + + + isObservable: true, + + + eventsSuspended: 0, + + + + constructor: function(config) { + var me = this; + + Ext.apply(me, config); + + + if (!me.hasListeners) { + me.hasListeners = new me.HasListeners(); + } + + me.events = me.events || {}; + if (me.listeners) { + me.on(me.listeners); + me.listeners = null; + } + + if (me.bubbleEvents) { + me.enableBubble(me.bubbleEvents); + } + }, + + onClassExtended: function (T) { + if (!T.HasListeners) { + + + Ext.util.Observable.prepareClass(T); + } + }, + + + eventOptionsRe : /^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate|element|vertical|horizontal|freezeEvent)$/, + + + addManagedListener : function(item, ename, fn, scope, options) { + var me = this, + managedListeners = me.managedListeners = me.managedListeners || [], + config; + + if (typeof ename !== 'string') { + options = ename; + for (ename in options) { + if (options.hasOwnProperty(ename)) { + config = options[ename]; + if (!me.eventOptionsRe.test(ename)) { + me.addManagedListener(item, ename, config.fn || config, config.scope || options.scope, config.fn ? config : options); + } + } + } + } + else { + managedListeners.push({ + item: item, + ename: ename, + fn: fn, + scope: scope, + options: options + }); + + item.on(ename, fn, scope, options); + } + }, + + + removeManagedListener : function(item, ename, fn, scope) { + var me = this, + options, + config, + managedListeners, + length, + i; + + if (typeof ename !== 'string') { + options = ename; + for (ename in options) { + if (options.hasOwnProperty(ename)) { + config = options[ename]; + if (!me.eventOptionsRe.test(ename)) { + me.removeManagedListener(item, ename, config.fn || config, config.scope || options.scope); + } + } + } + } + + managedListeners = me.managedListeners ? me.managedListeners.slice() : []; + + for (i = 0, length = managedListeners.length; i < length; i++) { + me.removeManagedListenerItem(false, managedListeners[i], item, ename, fn, scope); + } + }, + + + fireEvent: function(eventName) { + eventName = eventName.toLowerCase(); + var me = this, + events = me.events, + event = events && events[eventName], + ret = true; + + + + if (event && me.hasListeners[eventName]) { + ret = me.continueFireEvent(eventName, Ext.Array.slice(arguments, 1), event.bubble); + } + return ret; + }, + + + continueFireEvent: function(eventName, args, bubbles) { + var target = this, + queue, event, + ret = true; + + do { + if (target.eventsSuspended) { + if ((queue = target.eventQueue)) { + queue.push([eventName, args, bubbles]); + } + return ret; + } else { + event = target.events[eventName]; + + + if (event && event != true) { + if ((ret = event.fire.apply(event, args)) === false) { + break; + } + } + } + } while (bubbles && (target = target.getBubbleParent())); + return ret; + }, + + + getBubbleParent: function(){ + var me = this, parent = me.getBubbleTarget && me.getBubbleTarget(); + if (parent && parent.isObservable) { + return parent; + } + return null; + }, + + + addListener: function(ename, fn, scope, options) { + var me = this, + config, event, hasListeners, + prevListenerCount = 0; + + if (typeof ename !== 'string') { + options = ename; + for (ename in options) { + if (options.hasOwnProperty(ename)) { + config = options[ename]; + if (!me.eventOptionsRe.test(ename)) { + me.addListener(ename, config.fn || config, config.scope || options.scope, config.fn ? config : options); + } + } + } + } else { + ename = ename.toLowerCase(); + event = me.events[ename]; + if (event && event.isEvent) { + prevListenerCount = event.listeners.length; + } else { + me.events[ename] = event = new Ext.util.Event(me, ename); + } + + + if (typeof fn === 'string') { + fn = scope[fn] || me[fn]; + } + event.addListener(fn, scope, options); + + + + if (event.listeners.length !== prevListenerCount) { + hasListeners = me.hasListeners; + if (hasListeners.hasOwnProperty(ename)) { + + ++hasListeners[ename]; + } else { + + + hasListeners[ename] = 1; + } + } + } + }, + + + removeListener: function(ename, fn, scope) { + var me = this, + config, + event, + options; + + if (typeof ename !== 'string') { + options = ename; + for (ename in options) { + if (options.hasOwnProperty(ename)) { + config = options[ename]; + if (!me.eventOptionsRe.test(ename)) { + me.removeListener(ename, config.fn || config, config.scope || options.scope); + } + } + } + } else { + ename = ename.toLowerCase(); + event = me.events[ename]; + if (event && event.isEvent) { + if (event.removeListener(fn, scope) && !--me.hasListeners[ename]) { + + + + delete me.hasListeners[ename]; + } + } + } + }, + + + clearListeners: function() { + var events = this.events, + event, + key; + + for (key in events) { + if (events.hasOwnProperty(key)) { + event = events[key]; + if (event.isEvent) { + event.clearListeners(); + } + } + } + + this.clearManagedListeners(); + }, + + + + clearManagedListeners : function() { + var managedListeners = this.managedListeners || [], + i = 0, + len = managedListeners.length; + + for (; i < len; i++) { + this.removeManagedListenerItem(true, managedListeners[i]); + } + + this.managedListeners = []; + }, + + + removeManagedListenerItem: function(isClear, managedListener, item, ename, fn, scope){ + if (isClear || (managedListener.item === item && managedListener.ename === ename && (!fn || managedListener.fn === fn) && (!scope || managedListener.scope === scope))) { + managedListener.item.un(managedListener.ename, managedListener.fn, managedListener.scope); + if (!isClear) { + Ext.Array.remove(this.managedListeners, managedListener); + } + } + }, + + + + addEvents: function(o) { + var me = this, + events = me.events || (me.events = {}), + arg, args, i; + + if (typeof o == 'string') { + for (args = arguments, i = args.length; i--; ) { + arg = args[i]; + if (!events[arg]) { + events[arg] = true; + } + } + } else { + Ext.applyIf(me.events, o); + } + }, + + + hasListener: function(ename) { + return !!this.hasListeners[ename.toLowerCase()]; + }, + + + suspendEvents: function(queueSuspended) { + this.eventsSuspended += 1; + if (queueSuspended && !this.eventQueue) { + this.eventQueue = []; + } + }, + + + resumeEvents: function() { + var me = this, + queued = me.eventQueue, + qLen, q; + + if (me.eventsSuspended && ! --me.eventsSuspended) { + delete me.eventQueue; + + if (queued) { + qLen = queued.length; + for (q = 0; q < qLen; q++) { + me.continueFireEvent.apply(me, queued[q]); + } + } + } + }, + + + relayEvents : function(origin, events, prefix) { + var me = this, + len = events.length, + i = 0, + oldName, + newName; + + for (; i < len; i++) { + oldName = events[i]; + newName = prefix ? prefix + oldName : oldName; + + + me.mon(origin, oldName, me.createRelayer(newName)); + } + }, + + + createRelayer: function(newName, beginEnd){ + var me = this; + return function() { + return me.fireEvent.apply(me, [newName].concat(Array.prototype.slice.apply(arguments, beginEnd || [0, -1]))); + }; + }, + + + enableBubble: function(eventNames) { + if (eventNames) { + var me = this, + names = (typeof eventNames == 'string') ? arguments : eventNames, + length = names.length, + events = me.events, + ename, event, i; + + for (i = 0; i < length; ++i) { + ename = names[i].toLowerCase(); + event = events[ename]; + + if (!event || typeof event == 'boolean') { + events[ename] = event = new Ext.util.Event(me, ename); + } + + + me.hasListeners[ename] = (me.hasListeners[ename]||0) + 1; + + event.bubble = true; + } + } + } +}, function() { + var Observable = this, + proto = Observable.prototype, + HasListeners = function () {}, + prepareMixin = function (T) { + if (!T.HasListeners) { + var proto = T.prototype; + + + Observable.prepareClass(T, this); + + + + T.onExtended(function (U) { + Observable.prepareClass(U); + }); + + + + if (proto.onClassMixedIn) { + + Ext.override(T, { + onClassMixedIn: function (U) { + prepareMixin.call(this, U); + this.callParent(arguments); + } + }); + } else { + + proto.onClassMixedIn = function (U) { + prepareMixin.call(this, U); + }; + } + } + }; + + HasListeners.prototype = { + + }; + + proto.HasListeners = Observable.HasListeners = HasListeners; + + Observable.createAlias({ + + on: 'addListener', + + un: 'removeListener', + + mon: 'addManagedListener', + + mun: 'removeManagedListener' + }); + + + Observable.observeClass = Observable.observe; + + + + + function getMethodEvent(method){ + var e = (this.methodEvents = this.methodEvents || {})[method], + returnValue, + v, + cancel, + obj = this, + makeCall; + + if (!e) { + this.methodEvents[method] = e = {}; + e.originalFn = this[method]; + e.methodName = method; + e.before = []; + e.after = []; + + makeCall = function(fn, scope, args){ + if((v = fn.apply(scope || obj, args)) !== undefined){ + if (typeof v == 'object') { + if(v.returnValue !== undefined){ + returnValue = v.returnValue; + }else{ + returnValue = v; + } + cancel = !!v.cancel; + } + else + if (v === false) { + cancel = true; + } + else { + returnValue = v; + } + } + }; + + this[method] = function(){ + var args = Array.prototype.slice.call(arguments, 0), + b, i, len; + returnValue = v = undefined; + cancel = false; + + for(i = 0, len = e.before.length; i < len; i++){ + b = e.before[i]; + makeCall(b.fn, b.scope, args); + if (cancel) { + return returnValue; + } + } + + if((v = e.originalFn.apply(obj, args)) !== undefined){ + returnValue = v; + } + + for(i = 0, len = e.after.length; i < len; i++){ + b = e.after[i]; + makeCall(b.fn, b.scope, args); + if (cancel) { + return returnValue; + } + } + return returnValue; + }; + } + return e; + } + + Ext.apply(proto, { + onClassMixedIn: prepareMixin, + + + + + beforeMethod : function(method, fn, scope){ + getMethodEvent.call(this, method).before.push({ + fn: fn, + scope: scope + }); + }, + + + afterMethod : function(method, fn, scope){ + getMethodEvent.call(this, method).after.push({ + fn: fn, + scope: scope + }); + }, + + removeMethodListener: function(method, fn, scope){ + var e = this.getMethodEvent(method), + i, len; + for(i = 0, len = e.before.length; i < len; i++){ + if(e.before[i].fn == fn && e.before[i].scope == scope){ + Ext.Array.erase(e.before, i, 1); + return; + } + } + for(i = 0, len = e.after.length; i < len; i++){ + if(e.after[i].fn == fn && e.after[i].scope == scope){ + Ext.Array.erase(e.after, i, 1); + return; + } + } + }, + + toggleEventLogging: function(toggle) { + Ext.util.Observable[toggle ? 'capture' : 'releaseCapture'](this, function(en) { + if (Ext.isDefined(Ext.global.console)) { + Ext.global.console.log(en, arguments); + } + }); + } + }); +}); + + +Ext.define('Ext.util.HashMap', { + mixins: { + observable: 'Ext.util.Observable' + }, + + + + + constructor: function(config) { + config = config || {}; + + var me = this, + keyFn = config.keyFn; + + me.addEvents( + + 'add', + + 'clear', + + 'remove', + + 'replace' + ); + + me.mixins.observable.constructor.call(me, config); + me.clear(true); + + if (keyFn) { + me.getKey = keyFn; + } + }, + + + getCount: function() { + return this.length; + }, + + + getData: function(key, value) { + + if (value === undefined) { + value = key; + key = this.getKey(value); + } + + return [key, value]; + }, + + + getKey: function(o) { + return o.id; + }, + + + add: function(key, value) { + var me = this; + + if (value === undefined) { + value = key; + key = me.getKey(value); + } + + if (me.containsKey(key)) { + return me.replace(key, value); + } + + me.map[key] = value; + ++me.length; + if (me.hasListeners.add) { + me.fireEvent('add', me, key, value); + } + return value; + }, + + + replace: function(key, value) { + var me = this, + map = me.map, + old; + + if (value === undefined) { + value = key; + key = me.getKey(value); + } + + if (!me.containsKey(key)) { + me.add(key, value); + } + old = map[key]; + map[key] = value; + if (me.hasListeners.replace) { + me.fireEvent('replace', me, key, value, old); + } + return value; + }, + + + remove: function(o) { + var key = this.findKey(o); + if (key !== undefined) { + return this.removeAtKey(key); + } + return false; + }, + + + removeAtKey: function(key) { + var me = this, + value; + + if (me.containsKey(key)) { + value = me.map[key]; + delete me.map[key]; + --me.length; + if (me.hasListeners.remove) { + me.fireEvent('remove', me, key, value); + } + return true; + } + return false; + }, + + + get: function(key) { + return this.map[key]; + }, + + + clear: function( initial) { + var me = this; + me.map = {}; + me.length = 0; + if (initial !== true && me.hasListeners.clear) { + me.fireEvent('clear', me); + } + return me; + }, + + + containsKey: function(key) { + return this.map[key] !== undefined; + }, + + + contains: function(value) { + return this.containsKey(this.findKey(value)); + }, + + + getKeys: function() { + return this.getArray(true); + }, + + + getValues: function() { + return this.getArray(false); + }, + + + getArray: function(isKey) { + var arr = [], + key, + map = this.map; + for (key in map) { + if (map.hasOwnProperty(key)) { + arr.push(isKey ? key: map[key]); + } + } + return arr; + }, + + + each: function(fn, scope) { + + var items = Ext.apply({}, this.map), + key, + length = this.length; + + scope = scope || this; + for (key in items) { + if (items.hasOwnProperty(key)) { + if (fn.call(scope, key, items[key], length) === false) { + break; + } + } + } + return this; + }, + + + clone: function() { + var hash = new this.self(), + map = this.map, + key; + + hash.suspendEvents(); + for (key in map) { + if (map.hasOwnProperty(key)) { + hash.add(key, map[key]); + } + } + hash.resumeEvents(); + return hash; + }, + + + findKey: function(value) { + var key, + map = this.map; + + for (key in map) { + if (map.hasOwnProperty(key) && map[key] === value) { + return key; + } + } + return undefined; + } +}); + + +Ext.define('Ext.AbstractManager', { + + + + requires: ['Ext.util.HashMap'], + + + + typeName: 'type', + + constructor: function(config) { + Ext.apply(this, config || {}); + + + this.all = new Ext.util.HashMap(); + + this.types = {}; + }, + + + get : function(id) { + return this.all.get(id); + }, + + + register: function(item) { + this.all.add(item); + }, + + + unregister: function(item) { + this.all.remove(item); + }, + + + registerType : function(type, cls) { + this.types[type] = cls; + cls[this.typeName] = type; + }, + + + isRegistered : function(type){ + return this.types[type] !== undefined; + }, + + + create: function(config, defaultType) { + var type = config[this.typeName] || config.type || defaultType, + Constructor = this.types[type]; + + + return new Constructor(config); + }, + + + onAvailable : function(id, fn, scope){ + var all = this.all, + item, + callback; + + if (all.containsKey(id)) { + item = all.get(id); + fn.call(scope || item, item); + } else { + callback = function(map, key, item){ + if (key == id) { + fn.call(scope || item, item); + all.un('add', callback); + } + }; + all.on('add', callback); + } + }, + + + each: function(fn, scope){ + this.all.each(fn, scope || this); + }, + + + getCount: function(){ + return this.all.getCount(); + } +}); + + +Ext.define('Ext.ComponentManager', { + extend: 'Ext.AbstractManager', + alternateClassName: 'Ext.ComponentMgr', + + singleton: true, + + typeName: 'xtype', + + + create: function(component, defaultType){ + if (typeof component == 'string') { + return Ext.widget(component); + } + if (component.isComponent) { + return component; + } + return Ext.widget(component.xtype || defaultType, component); + }, + + registerType: function(type, cls) { + this.types[type] = cls; + cls[this.typeName] = type; + cls.prototype[this.typeName] = type; + } +}); + + +Ext.define('Ext.ComponentQuery', { + singleton: true, + requires: ['Ext.ComponentManager'] +}, function() { + + var cq = this, + + + + filterFnPattern = [ + 'var r = [],', + 'i = 0,', + 'it = items,', + 'l = it.length,', + 'c;', + 'for (; i < l; i++) {', + 'c = it[i];', + 'if (c.{0}) {', + 'r.push(c);', + '}', + '}', + 'return r;' + ].join(''), + + filterItems = function(items, operation) { + + + + return operation.method.apply(this, [ items ].concat(operation.args)); + }, + + getItems = function(items, mode) { + var result = [], + i = 0, + length = items.length, + candidate, + deep = mode !== '>'; + + for (; i < length; i++) { + candidate = items[i]; + if (candidate.getRefItems) { + result = result.concat(candidate.getRefItems(deep)); + } + } + return result; + }, + + getAncestors = function(items) { + var result = [], + i = 0, + length = items.length, + candidate; + for (; i < length; i++) { + candidate = items[i]; + while (!!(candidate = (candidate.ownerCt || candidate.floatParent))) { + result.push(candidate); + } + } + return result; + }, + + + filterByXType = function(items, xtype, shallow) { + if (xtype === '*') { + return items.slice(); + } + else { + var result = [], + i = 0, + length = items.length, + candidate; + for (; i < length; i++) { + candidate = items[i]; + if (candidate.isXType(xtype, shallow)) { + result.push(candidate); + } + } + return result; + } + }, + + + filterByClassName = function(items, className) { + var EA = Ext.Array, + result = [], + i = 0, + length = items.length, + candidate; + for (; i < length; i++) { + candidate = items[i]; + if (candidate.hasCls(className)) { + result.push(candidate); + } + } + return result; + }, + + + filterByAttribute = function(items, property, operator, value) { + var result = [], + i = 0, + length = items.length, + candidate; + for (; i < length; i++) { + candidate = items[i]; + if (!value ? !!candidate[property] : (String(candidate[property]) === value)) { + result.push(candidate); + } + } + return result; + }, + + + filterById = function(items, id) { + var result = [], + i = 0, + length = items.length, + candidate; + for (; i < length; i++) { + candidate = items[i]; + if (candidate.getItemId() === id) { + result.push(candidate); + } + } + return result; + }, + + + filterByPseudo = function(items, name, value) { + return cq.pseudos[name](items, value); + }, + + + + modeRe = /^(\s?([>\^])\s?|\s|$)/, + + + tokenRe = /^(#)?([\w\-]+|\*)(?:\((true|false)\))?/, + + matchers = [{ + + re: /^\.([\w\-]+)(?:\((true|false)\))?/, + method: filterByXType + },{ + + re: /^(?:[\[](?:@)?([\w\-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]])/, + method: filterByAttribute + }, { + + re: /^#([\w\-]+)/, + method: filterById + }, { + + re: /^\:([\w\-]+)(?:\(((?:\{[^\}]+\})|(?:(?!\{)[^\s>\/]*?(?!\})))\))?/, + method: filterByPseudo + }, { + + re: /^(?:\{([^\}]+)\})/, + method: filterFnPattern + }]; + + + cq.Query = Ext.extend(Object, { + constructor: function(cfg) { + cfg = cfg || {}; + Ext.apply(this, cfg); + }, + + + + + + + + + + execute : function(root) { + var operations = this.operations, + i = 0, + length = operations.length, + operation, + workingItems; + + + if (!root) { + workingItems = Ext.ComponentManager.all.getArray(); + } + + else if (Ext.isArray(root)) { + workingItems = root; + } + + else if (root.isMixedCollection) { + workingItems = root.items; + } + + + + for (; i < length; i++) { + operation = operations[i]; + + + + + + + + if (operation.mode === '^') { + workingItems = getAncestors(workingItems || [root]); + } + else if (operation.mode) { + workingItems = getItems(workingItems || [root], operation.mode); + } + else { + workingItems = filterItems(workingItems || getItems([root]), operation); + } + + + + if (i === length -1) { + return workingItems; + } + } + return []; + }, + + is: function(component) { + var operations = this.operations, + components = Ext.isArray(component) ? component : [component], + originalLength = components.length, + lastOperation = operations[operations.length-1], + ln, i; + + components = filterItems(components, lastOperation); + if (components.length === originalLength) { + if (operations.length > 1) { + for (i = 0, ln = components.length; i < ln; i++) { + if (Ext.Array.indexOf(this.execute(), components[i]) === -1) { + return false; + } + } + } + return true; + } + return false; + } + }); + + Ext.apply(this, { + + + cache: {}, + + + pseudos: { + not: function(components, selector){ + var CQ = Ext.ComponentQuery, + i = 0, + length = components.length, + results = [], + index = -1, + component; + + for(; i < length; ++i) { + component = components[i]; + if (!CQ.is(component, selector)) { + results[++index] = component; + } + } + return results; + }, + first: function(components) { + var ret = []; + + if (components.length > 0) { + ret.push(components[0]); + } + return ret; + }, + last: function(components) { + var len = components.length, + ret = []; + + if (len > 0) { + ret.push(components[len - 1]); + } + return ret; + } + }, + + + query: function(selector, root) { + var selectors = selector.split(','), + length = selectors.length, + i = 0, + results = [], + noDupResults = [], + dupMatcher = {}, + query, resultsLn, cmp; + + for (; i < length; i++) { + selector = Ext.String.trim(selectors[i]); + query = this.cache[selector] || (this.cache[selector] = this.parse(selector)); + results = results.concat(query.execute(root)); + } + + + + if (length > 1) { + resultsLn = results.length; + for (i = 0; i < resultsLn; i++) { + cmp = results[i]; + if (!dupMatcher[cmp.id]) { + noDupResults.push(cmp); + dupMatcher[cmp.id] = true; + } + } + results = noDupResults; + } + return results; + }, + + + is: function(component, selector) { + if (!selector) { + return true; + } + var selectors = selector.split(','), + length = selectors.length, + i = 0, + query; + + for (; i < length; i++) { + selector = Ext.String.trim(selectors[i]); + query = this.cache[selector] || (this.cache[selector] = this.parse(selector)); + if (query.is(component)) { + return true; + } + } + return false; + }, + + parse: function(selector) { + var operations = [], + length = matchers.length, + lastSelector, + tokenMatch, + matchedChar, + modeMatch, + selectorMatch, + i, matcher, method; + + + + + while (selector && lastSelector !== selector) { + lastSelector = selector; + + + tokenMatch = selector.match(tokenRe); + + if (tokenMatch) { + matchedChar = tokenMatch[1]; + + + if (matchedChar === '#') { + operations.push({ + method: filterById, + args: [Ext.String.trim(tokenMatch[2])] + }); + } + + + else if (matchedChar === '.') { + operations.push({ + method: filterByClassName, + args: [Ext.String.trim(tokenMatch[2])] + }); + } + + + else { + operations.push({ + method: filterByXType, + args: [Ext.String.trim(tokenMatch[2]), Boolean(tokenMatch[3])] + }); + } + + + selector = selector.replace(tokenMatch[0], ''); + } + + + + + while (!(modeMatch = selector.match(modeRe))) { + + + for (i = 0; selector && i < length; i++) { + matcher = matchers[i]; + selectorMatch = selector.match(matcher.re); + method = matcher.method; + + + + + if (selectorMatch) { + operations.push({ + method: Ext.isString(matcher.method) + + + + ? Ext.functionFactory('items', Ext.String.format.apply(Ext.String, [method].concat(selectorMatch.slice(1)))) + : matcher.method, + args: selectorMatch.slice(1) + }); + selector = selector.replace(selectorMatch[0], ''); + break; + } + + if (i === (length - 1)) { + Ext.Error.raise('Invalid ComponentQuery selector: "' + arguments[0] + '"'); + } + } + } + + + + + + if (modeMatch[1]) { + operations.push({ + mode: modeMatch[2]||modeMatch[1] + }); + selector = selector.replace(modeMatch[0], ''); + } + } + + + + return new cq.Query({ + operations: operations + }); + } + }); +}); + + + + +Ext.define('Ext.util.ProtoElement', (function () { + var splitWords = Ext.String.splitWords, + toMap = Ext.Array.toMap; + + return { + + isProtoEl: true, + + + clsProp: 'cls', + + + styleProp: 'style', + + + removedProp: 'removed', + + + styleIsText: false, + + constructor: function (config) { + var me = this; + + Ext.apply(me, config); + + me.classList = splitWords(me.cls); + me.classMap = toMap(me.classList); + delete me.cls; + + if (Ext.isFunction(me.style)) { + me.styleFn = me.style; + delete me.style; + } else if (typeof me.style == 'string') { + me.style = Ext.Element.parseStyles(me.style); + } else if (me.style) { + me.style = Ext.apply({}, me.style); + } + }, + + + flush: function(){ + this.flushClassList = []; + this.removedClasses = {}; + + delete this.style; + }, + + + addCls: function (cls) { + var me = this, + add = splitWords(cls), + length = add.length, + list = me.classList, + map = me.classMap, + flushList = me.flushClassList, + i = 0, + c; + + for (; i < length; ++i) { + c = add[i]; + if (!map[c]) { + map[c] = true; + list.push(c); + if (flushList) { + flushList.push(c); + delete me.removedClasses[c]; + } + } + } + + return me; + }, + + + hasCls: function (cls) { + return cls in this.classMap; + }, + + + removeCls: function (cls) { + var me = this, + list = me.classList, + newList = (me.classList = []), + remove = toMap(splitWords(cls)), + length = list.length, + map = me.classMap, + removedClasses = me.removedClasses, + i, c; + + for (i = 0; i < length; ++i) { + c = list[i]; + if (remove[c]) { + if (removedClasses) { + if (map[c]) { + removedClasses[c] = true; + Ext.Array.remove(me.flushClassList, c); + } + } + delete map[c]; + } else { + newList.push(c); + } + } + + return me; + }, + + + setStyle: function (prop, value) { + var me = this, + style = me.style || (me.style = {}); + + if (typeof prop == 'string') { + if (arguments.length === 1) { + me.setStyle(Ext.Element.parseStyles(prop)); + } else { + style[prop] = value; + } + } else { + Ext.apply(style, prop); + } + + return me; + }, + + + writeTo: function (to) { + var me = this, + classList = me.flushClassList || me.classList, + removedClasses = me.removedClasses, + style; + + if (me.styleFn) { + style = Ext.apply({}, me.styleFn()); + Ext.apply(style, me.style); + } else { + style = me.style; + } + + to[me.clsProp] = classList.join(' '); + + if (style) { + to[me.styleProp] = me.styleIsText ? Ext.DomHelper.generateStyles(style) : style; + } + + if (removedClasses) { + removedClasses = Ext.Object.getKeys(removedClasses); + if (removedClasses.length) { + to[me.removedProp] = removedClasses.join(' '); + } + } + + return to; + } + }; +}())); + +//@tag dom,core + +//@require util/Event.js + +//@define Ext.EventManager + + + +Ext.EventManager = new function() { + var EventManager = this, + doc = document, + win = window, + initExtCss = function() { + + var bd = doc.body || doc.getElementsByTagName('body')[0], + baseCSSPrefix = Ext.baseCSSPrefix, + cls = [baseCSSPrefix + 'body'], + htmlCls = [], + supportsLG = Ext.supports.CSS3LinearGradient, + supportsBR = Ext.supports.CSS3BorderRadius, + resetCls = [], + html, + resetElementSpec; + + if (!bd) { + return false; + } + + html = bd.parentNode; + + function add (c) { + cls.push(baseCSSPrefix + c); + } + + + if (Ext.isIE) { + add('ie'); + + + + + + + + + + + + + if (Ext.isIE6) { + add('ie6'); + } else { + add('ie7p'); + + if (Ext.isIE7) { + add('ie7'); + } else { + add('ie8p'); + + if (Ext.isIE8) { + add('ie8'); + } else { + add('ie9p'); + + if (Ext.isIE9) { + add('ie9'); + } + } + } + } + + if (Ext.isIE6 || Ext.isIE7) { + add('ie7m'); + } + if (Ext.isIE6 || Ext.isIE7 || Ext.isIE8) { + add('ie8m'); + } + if (Ext.isIE7 || Ext.isIE8) { + add('ie78'); + } + } + if (Ext.isGecko) { + add('gecko'); + if (Ext.isGecko3) { + add('gecko3'); + } + if (Ext.isGecko4) { + add('gecko4'); + } + if (Ext.isGecko5) { + add('gecko5'); + } + } + if (Ext.isOpera) { + add('opera'); + } + if (Ext.isWebKit) { + add('webkit'); + } + if (Ext.isSafari) { + add('safari'); + if (Ext.isSafari2) { + add('safari2'); + } + if (Ext.isSafari3) { + add('safari3'); + } + if (Ext.isSafari4) { + add('safari4'); + } + if (Ext.isSafari5) { + add('safari5'); + } + if (Ext.isSafari5_0) { + add('safari5_0') + } + } + if (Ext.isChrome) { + add('chrome'); + } + if (Ext.isMac) { + add('mac'); + } + if (Ext.isLinux) { + add('linux'); + } + if (!supportsBR) { + add('nbr'); + } + if (!supportsLG) { + add('nlg'); + } + + + + + if (Ext.scopeResetCSS) { + + + resetElementSpec = Ext.resetElementSpec = { + cls: baseCSSPrefix + 'reset' + }; + + if (!supportsLG) { + resetCls.push(baseCSSPrefix + 'nlg'); + } + + if (!supportsBR) { + resetCls.push(baseCSSPrefix + 'nbr'); + } + + if (resetCls.length) { + resetElementSpec.cn = { + cls: resetCls.join(' ') + }; + } + + Ext.resetElement = Ext.getBody().createChild(resetElementSpec); + if (resetCls.length) { + Ext.resetElement = Ext.get(Ext.resetElement.dom.firstChild); + } + } + + else { + Ext.resetElement = Ext.getBody(); + add('reset'); + } + + + if (html) { + if (Ext.isStrict && (Ext.isIE6 || Ext.isIE7)) { + Ext.isBorderBox = false; + } + else { + Ext.isBorderBox = true; + } + + if(Ext.isBorderBox) { + htmlCls.push(baseCSSPrefix + 'border-box'); + } + if (Ext.isStrict) { + htmlCls.push(baseCSSPrefix + 'strict'); + } else { + htmlCls.push(baseCSSPrefix + 'quirks'); + } + Ext.fly(html, '_internal').addCls(htmlCls); + } + + Ext.fly(bd, '_internal').addCls(cls); + return true; + }; + + Ext.apply(EventManager, { + + hasBoundOnReady: false, + + + hasFiredReady: false, + + + deferReadyEvent : 1, + + + onReadyChain : [], + + + readyEvent: + (function () { + var event = new Ext.util.Event(); + event.fire = function () { + Ext._beforeReadyTime = Ext._beforeReadyTime || new Date().getTime(); + event.self.prototype.fire.apply(event, arguments); + Ext._afterReadytime = new Date().getTime(); + }; + return event; + }()), + + + idleEvent: new Ext.util.Event(), + + + isReadyPaused: function(){ + return (/[?&]ext-pauseReadyFire\b/i.test(location.search) && !Ext._continueFireReady); + }, + + + bindReadyEvent: function() { + if (EventManager.hasBoundOnReady) { + return; + } + + + if ( doc.readyState == 'complete' ) { + EventManager.onReadyEvent({ + type: doc.readyState || 'body' + }); + } else { + document.addEventListener('DOMContentLoaded', EventManager.onReadyEvent, false); + window.addEventListener('load', EventManager.onReadyEvent, false); + EventManager.hasBoundOnReady = true; + } + }, + + onReadyEvent : function(e) { + if (e && e.type) { + EventManager.onReadyChain.push(e.type); + } + + if (EventManager.hasBoundOnReady) { + document.removeEventListener('DOMContentLoaded', EventManager.onReadyEvent, false); + window.removeEventListener('load', EventManager.onReadyEvent, false); + } + + if (!Ext.isReady) { + EventManager.fireDocReady(); + } + }, + + + fireDocReady: function() { + if (!Ext.isReady) { + Ext._readyTime = new Date().getTime(); + Ext.isReady = true; + + Ext.supports.init(); + EventManager.onWindowUnload(); + EventManager.readyEvent.onReadyChain = EventManager.onReadyChain; + + if (Ext.isNumber(EventManager.deferReadyEvent)) { + Ext.Function.defer(EventManager.fireReadyEvent, EventManager.deferReadyEvent); + EventManager.hasDocReadyTimer = true; + } else { + EventManager.fireReadyEvent(); + } + } + }, + + + fireReadyEvent: function(){ + var readyEvent = EventManager.readyEvent; + + + + EventManager.hasDocReadyTimer = false; + EventManager.isFiring = true; + + + + + while (readyEvent.listeners.length && !EventManager.isReadyPaused()) { + readyEvent.fire(); + } + EventManager.isFiring = false; + EventManager.hasFiredReady = true; + }, + + + onDocumentReady: function(fn, scope, options) { + options = options || {}; + + options.single = true; + EventManager.readyEvent.addListener(fn, scope, options); + + + + if (!(EventManager.isFiring || EventManager.hasDocReadyTimer)) { + if (Ext.isReady) { + EventManager.fireReadyEvent(); + } else { + EventManager.bindReadyEvent(); + } + } + }, + + + + + stoppedMouseDownEvent: new Ext.util.Event(), + + + propRe: /^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate|freezeEvent)$/, + + + getId : function(element) { + var id; + + element = Ext.getDom(element); + + if (element === doc || element === win) { + id = element === doc ? Ext.documentId : Ext.windowId; + } + else { + id = Ext.id(element); + } + + if (!Ext.cache[id]) { + Ext.addCacheEntry(id, null, element); + } + + return id; + }, + + + prepareListenerConfig: function(element, config, isRemove) { + var propRe = EventManager.propRe, + key, value, args; + + + for (key in config) { + if (config.hasOwnProperty(key)) { + + if (!propRe.test(key)) { + value = config[key]; + + + if (typeof value == 'function') { + + args = [element, key, value, config.scope, config]; + } else { + + args = [element, key, value.fn, value.scope, value]; + } + + if (isRemove) { + EventManager.removeListener.apply(EventManager, args); + } else { + EventManager.addListener.apply(EventManager, args); + } + } + } + } + }, + + mouseEnterLeaveRe: /mouseenter|mouseleave/, + + + normalizeEvent: function(eventName, fn) { + if (EventManager.mouseEnterLeaveRe.test(eventName) && !Ext.supports.MouseEnterLeave) { + if (fn) { + fn = Ext.Function.createInterceptor(fn, EventManager.contains); + } + eventName = eventName == 'mouseenter' ? 'mouseover' : 'mouseout'; + } else if (eventName == 'mousewheel' && !Ext.supports.MouseWheel && !Ext.isOpera) { + eventName = 'DOMMouseScroll'; + } + return { + eventName: eventName, + fn: fn + }; + }, + + + contains: function(event) { + var parent = event.browserEvent.currentTarget, + child = EventManager.getRelatedTarget(event); + + if (parent && parent.firstChild) { + while (child) { + if (child === parent) { + return false; + } + child = child.parentNode; + if (child && (child.nodeType != 1)) { + child = null; + } + } + } + return true; + }, + + + addListener: function(element, eventName, fn, scope, options) { + + if (typeof eventName !== 'string') { + EventManager.prepareListenerConfig(element, eventName); + return; + } + + var dom = element.dom || Ext.getDom(element), + bind, wrap; + + + + options = options || {}; + + bind = EventManager.normalizeEvent(eventName, fn); + wrap = EventManager.createListenerWrap(dom, eventName, bind.fn, scope, options); + + if (dom.attachEvent) { + dom.attachEvent('on' + bind.eventName, wrap); + } else { + dom.addEventListener(bind.eventName, wrap, options.capture || false); + } + + if (dom == doc && eventName == 'mousedown') { + EventManager.stoppedMouseDownEvent.addListener(wrap); + } + + + EventManager.getEventListenerCache(element.dom ? element : dom, eventName).push({ + fn: fn, + wrap: wrap, + scope: scope + }); + }, + + + removeListener : function(element, eventName, fn, scope) { + + if (typeof eventName !== 'string') { + EventManager.prepareListenerConfig(element, eventName, true); + return; + } + + var dom = Ext.getDom(element), + el = element.dom ? element : Ext.get(dom), + cache = EventManager.getEventListenerCache(el, eventName), + bindName = EventManager.normalizeEvent(eventName).eventName, + i = cache.length, j, + listener, wrap, tasks; + + + while (i--) { + listener = cache[i]; + + if (listener && (!fn || listener.fn == fn) && (!scope || listener.scope === scope)) { + wrap = listener.wrap; + + + if (wrap.task) { + clearTimeout(wrap.task); + delete wrap.task; + } + + + j = wrap.tasks && wrap.tasks.length; + if (j) { + while (j--) { + clearTimeout(wrap.tasks[j]); + } + delete wrap.tasks; + } + + if (dom.detachEvent) { + dom.detachEvent('on' + bindName, wrap); + } else { + dom.removeEventListener(bindName, wrap, false); + } + + if (wrap && dom == doc && eventName == 'mousedown') { + EventManager.stoppedMouseDownEvent.removeListener(wrap); + } + + + Ext.Array.erase(cache, i, 1); + } + } + }, + + + removeAll : function(element) { + var el = element.dom ? element : Ext.get(element), + cache, events, eventName; + + if (!el) { + return; + } + cache = (el.$cache || el.getCache()); + events = cache.events; + + for (eventName in events) { + if (events.hasOwnProperty(eventName)) { + EventManager.removeListener(el, eventName); + } + } + cache.events = {}; + }, + + + purgeElement : function(element, eventName) { + var dom = Ext.getDom(element), + i = 0, len; + + if (eventName) { + EventManager.removeListener(element, eventName); + } + else { + EventManager.removeAll(element); + } + + if (dom && dom.childNodes) { + for (len = element.childNodes.length; i < len; i++) { + EventManager.purgeElement(element.childNodes[i], eventName); + } + } + }, + + + createListenerWrap : function(dom, ename, fn, scope, options) { + options = options || {}; + + var f, gen, escapeRx = /\\/g, wrap = function(e, args) { + + if (!gen) { + f = ['if(!' + Ext.name + ') {return;}']; + + if(options.buffer || options.delay || options.freezeEvent) { + f.push('e = new X.EventObjectImpl(e, ' + (options.freezeEvent ? 'true' : 'false' ) + ');'); + } else { + f.push('e = X.EventObject.setEvent(e);'); + } + + if (options.delegate) { + + + f.push('var result, t = e.getTarget("' + (options.delegate + '').replace(escapeRx, '\\\\') + '", this);'); + f.push('if(!t) {return;}'); + } else { + f.push('var t = e.target, result;'); + } + + if (options.target) { + f.push('if(e.target !== options.target) {return;}'); + } + + if(options.stopEvent) { + f.push('e.stopEvent();'); + } else { + if(options.preventDefault) { + f.push('e.preventDefault();'); + } + if(options.stopPropagation) { + f.push('e.stopPropagation();'); + } + } + + if(options.normalized === false) { + f.push('e = e.browserEvent;'); + } + + if(options.buffer) { + f.push('(wrap.task && clearTimeout(wrap.task));'); + f.push('wrap.task = setTimeout(function() {'); + } + + if(options.delay) { + f.push('wrap.tasks = wrap.tasks || [];'); + f.push('wrap.tasks.push(setTimeout(function() {'); + } + + + f.push('result = fn.call(scope || dom, e, t, options);'); + + if(options.single) { + f.push('evtMgr.removeListener(dom, ename, fn, scope);'); + } + + + + if (ename !== 'mousemove') { + f.push('if (evtMgr.idleEvent.listeners.length) {'); + f.push('evtMgr.idleEvent.fire();'); + f.push('}'); + } + + if(options.delay) { + f.push('}, ' + options.delay + '));'); + } + + if(options.buffer) { + f.push('}, ' + options.buffer + ');'); + } + f.push('return result;') + + gen = Ext.cacheableFunctionFactory('e', 'options', 'fn', 'scope', 'ename', 'dom', 'wrap', 'args', 'X', 'evtMgr', f.join('\n')); + } + + return gen.call(dom, e, options, fn, scope, ename, dom, wrap, args, Ext, EventManager); + }; + return wrap; + }, + + + getEventListenerCache : function(element, eventName) { + var elementCache, eventCache; + if (!element) { + return []; + } + + if (element.$cache) { + elementCache = element.$cache; + } else { + + elementCache = Ext.cache[EventManager.getId(element)]; + } + eventCache = elementCache.events || (elementCache.events = {}); + + return eventCache[eventName] || (eventCache[eventName] = []); + }, + + + mouseLeaveRe: /(mouseout|mouseleave)/, + mouseEnterRe: /(mouseover|mouseenter)/, + + + stopEvent: function(event) { + EventManager.stopPropagation(event); + EventManager.preventDefault(event); + }, + + + stopPropagation: function(event) { + event = event.browserEvent || event; + if (event.stopPropagation) { + event.stopPropagation(); + } else { + event.cancelBubble = true; + } + }, + + + preventDefault: function(event) { + event = event.browserEvent || event; + if (event.preventDefault) { + event.preventDefault(); + } else { + event.returnValue = false; + + try { + + if (event.ctrlKey || event.keyCode > 111 && event.keyCode < 124) { + event.keyCode = -1; + } + } catch (e) { + + } + } + }, + + + getRelatedTarget: function(event) { + event = event.browserEvent || event; + var target = event.relatedTarget; + if (!target) { + if (EventManager.mouseLeaveRe.test(event.type)) { + target = event.toElement; + } else if (EventManager.mouseEnterRe.test(event.type)) { + target = event.fromElement; + } + } + return EventManager.resolveTextNode(target); + }, + + + getPageX: function(event) { + return EventManager.getPageXY(event)[0]; + }, + + + getPageY: function(event) { + return EventManager.getPageXY(event)[1]; + }, + + + getPageXY: function(event) { + event = event.browserEvent || event; + var x = event.pageX, + y = event.pageY, + docEl = doc.documentElement, + body = doc.body; + + + if (!x && x !== 0) { + x = event.clientX + (docEl && docEl.scrollLeft || body && body.scrollLeft || 0) - (docEl && docEl.clientLeft || body && body.clientLeft || 0); + y = event.clientY + (docEl && docEl.scrollTop || body && body.scrollTop || 0) - (docEl && docEl.clientTop || body && body.clientTop || 0); + } + return [x, y]; + }, + + + getTarget: function(event) { + event = event.browserEvent || event; + return EventManager.resolveTextNode(event.target || event.srcElement); + }, + + + + + + resolveTextNode: Ext.isGecko ? + function(node) { + if (!node) { + return; + } + + var s = HTMLElement.prototype.toString.call(node); + if (s == '[xpconnect wrapped native prototype]' || s == '[object XULElement]') { + return; + } + return node.nodeType == 3 ? node.parentNode: node; + }: function(node) { + return node && node.nodeType == 3 ? node.parentNode: node; + }, + + + + + curWidth: 0, + curHeight: 0, + + + onWindowResize: function(fn, scope, options) { + var resize = EventManager.resizeEvent; + + if (!resize) { + EventManager.resizeEvent = resize = new Ext.util.Event(); + EventManager.on(win, 'resize', EventManager.fireResize, null, {buffer: 100}); + } + resize.addListener(fn, scope, options); + }, + + + fireResize: function() { + var w = Ext.Element.getViewWidth(), + h = Ext.Element.getViewHeight(); + + + if (EventManager.curHeight != h || EventManager.curWidth != w) { + EventManager.curHeight = h; + EventManager.curWidth = w; + EventManager.resizeEvent.fire(w, h); + } + }, + + + removeResizeListener: function(fn, scope) { + var resize = EventManager.resizeEvent; + if (resize) { + resize.removeListener(fn, scope); + } + }, + + + onWindowUnload: function(fn, scope, options) { + var unload = EventManager.unloadEvent; + + if (!unload) { + EventManager.unloadEvent = unload = new Ext.util.Event(); + EventManager.addListener(win, 'unload', EventManager.fireUnload); + } + if (fn) { + unload.addListener(fn, scope, options); + } + }, + + + fireUnload: function() { + + try { + + doc = win = undefined; + + var gridviews, i, ln, + el, cache; + + EventManager.unloadEvent.fire(); + + if (Ext.isGecko3) { + gridviews = Ext.ComponentQuery.query('gridview'); + i = 0; + ln = gridviews.length; + for (; i < ln; i++) { + gridviews[i].scrollToTop(); + } + } + + cache = Ext.cache; + + for (el in cache) { + if (cache.hasOwnProperty(el)) { + EventManager.removeAll(el); + } + } + } catch(e) { + } + }, + + + removeUnloadListener: function(fn, scope) { + var unload = EventManager.unloadEvent; + if (unload) { + unload.removeListener(fn, scope); + } + }, + + + useKeyDown: Ext.isWebKit ? + parseInt(navigator.userAgent.match(/AppleWebKit\/(\d+)/)[1], 10) >= 525 : + !((Ext.isGecko && !Ext.isWindows) || Ext.isOpera), + + + getKeyEvent: function() { + return EventManager.useKeyDown ? 'keydown' : 'keypress'; + } + }); + + + if(!('addEventListener' in document) && document.attachEvent) { + Ext.apply( EventManager, { + + + + pollScroll : function() { + var scrollable = true; + + try { + document.documentElement.doScroll('left'); + } catch(e) { + scrollable = false; + } + + + if (scrollable && document.body) { + EventManager.onReadyEvent({ + type:'doScroll' + }); + } else { + + EventManager.scrollTimeout = setTimeout(EventManager.pollScroll, 20); + } + + return scrollable; + }, + + + scrollTimeout: null, + + + readyStatesRe : /complete/i, + + + checkReadyState: function() { + var state = document.readyState; + + if (EventManager.readyStatesRe.test(state)) { + EventManager.onReadyEvent({ + type: state + }); + } + }, + + bindReadyEvent: function() { + var topContext = true; + + if (EventManager.hasBoundOnReady) { + return; + } + + + try { + topContext = window.frameElement === undefined; + } catch(e) { + + + topContext = false; + } + + if (!topContext || !doc.documentElement.doScroll) { + EventManager.pollScroll = Ext.emptyFn; + } + + + if (EventManager.pollScroll() === true) { + return; + } + + + if (doc.readyState == 'complete' ) { + EventManager.onReadyEvent({type: 'already ' + (doc.readyState || 'body') }); + } else { + doc.attachEvent('onreadystatechange', EventManager.checkReadyState); + window.attachEvent('onload', EventManager.onReadyEvent); + EventManager.hasBoundOnReady = true; + } + }, + + onReadyEvent : function(e) { + if (e && e.type) { + EventManager.onReadyChain.push(e.type); + } + + if (EventManager.hasBoundOnReady) { + document.detachEvent('onreadystatechange', EventManager.checkReadyState); + window.detachEvent('onload', EventManager.onReadyEvent); + } + + if (Ext.isNumber(EventManager.scrollTimeout)) { + clearTimeout(EventManager.scrollTimeout); + delete EventManager.scrollTimeout; + } + + if (!Ext.isReady) { + EventManager.fireDocReady(); + } + }, + + + onReadyChain : [] + }); + } + + + + Ext.onReady = function(fn, scope, options) { + Ext.Loader.onReady(fn, scope, true, options); + }; + + + Ext.onDocumentReady = EventManager.onDocumentReady; + + + EventManager.on = EventManager.addListener; + + + EventManager.un = EventManager.removeListener; + + Ext.onReady(initExtCss); +}; + +//@tag dom,core + +//@require EventManager.js + +//@define Ext.EventObject + + + +Ext.define('Ext.EventObjectImpl', { + uses: ['Ext.util.Point'], + + + BACKSPACE: 8, + + TAB: 9, + + NUM_CENTER: 12, + + ENTER: 13, + + RETURN: 13, + + SHIFT: 16, + + CTRL: 17, + + ALT: 18, + + PAUSE: 19, + + CAPS_LOCK: 20, + + ESC: 27, + + SPACE: 32, + + PAGE_UP: 33, + + PAGE_DOWN: 34, + + END: 35, + + HOME: 36, + + LEFT: 37, + + UP: 38, + + RIGHT: 39, + + DOWN: 40, + + PRINT_SCREEN: 44, + + INSERT: 45, + + DELETE: 46, + + ZERO: 48, + + ONE: 49, + + TWO: 50, + + THREE: 51, + + FOUR: 52, + + FIVE: 53, + + SIX: 54, + + SEVEN: 55, + + EIGHT: 56, + + NINE: 57, + + A: 65, + + B: 66, + + C: 67, + + D: 68, + + E: 69, + + F: 70, + + G: 71, + + H: 72, + + I: 73, + + J: 74, + + K: 75, + + L: 76, + + M: 77, + + N: 78, + + O: 79, + + P: 80, + + Q: 81, + + R: 82, + + S: 83, + + T: 84, + + U: 85, + + V: 86, + + W: 87, + + X: 88, + + Y: 89, + + Z: 90, + + CONTEXT_MENU: 93, + + NUM_ZERO: 96, + + NUM_ONE: 97, + + NUM_TWO: 98, + + NUM_THREE: 99, + + NUM_FOUR: 100, + + NUM_FIVE: 101, + + NUM_SIX: 102, + + NUM_SEVEN: 103, + + NUM_EIGHT: 104, + + NUM_NINE: 105, + + NUM_MULTIPLY: 106, + + NUM_PLUS: 107, + + NUM_MINUS: 109, + + NUM_PERIOD: 110, + + NUM_DIVISION: 111, + + F1: 112, + + F2: 113, + + F3: 114, + + F4: 115, + + F5: 116, + + F6: 117, + + F7: 118, + + F8: 119, + + F9: 120, + + F10: 121, + + F11: 122, + + F12: 123, + + WHEEL_SCALE: (function () { + var scale; + + if (Ext.isGecko) { + + scale = 3; + } else if (Ext.isMac) { + + + + + if (Ext.isSafari && Ext.webKitVersion >= 532.0) { + + + + + + + scale = 120; + } else { + + + scale = 12; + } + + + + + + scale *= 3; + } else { + + scale = 120; + } + + return scale; + }()), + + + clickRe: /(dbl)?click/, + + safariKeys: { + 3: 13, + 63234: 37, + 63235: 39, + 63232: 38, + 63233: 40, + 63276: 33, + 63277: 34, + 63272: 46, + 63273: 36, + 63275: 35 + }, + + btnMap: Ext.isIE ? { + 1: 0, + 4: 1, + 2: 2 + } : { + 0: 0, + 1: 1, + 2: 2 + }, + + + + + + constructor: function(event, freezeEvent){ + if (event) { + this.setEvent(event.browserEvent || event, freezeEvent); + } + }, + + setEvent: function(event, freezeEvent){ + var me = this, button, options; + + if (event == me || (event && event.browserEvent)) { + return event; + } + me.browserEvent = event; + if (event) { + + button = event.button ? me.btnMap[event.button] : (event.which ? event.which - 1 : -1); + if (me.clickRe.test(event.type) && button == -1) { + button = 0; + } + options = { + type: event.type, + button: button, + shiftKey: event.shiftKey, + + ctrlKey: event.ctrlKey || event.metaKey || false, + altKey: event.altKey, + + keyCode: event.keyCode, + charCode: event.charCode, + + target: Ext.EventManager.getTarget(event), + relatedTarget: Ext.EventManager.getRelatedTarget(event), + currentTarget: event.currentTarget, + xy: (freezeEvent ? me.getXY() : null) + }; + } else { + options = { + button: -1, + shiftKey: false, + ctrlKey: false, + altKey: false, + keyCode: 0, + charCode: 0, + target: null, + xy: [0, 0] + }; + } + Ext.apply(me, options); + return me; + }, + + + stopEvent: function(){ + this.stopPropagation(); + this.preventDefault(); + }, + + + preventDefault: function(){ + if (this.browserEvent) { + Ext.EventManager.preventDefault(this.browserEvent); + } + }, + + + stopPropagation: function(){ + var browserEvent = this.browserEvent; + + if (browserEvent) { + if (browserEvent.type == 'mousedown') { + Ext.EventManager.stoppedMouseDownEvent.fire(this); + } + Ext.EventManager.stopPropagation(browserEvent); + } + }, + + + getCharCode: function(){ + return this.charCode || this.keyCode; + }, + + + getKey: function(){ + return this.normalizeKey(this.keyCode || this.charCode); + }, + + + normalizeKey: function(key){ + + return Ext.isWebKit ? (this.safariKeys[key] || key) : key; + }, + + + getPageX: function(){ + return this.getX(); + }, + + + getPageY: function(){ + return this.getY(); + }, + + + getX: function() { + return this.getXY()[0]; + }, + + + getY: function() { + return this.getXY()[1]; + }, + + + getXY: function() { + if (!this.xy) { + + this.xy = Ext.EventManager.getPageXY(this.browserEvent); + } + return this.xy; + }, + + + getTarget : function(selector, maxDepth, returnEl){ + if (selector) { + return Ext.fly(this.target).findParent(selector, maxDepth, returnEl); + } + return returnEl ? Ext.get(this.target) : this.target; + }, + + + getRelatedTarget : function(selector, maxDepth, returnEl){ + if (selector) { + return Ext.fly(this.relatedTarget).findParent(selector, maxDepth, returnEl); + } + return returnEl ? Ext.get(this.relatedTarget) : this.relatedTarget; + }, + + + correctWheelDelta : function (delta) { + var scale = this.WHEEL_SCALE, + ret = Math.round(delta / scale); + + if (!ret && delta) { + ret = (delta < 0) ? -1 : 1; + } + + return ret; + }, + + + getWheelDeltas : function () { + var me = this, + event = me.browserEvent, + dx = 0, dy = 0; + + if (Ext.isDefined(event.wheelDeltaX)) { + dx = event.wheelDeltaX; + dy = event.wheelDeltaY; + } else if (event.wheelDelta) { + dy = event.wheelDelta; + } else if (event.detail) { + dy = -event.detail; + + + + if (dy > 100) { + dy = 3; + } else if (dy < -100) { + dy = -3; + } + + + + if (Ext.isDefined(event.axis) && event.axis === event.HORIZONTAL_AXIS) { + dx = dy; + dy = 0; + } + } + + return { + x: me.correctWheelDelta(dx), + y: me.correctWheelDelta(dy) + }; + }, + + + getWheelDelta : function(){ + var deltas = this.getWheelDeltas(); + + return deltas.y; + }, + + + within : function(el, related, allowEl){ + if(el){ + var t = related ? this.getRelatedTarget() : this.getTarget(), + result; + + if (t) { + result = Ext.fly(el).contains(t); + if (!result && allowEl) { + result = t == Ext.getDom(el); + } + return result; + } + } + return false; + }, + + + isNavKeyPress : function(){ + var me = this, + k = this.normalizeKey(me.keyCode); + + return (k >= 33 && k <= 40) || + k == me.RETURN || + k == me.TAB || + k == me.ESC; + }, + + + isSpecialKey : function(){ + var k = this.normalizeKey(this.keyCode); + return (this.type == 'keypress' && this.ctrlKey) || + this.isNavKeyPress() || + (k == this.BACKSPACE) || + (k >= 16 && k <= 20) || + (k >= 44 && k <= 46); + }, + + + getPoint : function(){ + var xy = this.getXY(); + return new Ext.util.Point(xy[0], xy[1]); + }, + + + hasModifier : function(){ + return this.ctrlKey || this.altKey || this.shiftKey || this.metaKey; + }, + + + injectEvent: (function () { + var API, + dispatchers = {}, + crazyIEButtons; + + + + + + + if (!Ext.isIE && document.createEvent) { + API = { + createHtmlEvent: function (doc, type, bubbles, cancelable) { + var event = doc.createEvent('HTMLEvents'); + + event.initEvent(type, bubbles, cancelable); + return event; + }, + + createMouseEvent: function (doc, type, bubbles, cancelable, detail, + clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, + button, relatedTarget) { + var event = doc.createEvent('MouseEvents'), + view = doc.defaultView || window; + + if (event.initMouseEvent) { + event.initMouseEvent(type, bubbles, cancelable, view, detail, + clientX, clientY, clientX, clientY, ctrlKey, altKey, + shiftKey, metaKey, button, relatedTarget); + } else { + event = doc.createEvent('UIEvents'); + event.initEvent(type, bubbles, cancelable); + event.view = view; + event.detail = detail; + event.screenX = clientX; + event.screenY = clientY; + event.clientX = clientX; + event.clientY = clientY; + event.ctrlKey = ctrlKey; + event.altKey = altKey; + event.metaKey = metaKey; + event.shiftKey = shiftKey; + event.button = button; + event.relatedTarget = relatedTarget; + } + + return event; + }, + + createUIEvent: function (doc, type, bubbles, cancelable, detail) { + var event = doc.createEvent('UIEvents'), + view = doc.defaultView || window; + + event.initUIEvent(type, bubbles, cancelable, view, detail); + return event; + }, + + fireEvent: function (target, type, event) { + target.dispatchEvent(event); + }, + + fixTarget: function (target) { + + if (target == window && !target.dispatchEvent) { + return document; + } + + return target; + } + }; + } else if (document.createEventObject) { + crazyIEButtons = { 0: 1, 1: 4, 2: 2 }; + + API = { + createHtmlEvent: function (doc, type, bubbles, cancelable) { + var event = doc.createEventObject(); + event.bubbles = bubbles; + event.cancelable = cancelable; + return event; + }, + + createMouseEvent: function (doc, type, bubbles, cancelable, detail, + clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, + button, relatedTarget) { + var event = doc.createEventObject(); + event.bubbles = bubbles; + event.cancelable = cancelable; + event.detail = detail; + event.screenX = clientX; + event.screenY = clientY; + event.clientX = clientX; + event.clientY = clientY; + event.ctrlKey = ctrlKey; + event.altKey = altKey; + event.shiftKey = shiftKey; + event.metaKey = metaKey; + event.button = crazyIEButtons[button] || button; + event.relatedTarget = relatedTarget; + return event; + }, + + createUIEvent: function (doc, type, bubbles, cancelable, detail) { + var event = doc.createEventObject(); + event.bubbles = bubbles; + event.cancelable = cancelable; + return event; + }, + + fireEvent: function (target, type, event) { + target.fireEvent('on' + type, event); + }, + + fixTarget: function (target) { + if (target == document) { + + + return document.documentElement; + } + + return target; + } + }; + } + + + + + Ext.Object.each({ + load: [false, false], + unload: [false, false], + select: [true, false], + change: [true, false], + submit: [true, true], + reset: [true, false], + resize: [true, false], + scroll: [true, false] + }, + function (name, value) { + var bubbles = value[0], cancelable = value[1]; + dispatchers[name] = function (targetEl, srcEvent) { + var e = API.createHtmlEvent(name, bubbles, cancelable); + API.fireEvent(targetEl, name, e); + }; + }); + + + + + function createMouseEventDispatcher (type, detail) { + var cancelable = (type != 'mousemove'); + return function (targetEl, srcEvent) { + var xy = srcEvent.getXY(), + e = API.createMouseEvent(targetEl.ownerDocument, type, true, cancelable, + detail, xy[0], xy[1], srcEvent.ctrlKey, srcEvent.altKey, + srcEvent.shiftKey, srcEvent.metaKey, srcEvent.button, + srcEvent.relatedTarget); + API.fireEvent(targetEl, type, e); + }; + } + + Ext.each(['click', 'dblclick', 'mousedown', 'mouseup', 'mouseover', 'mousemove', 'mouseout'], + function (eventName) { + dispatchers[eventName] = createMouseEventDispatcher(eventName, 1); + }); + + + + + Ext.Object.each({ + focusin: [true, false], + focusout: [true, false], + activate: [true, true], + focus: [false, false], + blur: [false, false] + }, + function (name, value) { + var bubbles = value[0], cancelable = value[1]; + dispatchers[name] = function (targetEl, srcEvent) { + var e = API.createUIEvent(targetEl.ownerDocument, name, bubbles, cancelable, 1); + API.fireEvent(targetEl, name, e); + }; + }); + + + if (!API) { + + + dispatchers = {}; + + API = { + fixTarget: function (t) { + return t; + } + }; + } + + function cannotInject (target, srcEvent) { + } + + return function (target) { + var me = this, + dispatcher = dispatchers[me.type] || cannotInject, + t = target ? (target.dom || target) : me.getTarget(); + + t = API.fixTarget(t); + dispatcher(t, me); + }; + }()) + +}, function() { + +Ext.EventObject = new Ext.EventObjectImpl(); + +}); + + +//@tag dom,core + +//@require ../EventObject.js + + + +Ext.define('Ext.dom.AbstractQuery', { + + select: function(q, root) { + var results = [], + nodes, + i, + j, + qlen, + nlen; + + root = root || document; + + if (typeof root == 'string') { + root = document.getElementById(root); + } + + q = q.split(","); + + for (i = 0,qlen = q.length; i < qlen; i++) { + if (typeof q[i] == 'string') { + + + if (typeof q[i][0] == '@') { + nodes = root.getAttributeNode(q[i].substring(1)); + results.push(nodes); + } else { + nodes = root.querySelectorAll(q[i]); + + for (j = 0,nlen = nodes.length; j < nlen; j++) { + results.push(nodes[j]); + } + } + } + } + + return results; + }, + + + selectNode: function(q, root) { + return this.select(q, root)[0]; + }, + + + is: function(el, q) { + if (typeof el == "string") { + el = document.getElementById(el); + } + return this.select(q).indexOf(el) !== -1; + } + +}); + +//@tag dom,core + +//@require AbstractQuery.js + + + +Ext.define('Ext.dom.AbstractHelper', { + emptyTags : /^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i, + confRe : /(?:tag|children|cn|html|tpl|tplData)$/i, + endRe : /end/i, + + + attributeTransform: { cls : 'class', htmlFor : 'for' }, + + closeTags: {}, + + decamelizeName : (function () { + var camelCaseRe = /([a-z])([A-Z])/g, + cache = {}; + + function decamel (match, p1, p2) { + return p1 + '-' + p2.toLowerCase(); + } + + return function (s) { + return cache[s] || (cache[s] = s.replace(camelCaseRe, decamel)); + }; + }()), + + generateMarkup: function(spec, buffer) { + var me = this, + attr, val, tag, i, closeTags; + + if (typeof spec == "string") { + buffer.push(spec); + } else if (Ext.isArray(spec)) { + for (i = 0; i < spec.length; i++) { + if (spec[i]) { + me.generateMarkup(spec[i], buffer); + } + } + } else { + tag = spec.tag || 'div'; + buffer.push('<', tag); + + for (attr in spec) { + if (spec.hasOwnProperty(attr)) { + val = spec[attr]; + if (!me.confRe.test(attr)) { + if (typeof val == "object") { + buffer.push(' ', attr, '="'); + me.generateStyles(val, buffer).push('"'); + } else { + buffer.push(' ', me.attributeTransform[attr] || attr, '="', val, '"'); + } + } + } + } + + + if (me.emptyTags.test(tag)) { + buffer.push('/>'); + } else { + buffer.push('>'); + + + if ((val = spec.tpl)) { + val.applyOut(spec.tplData, buffer); + } + if ((val = spec.html)) { + buffer.push(val); + } + if ((val = spec.cn || spec.children)) { + me.generateMarkup(val, buffer); + } + + + closeTags = me.closeTags; + buffer.push(closeTags[tag] || (closeTags[tag] = '')); + } + } + + return buffer; + }, + + + generateStyles: function (styles, buffer) { + var a = buffer || [], + name; + + for (name in styles) { + if (styles.hasOwnProperty(name)) { + a.push(this.decamelizeName(name), ':', styles[name], ';'); + } + } + + return buffer || a.join(''); + }, + + + markup: function(spec) { + if (typeof spec == "string") { + return spec; + } + + var buf = this.generateMarkup(spec, []); + return buf.join(''); + }, + + + applyStyles: function(el, styles) { + if (styles) { + var i = 0, + len, + style; + + el = Ext.fly(el); + if (typeof styles == 'function') { + styles = styles.call(); + } + if (typeof styles == 'string'){ + styles = Ext.util.Format.trim(styles).split(/\s*(?::|;)\s*/); + for(len = styles.length; i < len;){ + el.setStyle(styles[i++], styles[i++]); + } + } else if (Ext.isObject(styles)) { + el.setStyle(styles); + } + } + }, + + + insertHtml: function(where, el, html) { + var hash = {}, + hashVal, + setStart, + range, + frag, + rangeEl, + rs; + + where = where.toLowerCase(); + + + hash['beforebegin'] = ['BeforeBegin', 'previousSibling']; + hash['afterend'] = ['AfterEnd', 'nextSibling']; + + range = el.ownerDocument.createRange(); + setStart = 'setStart' + (this.endRe.test(where) ? 'After' : 'Before'); + if (hash[where]) { + range[setStart](el); + frag = range.createContextualFragment(html); + el.parentNode.insertBefore(frag, where == 'beforebegin' ? el : el.nextSibling); + return el[(where == 'beforebegin' ? 'previous' : 'next') + 'Sibling']; + } + else { + rangeEl = (where == 'afterbegin' ? 'first' : 'last') + 'Child'; + if (el.firstChild) { + range[setStart](el[rangeEl]); + frag = range.createContextualFragment(html); + if (where == 'afterbegin') { + el.insertBefore(frag, el.firstChild); + } + else { + el.appendChild(frag); + } + } + else { + el.innerHTML = html; + } + return el[rangeEl]; + } + + throw 'Illegal insertion point -> "' + where + '"'; + }, + + + insertBefore: function(el, o, returnElement) { + return this.doInsert(el, o, returnElement, 'beforebegin'); + }, + + + insertAfter: function(el, o, returnElement) { + return this.doInsert(el, o, returnElement, 'afterend', 'nextSibling'); + }, + + + insertFirst: function(el, o, returnElement) { + return this.doInsert(el, o, returnElement, 'afterbegin', 'firstChild'); + }, + + + append: function(el, o, returnElement) { + return this.doInsert(el, o, returnElement, 'beforeend', '', true); + }, + + + overwrite: function(el, o, returnElement) { + el = Ext.getDom(el); + el.innerHTML = this.markup(o); + return returnElement ? Ext.get(el.firstChild) : el.firstChild; + }, + + doInsert: function(el, o, returnElement, pos, sibling, append) { + var newNode = this.insertHtml(pos, Ext.getDom(el), this.markup(o)); + return returnElement ? Ext.get(newNode, true) : newNode; + } + +}); + +//@tag dom,core + +//@require AbstractHelper.js + +//@require Ext.Supports + +//@require Ext.EventManager + +//@define Ext.dom.AbstractElement + + + +(function() { + +var document = window.document, + trimRe = /^\s+|\s+$/g, + whitespaceRe = /\s/; + +if (!Ext.cache){ + Ext.cache = {}; +} + +Ext.define('Ext.dom.AbstractElement', { + + inheritableStatics: { + + + get: function(el) { + var me = this, + El = Ext.dom.Element, + cacheItem, + extEl, + dom, + id; + + if (!el) { + return null; + } + + if (typeof el == "string") { + if (el == Ext.windowId) { + return El.get(window); + } else if (el == Ext.documentId) { + return El.get(document); + } + + cacheItem = Ext.cache[el]; + + + + + if (cacheItem && cacheItem.skipGarbageCollection) { + extEl = cacheItem.el; + return extEl; + } + + if (!(dom = document.getElementById(el))) { + return null; + } + + if (cacheItem && cacheItem.el) { + extEl = Ext.updateCacheEntry(cacheItem, dom).el; + } else { + + extEl = new El(dom, !!cacheItem); + } + return extEl; + } else if (el.tagName) { + if (!(id = el.id)) { + id = Ext.id(el); + } + cacheItem = Ext.cache[id]; + if (cacheItem && cacheItem.el) { + extEl = Ext.updateCacheEntry(cacheItem, el).el; + } else { + + extEl = new El(el, !!cacheItem); + } + return extEl; + } else if (el instanceof me) { + if (el != me.docEl && el != me.winEl) { + id = el.id; + + + cacheItem = Ext.cache[id]; + if (cacheItem) { + Ext.updateCacheEntry(cacheItem, document.getElementById(id) || el.dom); + } + } + return el; + } else if (el.isComposite) { + return el; + } else if (Ext.isArray(el)) { + return me.select(el); + } else if (el === document) { + + if (!me.docEl) { + me.docEl = Ext.Object.chain(El.prototype); + me.docEl.dom = document; + me.docEl.id = Ext.id(document); + me.addToCache(me.docEl); + } + return me.docEl; + } else if (el === window) { + if (!me.winEl) { + me.winEl = Ext.Object.chain(El.prototype); + me.winEl.dom = window; + me.winEl.id = Ext.id(window); + me.addToCache(me.winEl); + } + return me.winEl; + } + return null; + }, + + addToCache: function(el, id) { + if (el) { + Ext.addCacheEntry(id, el); + } + return el; + }, + + addMethods: function() { + this.override.apply(this, arguments); + }, + + + mergeClsList: function() { + var clsList, clsHash = {}, + i, length, j, listLength, clsName, result = [], + changed = false; + + for (i = 0, length = arguments.length; i < length; i++) { + clsList = arguments[i]; + if (Ext.isString(clsList)) { + clsList = clsList.replace(trimRe, '').split(whitespaceRe); + } + if (clsList) { + for (j = 0, listLength = clsList.length; j < listLength; j++) { + clsName = clsList[j]; + if (!clsHash[clsName]) { + if (i) { + changed = true; + } + clsHash[clsName] = true; + } + } + } + } + + for (clsName in clsHash) { + result.push(clsName); + } + result.changed = changed; + return result; + }, + + + removeCls: function(existingClsList, removeClsList) { + var clsHash = {}, + i, length, clsName, result = [], + changed = false; + + if (existingClsList) { + if (Ext.isString(existingClsList)) { + existingClsList = existingClsList.replace(trimRe, '').split(whitespaceRe); + } + for (i = 0, length = existingClsList.length; i < length; i++) { + clsHash[existingClsList[i]] = true; + } + } + if (removeClsList) { + if (Ext.isString(removeClsList)) { + removeClsList = removeClsList.split(whitespaceRe); + } + for (i = 0, length = removeClsList.length; i < length; i++) { + clsName = removeClsList[i]; + if (clsHash[clsName]) { + changed = true; + delete clsHash[clsName]; + } + } + } + for (clsName in clsHash) { + result.push(clsName); + } + result.changed = changed; + return result; + }, + + + VISIBILITY: 1, + + + DISPLAY: 2, + + + OFFSETS: 3, + + + ASCLASS: 4 + }, + + constructor: function(element, forceNew) { + var me = this, + dom = typeof element == 'string' + ? document.getElementById(element) + : element, + id; + + if (!dom) { + return null; + } + + id = dom.id; + if (!forceNew && id && Ext.cache[id]) { + + return Ext.cache[id].el; + } + + + me.dom = dom; + + + me.id = id || Ext.id(dom); + + me.self.addToCache(me); + }, + + + set: function(o, useSet) { + var el = this.dom, + attr, + value; + + for (attr in o) { + if (o.hasOwnProperty(attr)) { + value = o[attr]; + if (attr == 'style') { + this.applyStyles(value); + } + else if (attr == 'cls') { + el.className = value; + } + else if (useSet !== false) { + if (value === undefined) { + el.removeAttribute(attr); + } else { + el.setAttribute(attr, value); + } + } + else { + el[attr] = value; + } + } + } + return this; + }, + + + defaultUnit: "px", + + + is: function(simpleSelector) { + return Ext.DomQuery.is(this.dom, simpleSelector); + }, + + + getValue: function(asNumber) { + var val = this.dom.value; + return asNumber ? parseInt(val, 10) : val; + }, + + + remove: function() { + var me = this, + dom = me.dom; + + if (dom) { + Ext.removeNode(dom); + delete me.dom; + } + }, + + + contains: function(el) { + if (!el) { + return false; + } + + var me = this, + dom = el.dom || el; + + + return (dom === me.dom) || Ext.dom.AbstractElement.isAncestor(me.dom, dom); + }, + + + getAttribute: function(name, ns) { + var dom = this.dom; + return dom.getAttributeNS(ns, name) || dom.getAttribute(ns + ":" + name) || dom.getAttribute(name) || dom[name]; + }, + + + update: function(html) { + if (this.dom) { + this.dom.innerHTML = html; + } + return this; + }, + + + + setHTML: function(html) { + if(this.dom) { + this.dom.innerHTML = html; + } + return this; + }, + + + getHTML: function() { + return this.dom ? this.dom.innerHTML : ''; + }, + + + hide: function() { + this.setVisible(false); + return this; + }, + + + show: function() { + this.setVisible(true); + return this; + }, + + + setVisible: function(visible, animate) { + var me = this, + statics = me.self, + mode = me.getVisibilityMode(), + prefix = Ext.baseCSSPrefix; + + switch (mode) { + case statics.VISIBILITY: + me.removeCls([prefix + 'hidden-display', prefix + 'hidden-offsets']); + me[visible ? 'removeCls' : 'addCls'](prefix + 'hidden-visibility'); + break; + + case statics.DISPLAY: + me.removeCls([prefix + 'hidden-visibility', prefix + 'hidden-offsets']); + me[visible ? 'removeCls' : 'addCls'](prefix + 'hidden-display'); + break; + + case statics.OFFSETS: + me.removeCls([prefix + 'hidden-visibility', prefix + 'hidden-display']); + me[visible ? 'removeCls' : 'addCls'](prefix + 'hidden-offsets'); + break; + } + + return me; + }, + + getVisibilityMode: function() { + + + + var data = (this.$cache || this.getCache()).data, + visMode = data.visibilityMode; + + if (visMode === undefined) { + data.visibilityMode = visMode = this.self.DISPLAY; + } + + return visMode; + }, + + + setVisibilityMode: function(mode) { + (this.$cache || this.getCache()).data.visibilityMode = mode; + return this; + }, + + getCache: function() { + var me = this, + id = me.dom.id || Ext.id(me.dom); + + + + + me.$cache = Ext.cache[id] || Ext.addCacheEntry(id, null, me.dom); + + return me.$cache; + } + +}, function() { + var AbstractElement = this; + + + Ext.getDetachedBody = function () { + var detachedEl = AbstractElement.detachedBodyEl; + + if (!detachedEl) { + detachedEl = document.createElement('div'); + AbstractElement.detachedBodyEl = detachedEl = new AbstractElement.Fly(detachedEl); + detachedEl.isDetachedBody = true; + } + + return detachedEl; + }; + + + Ext.getElementById = function (id) { + var el = document.getElementById(id), + detachedBodyEl; + + if (!el && (detachedBodyEl = AbstractElement.detachedBodyEl)) { + el = detachedBodyEl.dom.querySelector('#' + Ext.escapeId(id)); + } + + return el; + }; + + + Ext.get = function(el) { + return Ext.dom.Element.get(el); + }; + + this.addStatics({ + + Fly: new Ext.Class({ + extend: AbstractElement, + + + isFly: true, + + constructor: function(dom) { + this.dom = dom; + }, + + + attach: function (dom) { + + + this.dom = dom; + + + this.$cache = dom.id ? Ext.cache[dom.id] : null; + return this; + } + }), + + _flyweights: {}, + + + fly: function(dom, named) { + var fly = null, + _flyweights = AbstractElement._flyweights; + + named = named || '_global'; + + dom = Ext.getDom(dom); + + if (dom) { + fly = _flyweights[named] || (_flyweights[named] = new AbstractElement.Fly()); + + + + fly.dom = dom; + + + fly.$cache = dom.id ? Ext.cache[dom.id] : null; + } + return fly; + } + }); + + + Ext.fly = function() { + return AbstractElement.fly.apply(AbstractElement, arguments); + }; + + (function (proto) { + + proto.destroy = proto.remove; + + + if (document.querySelector) { + proto.getById = function (id, asDom) { + + + var dom = document.getElementById(id) || + this.dom.querySelector('#'+Ext.escapeId(id)); + return asDom ? dom : (dom ? Ext.get(dom) : null); + }; + } else { + proto.getById = function (id, asDom) { + var dom = document.getElementById(id); + return asDom ? dom : (dom ? Ext.get(dom) : null); + }; + } + }(this.prototype)); +}); + +}()); + +//@tag dom,core + +//@require AbstractElement.js + +//@define Ext.dom.AbstractElement-static + +//@define Ext.dom.AbstractElement + + + +Ext.dom.AbstractElement.addInheritableStatics({ + unitRe: /\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i, + camelRe: /(-[a-z])/gi, + cssRe: /([a-z0-9\-]+)\s*:\s*([^;\s]+(?:\s*[^;\s]+)*);?/gi, + opacityRe: /alpha\(opacity=(.*)\)/i, + propertyCache: {}, + defaultUnit : "px", + borders: {l: 'border-left-width', r: 'border-right-width', t: 'border-top-width', b: 'border-bottom-width'}, + paddings: {l: 'padding-left', r: 'padding-right', t: 'padding-top', b: 'padding-bottom'}, + margins: {l: 'margin-left', r: 'margin-right', t: 'margin-top', b: 'margin-bottom'}, + + addUnits: function(size, units) { + + if (typeof size == 'number') { + return size + (units || this.defaultUnit || 'px'); + } + + + if (size === "" || size == "auto" || size === undefined || size === null) { + return size || ''; + } + + + if (!this.unitRe.test(size)) { + return size || ''; + } + + return size; + }, + + + isAncestor: function(p, c) { + var ret = false; + + p = Ext.getDom(p); + c = Ext.getDom(c); + if (p && c) { + if (p.contains) { + return p.contains(c); + } else if (p.compareDocumentPosition) { + return !!(p.compareDocumentPosition(c) & 16); + } else { + while ((c = c.parentNode)) { + ret = c == p || ret; + } + } + } + return ret; + }, + + + parseBox: function(box) { + if (typeof box != 'string') { + box = box.toString(); + } + var parts = box.split(' '), + ln = parts.length; + + if (ln == 1) { + parts[1] = parts[2] = parts[3] = parts[0]; + } + else if (ln == 2) { + parts[2] = parts[0]; + parts[3] = parts[1]; + } + else if (ln == 3) { + parts[3] = parts[1]; + } + + return { + top :parseFloat(parts[0]) || 0, + right :parseFloat(parts[1]) || 0, + bottom:parseFloat(parts[2]) || 0, + left :parseFloat(parts[3]) || 0 + }; + }, + + + unitizeBox: function(box, units) { + var a = this.addUnits, + b = this.parseBox(box); + + return a(b.top, units) + ' ' + + a(b.right, units) + ' ' + + a(b.bottom, units) + ' ' + + a(b.left, units); + + }, + + + camelReplaceFn: function(m, a) { + return a.charAt(1).toUpperCase(); + }, + + + normalize: function(prop) { + + if (prop == 'float') { + prop = Ext.supports.Float ? 'cssFloat' : 'styleFloat'; + } + return this.propertyCache[prop] || (this.propertyCache[prop] = prop.replace(this.camelRe, this.camelReplaceFn)); + }, + + + getDocumentHeight: function() { + return Math.max(!Ext.isStrict ? document.body.scrollHeight : document.documentElement.scrollHeight, this.getViewportHeight()); + }, + + + getDocumentWidth: function() { + return Math.max(!Ext.isStrict ? document.body.scrollWidth : document.documentElement.scrollWidth, this.getViewportWidth()); + }, + + + getViewportHeight: function(){ + return window.innerHeight; + }, + + + getViewportWidth: function() { + return window.innerWidth; + }, + + + getViewSize: function() { + return { + width: window.innerWidth, + height: window.innerHeight + }; + }, + + + getOrientation: function() { + if (Ext.supports.OrientationChange) { + return (window.orientation == 0) ? 'portrait' : 'landscape'; + } + + return (window.innerHeight > window.innerWidth) ? 'portrait' : 'landscape'; + }, + + + fromPoint: function(x, y) { + return Ext.get(document.elementFromPoint(x, y)); + }, + + + parseStyles: function(styles){ + var out = {}, + cssRe = this.cssRe, + matches; + + if (styles) { + + + + + cssRe.lastIndex = 0; + while ((matches = cssRe.exec(styles))) { + out[matches[1]] = matches[2]; + } + } + return out; + } +}); + + +(function(){ + var doc = document, + AbstractElement = Ext.dom.AbstractElement, + activeElement = null, + isCSS1 = doc.compatMode == "CSS1Compat", + flyInstance, + fly = function (el) { + if (!flyInstance) { + flyInstance = new AbstractElement.Fly(); + } + flyInstance.attach(el); + return flyInstance; + }; + + + + + if (!('activeElement' in doc) && doc.addEventListener) { + doc.addEventListener('focus', + function (ev) { + if (ev && ev.target) { + activeElement = (ev.target == doc) ? null : ev.target; + } + }, true); + } + + + function makeSelectionRestoreFn (activeEl, start, end) { + return function () { + activeEl.selectionStart = start; + activeEl.selectionEnd = end; + }; + } + + AbstractElement.addInheritableStatics({ + + getActiveElement: function () { + return doc.activeElement || activeElement; + }, + + + getRightMarginFixCleaner: function (target) { + var supports = Ext.supports, + hasInputBug = supports.DisplayChangeInputSelectionBug, + hasTextAreaBug = supports.DisplayChangeTextAreaSelectionBug, + activeEl, + tag, + start, + end; + + if (hasInputBug || hasTextAreaBug) { + activeEl = doc.activeElement || activeElement; + tag = activeEl && activeEl.tagName; + + if ((hasTextAreaBug && tag == 'TEXTAREA') || + (hasInputBug && tag == 'INPUT' && activeEl.type == 'text')) { + if (Ext.dom.Element.isAncestor(target, activeEl)) { + start = activeEl.selectionStart; + end = activeEl.selectionEnd; + + if (Ext.isNumber(start) && Ext.isNumber(end)) { + + + + + return makeSelectionRestoreFn(activeEl, start, end); + } + } + } + } + + return Ext.emptyFn; + }, + + getViewWidth: function(full) { + return full ? Ext.dom.Element.getDocumentWidth() : Ext.dom.Element.getViewportWidth(); + }, + + getViewHeight: function(full) { + return full ? Ext.dom.Element.getDocumentHeight() : Ext.dom.Element.getViewportHeight(); + }, + + getDocumentHeight: function() { + return Math.max(!isCSS1 ? doc.body.scrollHeight : doc.documentElement.scrollHeight, Ext.dom.Element.getViewportHeight()); + }, + + getDocumentWidth: function() { + return Math.max(!isCSS1 ? doc.body.scrollWidth : doc.documentElement.scrollWidth, Ext.dom.Element.getViewportWidth()); + }, + + getViewportHeight: function(){ + return Ext.isIE ? + (Ext.isStrict ? doc.documentElement.clientHeight : doc.body.clientHeight) : + self.innerHeight; + }, + + getViewportWidth: function() { + return (!Ext.isStrict && !Ext.isOpera) ? doc.body.clientWidth : + Ext.isIE ? doc.documentElement.clientWidth : self.innerWidth; + }, + + getY: function(el) { + return Ext.dom.Element.getXY(el)[1]; + }, + + getX: function(el) { + return Ext.dom.Element.getXY(el)[0]; + }, + + getXY: function(el) { + var bd = doc.body, + docEl = doc.documentElement, + leftBorder = 0, + topBorder = 0, + ret = [0,0], + round = Math.round, + box, + scroll; + + el = Ext.getDom(el); + + if(el != doc && el != bd){ + + + if (Ext.isIE) { + try { + box = el.getBoundingClientRect(); + + topBorder = docEl.clientTop || bd.clientTop; + leftBorder = docEl.clientLeft || bd.clientLeft; + } catch (ex) { + box = { left: 0, top: 0 }; + } + } else { + box = el.getBoundingClientRect(); + } + + scroll = fly(document).getScroll(); + ret = [round(box.left + scroll.left - leftBorder), round(box.top + scroll.top - topBorder)]; + } + return ret; + }, + + setXY: function(el, xy) { + (el = Ext.fly(el, '_setXY')).position(); + + var pts = el.translatePoints(xy), + style = el.dom.style, + pos; + + for (pos in pts) { + if (!isNaN(pts[pos])) { + style[pos] = pts[pos] + "px"; + } + } + }, + + setX: function(el, x) { + Ext.dom.Element.setXY(el, [x, false]); + }, + + setY: function(el, y) { + Ext.dom.Element.setXY(el, [false, y]); + }, + + + serializeForm: function(form) { + var fElements = form.elements || (document.forms[form] || Ext.getDom(form)).elements, + hasSubmit = false, + encoder = encodeURIComponent, + data = '', + eLen = fElements.length, + element, name, type, options, hasValue, e, + o, oLen, opt; + + for (e = 0; e < eLen; e++) { + element = fElements[e]; + name = element.name; + type = element.type; + options = element.options; + + if (!element.disabled && name) { + if (/select-(one|multiple)/i.test(type)) { + oLen = options.length; + for (o = 0; o < oLen; o++) { + opt = options[o]; + if (opt.selected) { + hasValue = opt.hasAttribute ? opt.hasAttribute('value') : opt.getAttributeNode('value').specified; + data += Ext.String.format("{0}={1}&", encoder(name), encoder(hasValue ? opt.value : opt.text)); + } + } + } else if (!(/file|undefined|reset|button/i.test(type))) { + if (!(/radio|checkbox/i.test(type) && !element.checked) && !(type == 'submit' && hasSubmit)) { + data += encoder(name) + '=' + encoder(element.value) + '&'; + hasSubmit = /submit/i.test(type); + } + } + } + } + return data.substr(0, data.length - 1); + } + }); +}()); + +//@tag dom,core + +//@require Ext.dom.AbstractElement-static + +//@define Ext.dom.AbstractElement-alignment + + + +Ext.dom.AbstractElement.override({ + + + getAnchorXY: function(anchor, local, size) { + + + anchor = (anchor || "tl").toLowerCase(); + size = size || {}; + + var me = this, + vp = me.dom == document.body || me.dom == document, + width = size.width || vp ? window.innerWidth: me.getWidth(), + height = size.height || vp ? window.innerHeight: me.getHeight(), + xy, + rnd = Math.round, + myXY = me.getXY(), + extraX = vp ? 0: !local ? myXY[0] : 0, + extraY = vp ? 0: !local ? myXY[1] : 0, + hash = { + c: [rnd(width * 0.5), rnd(height * 0.5)], + t: [rnd(width * 0.5), 0], + l: [0, rnd(height * 0.5)], + r: [width, rnd(height * 0.5)], + b: [rnd(width * 0.5), height], + tl: [0, 0], + bl: [0, height], + br: [width, height], + tr: [width, 0] + }; + + xy = hash[anchor]; + return [xy[0] + extraX, xy[1] + extraY]; + }, + + alignToRe: /^([a-z]+)-([a-z]+)(\?)?$/, + + + getAlignToXY: function(el, position, offsets, local) { + local = !!local; + el = Ext.get(el); + + offsets = offsets || [0, 0]; + + if (!position || position == '?') { + position = 'tl-bl?'; + } + else if (! (/-/).test(position) && position !== "") { + position = 'tl-' + position; + } + position = position.toLowerCase(); + + var me = this, + matches = position.match(this.alignToRe), + dw = window.innerWidth, + dh = window.innerHeight, + p1 = "", + p2 = "", + a1, + a2, + x, + y, + swapX, + swapY, + p1x, + p1y, + p2x, + p2y, + width, + height, + region, + constrain; + + if (!matches) { + throw "Element.alignTo with an invalid alignment " + position; + } + + p1 = matches[1]; + p2 = matches[2]; + constrain = !!matches[3]; + + + + a1 = me.getAnchorXY(p1, true); + a2 = el.getAnchorXY(p2, local); + + x = a2[0] - a1[0] + offsets[0]; + y = a2[1] - a1[1] + offsets[1]; + + if (constrain) { + width = me.getWidth(); + height = me.getHeight(); + + region = el.getPageBox(); + + + + + p1y = p1.charAt(0); + p1x = p1.charAt(p1.length - 1); + p2y = p2.charAt(0); + p2x = p2.charAt(p2.length - 1); + + swapY = ((p1y == "t" && p2y == "b") || (p1y == "b" && p2y == "t")); + swapX = ((p1x == "r" && p2x == "l") || (p1x == "l" && p2x == "r")); + + if (x + width > dw) { + x = swapX ? region.left - width: dw - width; + } + if (x < 0) { + x = swapX ? region.right: 0; + } + if (y + height > dh) { + y = swapY ? region.top - height: dh - height; + } + if (y < 0) { + y = swapY ? region.bottom: 0; + } + } + + return [x, y]; + }, + + + getAnchor: function(){ + var data = (this.$cache || this.getCache()).data, + anchor; + + if (!this.dom) { + return; + } + anchor = data._anchor; + + if(!anchor){ + anchor = data._anchor = {}; + } + return anchor; + }, + + + adjustForConstraints: function(xy, parent) { + var vector = this.getConstrainVector(parent, xy); + if (vector) { + xy[0] += vector[0]; + xy[1] += vector[1]; + } + return xy; + } + +}); + +//@tag dom,core + +//@require Ext.dom.AbstractElement-alignment + +//@define Ext.dom.AbstractElement-insertion + +//@define Ext.dom.AbstractElement + + + +Ext.dom.AbstractElement.addMethods({ + + appendChild: function(el) { + return Ext.get(el).appendTo(this); + }, + + + appendTo: function(el) { + Ext.getDom(el).appendChild(this.dom); + return this; + }, + + + insertBefore: function(el) { + el = Ext.getDom(el); + el.parentNode.insertBefore(this.dom, el); + return this; + }, + + + insertAfter: function(el) { + el = Ext.getDom(el); + el.parentNode.insertBefore(this.dom, el.nextSibling); + return this; + }, + + + insertFirst: function(el, returnDom) { + el = el || {}; + if (el.nodeType || el.dom || typeof el == 'string') { + el = Ext.getDom(el); + this.dom.insertBefore(el, this.dom.firstChild); + return !returnDom ? Ext.get(el) : el; + } + else { + return this.createChild(el, this.dom.firstChild, returnDom); + } + }, + + + insertSibling: function(el, where, returnDom){ + var me = this, + isAfter = (where || 'before').toLowerCase() == 'after', + rt, insertEl, eLen, e; + + if (Ext.isArray(el)) { + insertEl = me; + eLen = el.length; + + for (e = 0; e < eLen; e++) { + rt = Ext.fly(insertEl, '_internal').insertSibling(el[e], where, returnDom); + + if (isAfter) { + insertEl = rt; + } + } + + return rt; + } + + el = el || {}; + + if(el.nodeType || el.dom){ + rt = me.dom.parentNode.insertBefore(Ext.getDom(el), isAfter ? me.dom.nextSibling : me.dom); + if (!returnDom) { + rt = Ext.get(rt); + } + }else{ + if (isAfter && !me.dom.nextSibling) { + rt = Ext.core.DomHelper.append(me.dom.parentNode, el, !returnDom); + } else { + rt = Ext.core.DomHelper[isAfter ? 'insertAfter' : 'insertBefore'](me.dom, el, !returnDom); + } + } + return rt; + }, + + + replace: function(el) { + el = Ext.get(el); + this.insertBefore(el); + el.remove(); + return this; + }, + + + replaceWith: function(el){ + var me = this; + + if(el.nodeType || el.dom || typeof el == 'string'){ + el = Ext.get(el); + me.dom.parentNode.insertBefore(el, me.dom); + }else{ + el = Ext.core.DomHelper.insertBefore(me.dom, el); + } + + delete Ext.cache[me.id]; + Ext.removeNode(me.dom); + me.id = Ext.id(me.dom = el); + Ext.dom.AbstractElement.addToCache(me.isFlyweight ? new Ext.dom.AbstractElement(me.dom) : me); + return me; + }, + + + createChild: function(config, insertBefore, returnDom) { + config = config || {tag:'div'}; + if (insertBefore) { + return Ext.core.DomHelper.insertBefore(insertBefore, config, returnDom !== true); + } + else { + return Ext.core.DomHelper[!this.dom.firstChild ? 'insertFirst' : 'append'](this.dom, config, returnDom !== true); + } + }, + + + wrap: function(config, returnDom, selector) { + var newEl = Ext.core.DomHelper.insertBefore(this.dom, config || {tag: "div"}, true), + target = newEl; + + if (selector) { + target = Ext.DomQuery.selectNode(selector, newEl.dom); + } + + target.appendChild(this.dom); + return returnDom ? newEl.dom : newEl; + }, + + + insertHtml: function(where, html, returnEl) { + var el = Ext.core.DomHelper.insertHtml(where, this.dom, html); + return returnEl ? Ext.get(el) : el; + } +}); + +//@tag dom,core + +//@require Ext.dom.AbstractElement-insertion + +//@define Ext.dom.AbstractElement-position + +//@define Ext.dom.AbstractElement + + + +(function(){ + +var Element = Ext.dom.AbstractElement; + +Element.override({ + + + getX: function(el) { + return this.getXY(el)[0]; + }, + + + getY: function(el) { + return this.getXY(el)[1]; + }, + + + getXY: function() { + + var point = window.webkitConvertPointFromNodeToPage(this.dom, new WebKitPoint(0, 0)); + return [point.x, point.y]; + }, + + + getOffsetsTo: function(el){ + var o = this.getXY(), + e = Ext.fly(el, '_internal').getXY(); + return [o[0]-e[0],o[1]-e[1]]; + }, + + + setX: function(x){ + return this.setXY([x, this.getY()]); + }, + + + setY: function(y) { + return this.setXY([this.getX(), y]); + }, + + + setLeft: function(left) { + this.setStyle('left', Element.addUnits(left)); + return this; + }, + + + setTop: function(top) { + this.setStyle('top', Element.addUnits(top)); + return this; + }, + + + setRight: function(right) { + this.setStyle('right', Element.addUnits(right)); + return this; + }, + + + setBottom: function(bottom) { + this.setStyle('bottom', Element.addUnits(bottom)); + return this; + }, + + + setXY: function(pos) { + var me = this, + pts, + style, + pt; + + if (arguments.length > 1) { + pos = [pos, arguments[1]]; + } + + + pts = me.translatePoints(pos); + style = me.dom.style; + + for (pt in pts) { + if (!pts.hasOwnProperty(pt)) { + continue; + } + if (!isNaN(pts[pt])) { + style[pt] = pts[pt] + "px"; + } + } + return me; + }, + + + getLeft: function(local) { + return parseInt(this.getStyle('left'), 10) || 0; + }, + + + getRight: function(local) { + return parseInt(this.getStyle('right'), 10) || 0; + }, + + + getTop: function(local) { + return parseInt(this.getStyle('top'), 10) || 0; + }, + + + getBottom: function(local) { + return parseInt(this.getStyle('bottom'), 10) || 0; + }, + + + translatePoints: function(x, y) { + y = isNaN(x[1]) ? y : x[1]; + x = isNaN(x[0]) ? x : x[0]; + var me = this, + relative = me.isStyle('position', 'relative'), + o = me.getXY(), + l = parseInt(me.getStyle('left'), 10), + t = parseInt(me.getStyle('top'), 10); + + l = !isNaN(l) ? l : (relative ? 0 : me.dom.offsetLeft); + t = !isNaN(t) ? t : (relative ? 0 : me.dom.offsetTop); + + return {left: (x - o[0] + l), top: (y - o[1] + t)}; + }, + + + setBox: function(box) { + var me = this, + width = box.width, + height = box.height, + top = box.top, + left = box.left; + + if (left !== undefined) { + me.setLeft(left); + } + if (top !== undefined) { + me.setTop(top); + } + if (width !== undefined) { + me.setWidth(width); + } + if (height !== undefined) { + me.setHeight(height); + } + + return this; + }, + + + getBox: function(contentBox, local) { + var me = this, + dom = me.dom, + width = dom.offsetWidth, + height = dom.offsetHeight, + xy, box, l, r, t, b; + + if (!local) { + xy = me.getXY(); + } + else if (contentBox) { + xy = [0,0]; + } + else { + xy = [parseInt(me.getStyle("left"), 10) || 0, parseInt(me.getStyle("top"), 10) || 0]; + } + + if (!contentBox) { + box = { + x: xy[0], + y: xy[1], + 0: xy[0], + 1: xy[1], + width: width, + height: height + }; + } + else { + l = me.getBorderWidth.call(me, "l") + me.getPadding.call(me, "l"); + r = me.getBorderWidth.call(me, "r") + me.getPadding.call(me, "r"); + t = me.getBorderWidth.call(me, "t") + me.getPadding.call(me, "t"); + b = me.getBorderWidth.call(me, "b") + me.getPadding.call(me, "b"); + box = { + x: xy[0] + l, + y: xy[1] + t, + 0: xy[0] + l, + 1: xy[1] + t, + width: width - (l + r), + height: height - (t + b) + }; + } + + box.left = box.x; + box.top = box.y; + box.right = box.x + box.width; + box.bottom = box.y + box.height; + + return box; + }, + + + getPageBox: function(getRegion) { + var me = this, + el = me.dom, + w = el.offsetWidth, + h = el.offsetHeight, + xy = me.getXY(), + t = xy[1], + r = xy[0] + w, + b = xy[1] + h, + l = xy[0]; + + if (!el) { + return new Ext.util.Region(); + } + + if (getRegion) { + return new Ext.util.Region(t, r, b, l); + } + else { + return { + left: l, + top: t, + width: w, + height: h, + right: r, + bottom: b + }; + } + } +}); + +}()); + +//@tag dom,core + +//@require Ext.dom.AbstractElement-position + +//@define Ext.dom.AbstractElement-style + +//@define Ext.dom.AbstractElement + + + +(function(){ + + var Element = Ext.dom.AbstractElement, + view = document.defaultView, + array = Ext.Array, + trimRe = /^\s+|\s+$/g, + wordsRe = /\w/g, + spacesRe = /\s+/, + transparentRe = /^(?:transparent|(?:rgba[(](?:\s*\d+\s*[,]){3}\s*0\s*[)]))$/i, + hasClassList = Ext.supports.ClassList, + PADDING = 'padding', + MARGIN = 'margin', + BORDER = 'border', + LEFT_SUFFIX = '-left', + RIGHT_SUFFIX = '-right', + TOP_SUFFIX = '-top', + BOTTOM_SUFFIX = '-bottom', + WIDTH = '-width', + + borders = {l: BORDER + LEFT_SUFFIX + WIDTH, r: BORDER + RIGHT_SUFFIX + WIDTH, t: BORDER + TOP_SUFFIX + WIDTH, b: BORDER + BOTTOM_SUFFIX + WIDTH}, + paddings = {l: PADDING + LEFT_SUFFIX, r: PADDING + RIGHT_SUFFIX, t: PADDING + TOP_SUFFIX, b: PADDING + BOTTOM_SUFFIX}, + margins = {l: MARGIN + LEFT_SUFFIX, r: MARGIN + RIGHT_SUFFIX, t: MARGIN + TOP_SUFFIX, b: MARGIN + BOTTOM_SUFFIX}; + + + Element.override({ + + + styleHooks: {}, + + + addStyles : function(sides, styles){ + var totalSize = 0, + sidesArr = (sides || '').match(wordsRe), + i, + len = sidesArr.length, + side, + styleSides = []; + + if (len == 1) { + totalSize = Math.abs(parseFloat(this.getStyle(styles[sidesArr[0]])) || 0); + } else if (len) { + for (i = 0; i < len; i++) { + side = sidesArr[i]; + styleSides.push(styles[side]); + } + + styleSides = this.getStyle(styleSides); + + for (i=0; i < len; i++) { + side = sidesArr[i]; + totalSize += Math.abs(parseFloat(styleSides[styles[side]]) || 0); + } + } + + return totalSize; + }, + + + addCls: hasClassList ? + function (className) { + var me = this, + dom = me.dom, + classList, + newCls, + i, + len, + cls; + + if (typeof(className) == 'string') { + + className = className.replace(trimRe, '').split(spacesRe); + } + + + + if (dom && className && !!(len = className.length)) { + if (!dom.className) { + dom.className = className.join(' '); + } else { + classList = dom.classList; + for (i = 0; i < len; ++i) { + cls = className[i]; + if (cls) { + if (!classList.contains(cls)) { + if (newCls) { + newCls.push(cls); + } else { + newCls = dom.className.replace(trimRe, ''); + newCls = newCls ? [newCls, cls] : [cls]; + } + } + } + } + + if (newCls) { + dom.className = newCls.join(' '); + } + } + } + return me; + } : + function(className) { + var me = this, + dom = me.dom, + changed, + elClasses; + + if (dom && className && className.length) { + elClasses = Ext.Element.mergeClsList(dom.className, className); + if (elClasses.changed) { + dom.className = elClasses.join(' '); + } + } + return me; + }, + + + + removeCls: function(className) { + var me = this, + dom = me.dom, + len, + elClasses; + + if (typeof(className) == 'string') { + + className = className.replace(trimRe, '').split(spacesRe); + } + + if (dom && dom.className && className && !!(len = className.length)) { + if (len == 1 && hasClassList) { + if (className[0]) { + dom.classList.remove(className[0]); + } + } else { + elClasses = Ext.Element.removeCls(dom.className, className); + if (elClasses.changed) { + dom.className = elClasses.join(' '); + } + } + } + return me; + }, + + + radioCls: function(className) { + var cn = this.dom.parentNode.childNodes, + v, + i, len; + className = Ext.isArray(className) ? className: [className]; + for (i = 0, len = cn.length; i < len; i++) { + v = cn[i]; + if (v && v.nodeType == 1) { + Ext.fly(v, '_internal').removeCls(className); + } + } + return this.addCls(className); + }, + + + toggleCls: hasClassList ? + function (className) { + var me = this, + dom = me.dom; + + if (dom) { + className = className.replace(trimRe, ''); + if (className) { + dom.classList.toggle(className); + } + } + + return me; + } : + function(className) { + var me = this; + return me.hasCls(className) ? me.removeCls(className) : me.addCls(className); + }, + + + hasCls: hasClassList ? + function (className) { + var dom = this.dom; + return (dom && className) ? dom.classList.contains(className) : false; + } : + function(className) { + var dom = this.dom; + return dom ? className && (' '+dom.className+' ').indexOf(' '+className+' ') != -1 : false; + }, + + + replaceCls: function(oldClassName, newClassName){ + return this.removeCls(oldClassName).addCls(newClassName); + }, + + + isStyle: function(style, val) { + return this.getStyle(style) == val; + }, + + + getStyle: function (property, inline) { + var me = this, + dom = me.dom, + multiple = typeof property != 'string', + hooks = me.styleHooks, + prop = property, + props = prop, + len = 1, + domStyle, camel, values, hook, out, style, i; + + if (multiple) { + values = {}; + prop = props[0]; + i = 0; + if (!(len = props.length)) { + return values; + } + } + + if (!dom || dom.documentElement) { + return values || ''; + } + + domStyle = dom.style; + + if (inline) { + style = domStyle; + } else { + + + + + style = dom.ownerDocument.defaultView.getComputedStyle(dom, null); + + + if (!style) { + inline = true; + style = domStyle; + } + } + + do { + hook = hooks[prop]; + + if (!hook) { + hooks[prop] = hook = { name: Element.normalize(prop) }; + } + + if (hook.get) { + out = hook.get(dom, me, inline, style); + } else { + camel = hook.name; + out = style[camel]; + } + + if (!multiple) { + return out; + } + + values[prop] = out; + prop = props[++i]; + } while (i < len); + + return values; + }, + + getStyles: function () { + var props = Ext.Array.slice(arguments), + len = props.length, + inline; + + if (len && typeof props[len-1] == 'boolean') { + inline = props.pop(); + } + + return this.getStyle(props, inline); + }, + + + isTransparent: function (prop) { + var value = this.getStyle(prop); + return value ? transparentRe.test(value) : false; + }, + + + setStyle: function(prop, value) { + var me = this, + dom = me.dom, + hooks = me.styleHooks, + style = dom.style, + name = prop, + hook; + + + if (typeof name == 'string') { + hook = hooks[name]; + if (!hook) { + hooks[name] = hook = { name: Element.normalize(name) }; + } + value = (value == null) ? '' : value; + if (hook.set) { + hook.set(dom, value, me); + } else { + style[hook.name] = value; + } + if (hook.afterSet) { + hook.afterSet(dom, value, me); + } + } else { + for (name in prop) { + if (prop.hasOwnProperty(name)) { + hook = hooks[name]; + if (!hook) { + hooks[name] = hook = { name: Element.normalize(name) }; + } + value = prop[name]; + value = (value == null) ? '' : value; + if (hook.set) { + hook.set(dom, value, me); + } else { + style[hook.name] = value; + } + if (hook.afterSet) { + hook.afterSet(dom, value, me); + } + } + } + } + + return me; + }, + + + getHeight: function(contentHeight) { + var dom = this.dom, + height = contentHeight ? (dom.clientHeight - this.getPadding("tb")) : dom.offsetHeight; + return height > 0 ? height: 0; + }, + + + getWidth: function(contentWidth) { + var dom = this.dom, + width = contentWidth ? (dom.clientWidth - this.getPadding("lr")) : dom.offsetWidth; + return width > 0 ? width: 0; + }, + + + setWidth: function(width) { + var me = this; + me.dom.style.width = Element.addUnits(width); + return me; + }, + + + setHeight: function(height) { + var me = this; + me.dom.style.height = Element.addUnits(height); + return me; + }, + + + getBorderWidth: function(side){ + return this.addStyles(side, borders); + }, + + + getPadding: function(side){ + return this.addStyles(side, paddings); + }, + + margins : margins, + + + applyStyles: function(styles) { + if (styles) { + var i, + len, + dom = this.dom; + + if (typeof styles == 'function') { + styles = styles.call(); + } + if (typeof styles == 'string') { + styles = Ext.util.Format.trim(styles).split(/\s*(?::|;)\s*/); + for (i = 0, len = styles.length; i < len;) { + dom.style[Element.normalize(styles[i++])] = styles[i++]; + } + } + else if (typeof styles == 'object') { + this.setStyle(styles); + } + } + }, + + + setSize: function(width, height) { + var me = this, + style = me.dom.style; + + if (Ext.isObject(width)) { + + height = width.height; + width = width.width; + } + + style.width = Element.addUnits(width); + style.height = Element.addUnits(height); + return me; + }, + + + getViewSize: function() { + var doc = document, + dom = this.dom; + + if (dom == doc || dom == doc.body) { + return { + width: Element.getViewportWidth(), + height: Element.getViewportHeight() + }; + } + else { + return { + width: dom.clientWidth, + height: dom.clientHeight + }; + } + }, + + + getSize: function(contentSize) { + var dom = this.dom; + return { + width: Math.max(0, contentSize ? (dom.clientWidth - this.getPadding("lr")) : dom.offsetWidth), + height: Math.max(0, contentSize ? (dom.clientHeight - this.getPadding("tb")) : dom.offsetHeight) + }; + }, + + + repaint: function(){ + var dom = this.dom; + this.addCls(Ext.baseCSSPrefix + 'repaint'); + setTimeout(function(){ + Ext.fly(dom).removeCls(Ext.baseCSSPrefix + 'repaint'); + }, 1); + return this; + }, + + + getMargin: function(side){ + var me = this, + hash = {t:"top", l:"left", r:"right", b: "bottom"}, + key, + o, + margins; + + if (!side) { + margins = []; + for (key in me.margins) { + if(me.margins.hasOwnProperty(key)) { + margins.push(me.margins[key]); + } + } + o = me.getStyle(margins); + if(o && typeof o == 'object') { + + for (key in me.margins) { + if(me.margins.hasOwnProperty(key)) { + o[hash[key]] = parseFloat(o[me.margins[key]]) || 0; + } + } + } + + return o; + } else { + return me.addStyles.call(me, side, me.margins); + } + }, + + + mask: function(msg, msgCls, transparent) { + var me = this, + dom = me.dom, + data = (me.$cache || me.getCache()).data, + el = data.mask, + mask, + size, + cls = '', + prefix = Ext.baseCSSPrefix; + + me.addCls(prefix + 'masked'); + if (me.getStyle("position") == "static") { + me.addCls(prefix + 'masked-relative'); + } + if (el) { + el.remove(); + } + if (msgCls && typeof msgCls == 'string' ) { + cls = ' ' + msgCls; + } + else { + cls = ' ' + prefix + 'mask-gray'; + } + + mask = me.createChild({ + cls: prefix + 'mask' + ((transparent !== false) ? '' : (' ' + prefix + 'mask-gray')), + html: msg ? ('
' + msg + '
') : '' + }); + + size = me.getSize(); + + data.mask = mask; + + if (dom === document.body) { + size.height = window.innerHeight; + if (me.orientationHandler) { + Ext.EventManager.unOrientationChange(me.orientationHandler, me); + } + + me.orientationHandler = function() { + size = me.getSize(); + size.height = window.innerHeight; + mask.setSize(size); + }; + + Ext.EventManager.onOrientationChange(me.orientationHandler, me); + } + mask.setSize(size); + if (Ext.is.iPad) { + Ext.repaint(); + } + }, + + + unmask: function() { + var me = this, + data = (me.$cache || me.getCache()).data, + mask = data.mask, + prefix = Ext.baseCSSPrefix; + + if (mask) { + mask.remove(); + delete data.mask; + } + me.removeCls([prefix + 'masked', prefix + 'masked-relative']); + + if (me.dom === document.body) { + Ext.EventManager.unOrientationChange(me.orientationHandler, me); + delete me.orientationHandler; + } + } + }); + + + Element.populateStyleMap = function (map, order) { + var baseStyles = ['margin-', 'padding-', 'border-width-'], + beforeAfter = ['before', 'after'], + index, style, name, i; + + for (index = baseStyles.length; index--; ) { + for (i = 2; i--; ) { + style = baseStyles[index] + beforeAfter[i]; + + map[Element.normalize(style)] = map[style] = { + name: Element.normalize(baseStyles[index] + order[i]) + }; + } + } + }; + + Ext.onReady(function () { + var supports = Ext.supports, + styleHooks, + colorStyles, i, name, camel; + + function fixTransparent (dom, el, inline, style) { + var value = style[this.name] || ''; + return transparentRe.test(value) ? 'transparent' : value; + } + + function fixRightMargin (dom, el, inline, style) { + var result = style.marginRight, + domStyle, display; + + + + if (result != '0px') { + domStyle = dom.style; + display = domStyle.display; + domStyle.display = 'inline-block'; + result = (inline ? style : dom.ownerDocument.defaultView.getComputedStyle(dom, null)).marginRight; + domStyle.display = display; + } + + return result; + } + + function fixRightMarginAndInputFocus (dom, el, inline, style) { + var result = style.marginRight, + domStyle, cleaner, display; + + if (result != '0px') { + domStyle = dom.style; + cleaner = Element.getRightMarginFixCleaner(dom); + display = domStyle.display; + domStyle.display = 'inline-block'; + result = (inline ? style : dom.ownerDocument.defaultView.getComputedStyle(dom, '')).marginRight; + domStyle.display = display; + cleaner(); + } + + return result; + } + + styleHooks = Element.prototype.styleHooks; + + + Element.populateStyleMap(styleHooks, ['left', 'right']); + + + + if (supports.init) { + supports.init(); + } + + + if (!supports.RightMargin) { + styleHooks.marginRight = styleHooks['margin-right'] = { + name: 'marginRight', + + + get: (supports.DisplayChangeInputSelectionBug || supports.DisplayChangeTextAreaSelectionBug) ? + fixRightMarginAndInputFocus : fixRightMargin + }; + } + + if (!supports.TransparentColor) { + colorStyles = ['background-color', 'border-color', 'color', 'outline-color']; + for (i = colorStyles.length; i--; ) { + name = colorStyles[i]; + camel = Element.normalize(name); + + styleHooks[name] = styleHooks[camel] = { + name: camel, + get: fixTransparent + }; + } + } + }); +}()); + +//@tag dom,core + +//@require Ext.dom.AbstractElement-style + +//@define Ext.dom.AbstractElement-traversal + +//@define Ext.dom.AbstractElement + + + +Ext.dom.AbstractElement.override({ + + findParent: function(simpleSelector, limit, returnEl) { + var target = this.dom, + topmost = document.documentElement, + depth = 0, + stopEl; + + limit = limit || 50; + if (isNaN(limit)) { + stopEl = Ext.getDom(limit); + limit = Number.MAX_VALUE; + } + while (target && target.nodeType == 1 && depth < limit && target != topmost && target != stopEl) { + if (Ext.DomQuery.is(target, simpleSelector)) { + return returnEl ? Ext.get(target) : target; + } + depth++; + target = target.parentNode; + } + return null; + }, + + + findParentNode: function(simpleSelector, limit, returnEl) { + var p = Ext.fly(this.dom.parentNode, '_internal'); + return p ? p.findParent(simpleSelector, limit, returnEl) : null; + }, + + + up: function(simpleSelector, limit) { + return this.findParentNode(simpleSelector, limit, true); + }, + + + select: function(selector, composite) { + return Ext.dom.Element.select(selector, this.dom, composite); + }, + + + query: function(selector) { + return Ext.DomQuery.select(selector, this.dom); + }, + + + down: function(selector, returnDom) { + var n = Ext.DomQuery.selectNode(selector, this.dom); + return returnDom ? n : Ext.get(n); + }, + + + child: function(selector, returnDom) { + var node, + me = this, + id; + + + + id = Ext.id(me.dom); + + id = Ext.escapeId(id); + node = Ext.DomQuery.selectNode('#' + id + " > " + selector, me.dom); + return returnDom ? node : Ext.get(node); + }, + + + parent: function(selector, returnDom) { + return this.matchNode('parentNode', 'parentNode', selector, returnDom); + }, + + + next: function(selector, returnDom) { + return this.matchNode('nextSibling', 'nextSibling', selector, returnDom); + }, + + + prev: function(selector, returnDom) { + return this.matchNode('previousSibling', 'previousSibling', selector, returnDom); + }, + + + + first: function(selector, returnDom) { + return this.matchNode('nextSibling', 'firstChild', selector, returnDom); + }, + + + last: function(selector, returnDom) { + return this.matchNode('previousSibling', 'lastChild', selector, returnDom); + }, + + matchNode: function(dir, start, selector, returnDom) { + if (!this.dom) { + return null; + } + + var n = this.dom[start]; + while (n) { + if (n.nodeType == 1 && (!selector || Ext.DomQuery.is(n, selector))) { + return !returnDom ? Ext.get(n) : n; + } + n = n[dir]; + } + return null; + }, + + isAncestor: function(element) { + return this.self.isAncestor.call(this.self, this.dom, element); + } +}); + +//@tag dom,core + +//@define Ext.DomHelper + +//@define Ext.core.DomHelper + +//@require Ext.dom.AbstractElement-traversal + + + +(function() { + + +var afterbegin = 'afterbegin', + afterend = 'afterend', + beforebegin = 'beforebegin', + beforeend = 'beforeend', + ts = '', + te = '
', + tbs = ts+'', + tbe = ''+te, + trs = tbs + '', + tre = ''+tbe, + detachedDiv = document.createElement('div'), + bbValues = ['BeforeBegin', 'previousSibling'], + aeValues = ['AfterEnd', 'nextSibling'], + bb_ae_PositionHash = { + beforebegin: bbValues, + afterend: aeValues + }, + fullPositionHash = { + beforebegin: bbValues, + afterend: aeValues, + afterbegin: ['AfterBegin', 'firstChild'], + beforeend: ['BeforeEnd', 'lastChild'] + }; + + +Ext.define('Ext.dom.Helper', { + extend: 'Ext.dom.AbstractHelper', + requires:['Ext.dom.AbstractElement'], + + tableRe: /^table|tbody|tr|td$/i, + + tableElRe: /td|tr|tbody/i, + + + useDom : false, + + + createDom: function(o, parentNode){ + var el, + doc = document, + useSet, + attr, + val, + cn, + i, l; + + if (Ext.isArray(o)) { + el = doc.createDocumentFragment(); + for (i = 0, l = o.length; i < l; i++) { + this.createDom(o[i], el); + } + } else if (typeof o == 'string') { + el = doc.createTextNode(o); + } else { + el = doc.createElement(o.tag || 'div'); + useSet = !!el.setAttribute; + for (attr in o) { + if (!this.confRe.test(attr)) { + val = o[attr]; + if (attr == 'cls') { + el.className = val; + } else { + if (useSet) { + el.setAttribute(attr, val); + } else { + el[attr] = val; + } + } + } + } + Ext.DomHelper.applyStyles(el, o.style); + + if ((cn = o.children || o.cn)) { + this.createDom(cn, el); + } else if (o.html) { + el.innerHTML = o.html; + } + } + if (parentNode) { + parentNode.appendChild(el); + } + return el; + }, + + ieTable: function(depth, openingTags, htmlContent, closingTags){ + detachedDiv.innerHTML = [openingTags, htmlContent, closingTags].join(''); + + var i = -1, + el = detachedDiv, + ns; + + while (++i < depth) { + el = el.firstChild; + } + + ns = el.nextSibling; + + if (ns) { + el = document.createDocumentFragment(); + while (ns) { + el.appendChild(ns); + ns = ns.nextSibling; + } + } + return el; + }, + + + insertIntoTable: function(tag, where, destinationEl, html) { + var node, + before, + bb = where == beforebegin, + ab = where == afterbegin, + be = where == beforeend, + ae = where == afterend; + + if (tag == 'td' && (ab || be) || !this.tableElRe.test(tag) && (bb || ae)) { + return null; + } + before = bb ? destinationEl : + ae ? destinationEl.nextSibling : + ab ? destinationEl.firstChild : null; + + if (bb || ae) { + destinationEl = destinationEl.parentNode; + } + + if (tag == 'td' || (tag == 'tr' && (be || ab))) { + node = this.ieTable(4, trs, html, tre); + } else if ((tag == 'tbody' && (be || ab)) || + (tag == 'tr' && (bb || ae))) { + node = this.ieTable(3, tbs, html, tbe); + } else { + node = this.ieTable(2, ts, html, te); + } + destinationEl.insertBefore(node, before); + return node; + }, + + + createContextualFragment: function(html) { + var fragment = document.createDocumentFragment(), + length, childNodes; + + detachedDiv.innerHTML = html; + childNodes = detachedDiv.childNodes; + length = childNodes.length; + + + while (length--) { + fragment.appendChild(childNodes[0]); + } + return fragment; + }, + + applyStyles: function(el, styles) { + if (styles) { + el = Ext.fly(el); + if (typeof styles == "function") { + styles = styles.call(); + } + if (typeof styles == "string") { + styles = Ext.dom.Element.parseStyles(styles); + } + if (typeof styles == "object") { + el.setStyle(styles); + } + } + }, + + + createHtml: function(spec) { + return this.markup(spec); + }, + + doInsert: function(el, o, returnElement, pos, sibling, append) { + + el = el.dom || Ext.getDom(el); + + var newNode; + + if (this.useDom) { + newNode = this.createDom(o, null); + + if (append) { + el.appendChild(newNode); + } + else { + (sibling == 'firstChild' ? el : el.parentNode).insertBefore(newNode, el[sibling] || el); + } + + } else { + newNode = this.insertHtml(pos, el, this.markup(o)); + } + return returnElement ? Ext.get(newNode, true) : newNode; + }, + + + overwrite: function(el, html, returnElement) { + var newNode; + + el = Ext.getDom(el); + html = this.markup(html); + + + if (Ext.isIE && this.tableRe.test(el.tagName)) { + + while (el.firstChild) { + el.removeChild(el.firstChild); + } + if (html) { + newNode = this.insertHtml('afterbegin', el, html); + return returnElement ? Ext.get(newNode) : newNode; + } + return null; + } + el.innerHTML = html; + return returnElement ? Ext.get(el.firstChild) : el.firstChild; + }, + + insertHtml: function(where, el, html) { + var hashVal, + range, + rangeEl, + setStart, + frag; + + where = where.toLowerCase(); + + + if (el.insertAdjacentHTML) { + + + if (Ext.isIE && this.tableRe.test(el.tagName) && (frag = this.insertIntoTable(el.tagName.toLowerCase(), where, el, html))) { + return frag; + } + + if ((hashVal = fullPositionHash[where])) { + el.insertAdjacentHTML(hashVal[0], html); + return el[hashVal[1]]; + } + + } else { + + if (el.nodeType === 3) { + where = where === 'afterbegin' ? 'beforebegin' : where; + where = where === 'beforeend' ? 'afterend' : where; + } + range = Ext.supports.CreateContextualFragment ? el.ownerDocument.createRange() : undefined; + setStart = 'setStart' + (this.endRe.test(where) ? 'After' : 'Before'); + if (bb_ae_PositionHash[where]) { + if (range) { + range[setStart](el); + frag = range.createContextualFragment(html); + } else { + frag = this.createContextualFragment(html); + } + el.parentNode.insertBefore(frag, where == beforebegin ? el : el.nextSibling); + return el[(where == beforebegin ? 'previous' : 'next') + 'Sibling']; + } else { + rangeEl = (where == afterbegin ? 'first' : 'last') + 'Child'; + if (el.firstChild) { + if (range) { + range[setStart](el[rangeEl]); + frag = range.createContextualFragment(html); + } else { + frag = this.createContextualFragment(html); + } + + if (where == afterbegin) { + el.insertBefore(frag, el.firstChild); + } else { + el.appendChild(frag); + } + } else { + el.innerHTML = html; + } + return el[rangeEl]; + } + } + }, + + + createTemplate: function(o) { + var html = this.markup(o); + return new Ext.Template(html); + } + +}, function() { + Ext.ns('Ext.core'); + Ext.DomHelper = Ext.core.DomHelper = new this; +}); + + +}()); + +//@tag dom,core + +//@require Helper.js + +//@define Ext.dom.Query + +//@define Ext.core.Query + +//@define Ext.DomQuery + + + + +Ext.ns('Ext.core'); + +Ext.dom.Query = Ext.core.DomQuery = Ext.DomQuery = (function(){ + var cache = {}, + simpleCache = {}, + valueCache = {}, + nonSpace = /\S/, + trimRe = /^\s+|\s+$/g, + tplRe = /\{(\d+)\}/g, + modeRe = /^(\s?[\/>+~]\s?|\s|$)/, + tagTokenRe = /^(#)?([\w\-\*\\]+)/, + nthRe = /(\d*)n\+?(\d*)/, + nthRe2 = /\D/, + startIdRe = /^\s*\#/, + + + + isIE = window.ActiveXObject ? true : false, + key = 30803, + longHex = /\\([0-9a-fA-F]{6})/g, + shortHex = /\\([0-9a-fA-F]{1,6})\s{0,1}/g, + nonHex = /\\([^0-9a-fA-F]{1})/g, + escapes = /\\/g, + num, hasEscapes, + + + + longHexToChar = function($0, $1) { + return String.fromCharCode(parseInt($1, 16)); + }, + + + shortToLongHex = function($0, $1) { + while ($1.length < 6) { + $1 = '0' + $1; + } + return '\\' + $1; + }, + + + charToLongHex = function($0, $1) { + num = $1.charCodeAt(0).toString(16); + if (num.length === 1) { + num = '0' + num; + } + return '\\0000' + num; + }, + + + + + unescapeCssSelector = function (selector) { + return (hasEscapes) + ? selector.replace(longHex, longHexToChar) + : selector; + }, + + + setupEscapes = function(path){ + hasEscapes = (path.indexOf('\\') > -1); + if (hasEscapes) { + path = path + .replace(shortHex, shortToLongHex) + .replace(nonHex, charToLongHex) + .replace(escapes, '\\\\'); + } + return path; + }; + + + + eval("var batch = 30803;"); + + + + function child(parent, index){ + var i = 0, + n = parent.firstChild; + while(n){ + if(n.nodeType == 1){ + if(++i == index){ + return n; + } + } + n = n.nextSibling; + } + return null; + } + + + function next(n){ + while((n = n.nextSibling) && n.nodeType != 1); + return n; + } + + + function prev(n){ + while((n = n.previousSibling) && n.nodeType != 1); + return n; + } + + + + function children(parent){ + var n = parent.firstChild, + nodeIndex = -1, + nextNode; + while(n){ + nextNode = n.nextSibling; + + if(n.nodeType == 3 && !nonSpace.test(n.nodeValue)){ + parent.removeChild(n); + }else{ + + n.nodeIndex = ++nodeIndex; + } + n = nextNode; + } + return this; + } + + + + function byClassName(nodeSet, cls){ + cls = unescapeCssSelector(cls); + if(!cls){ + return nodeSet; + } + var result = [], ri = -1, + i, ci; + for(i = 0, ci; ci = nodeSet[i]; i++){ + if((' '+ci.className+' ').indexOf(cls) != -1){ + result[++ri] = ci; + } + } + return result; + } + + function attrValue(n, attr){ + + if(!n.tagName && typeof n.length != "undefined"){ + n = n[0]; + } + if(!n){ + return null; + } + + if(attr == "for"){ + return n.htmlFor; + } + if(attr == "class" || attr == "className"){ + return n.className; + } + return n.getAttribute(attr) || n[attr]; + + } + + + + + + function getNodes(ns, mode, tagName){ + var result = [], ri = -1, cs, + i, ni, j, ci, cn, utag, n, cj; + if(!ns){ + return result; + } + tagName = tagName || "*"; + + if(typeof ns.getElementsByTagName != "undefined"){ + ns = [ns]; + } + + + + if(!mode){ + for(i = 0, ni; ni = ns[i]; i++){ + cs = ni.getElementsByTagName(tagName); + for(j = 0, ci; ci = cs[j]; j++){ + result[++ri] = ci; + } + } + + + } else if(mode == "/" || mode == ">"){ + utag = tagName.toUpperCase(); + for(i = 0, ni, cn; ni = ns[i]; i++){ + cn = ni.childNodes; + for(j = 0, cj; cj = cn[j]; j++){ + if(cj.nodeName == utag || cj.nodeName == tagName || tagName == '*'){ + result[++ri] = cj; + } + } + } + + + }else if(mode == "+"){ + utag = tagName.toUpperCase(); + for(i = 0, n; n = ns[i]; i++){ + while((n = n.nextSibling) && n.nodeType != 1); + if(n && (n.nodeName == utag || n.nodeName == tagName || tagName == '*')){ + result[++ri] = n; + } + } + + + }else if(mode == "~"){ + utag = tagName.toUpperCase(); + for(i = 0, n; n = ns[i]; i++){ + while((n = n.nextSibling)){ + if (n.nodeName == utag || n.nodeName == tagName || tagName == '*'){ + result[++ri] = n; + } + } + } + } + return result; + } + + function concat(a, b){ + if(b.slice){ + return a.concat(b); + } + for(var i = 0, l = b.length; i < l; i++){ + a[a.length] = b[i]; + } + return a; + } + + function byTag(cs, tagName){ + if(cs.tagName || cs == document){ + cs = [cs]; + } + if(!tagName){ + return cs; + } + var result = [], ri = -1, + i, ci; + tagName = tagName.toLowerCase(); + for(i = 0, ci; ci = cs[i]; i++){ + if(ci.nodeType == 1 && ci.tagName.toLowerCase() == tagName){ + result[++ri] = ci; + } + } + return result; + } + + function byId(cs, id){ + id = unescapeCssSelector(id); + if(cs.tagName || cs == document){ + cs = [cs]; + } + if(!id){ + return cs; + } + var result = [], ri = -1, + i, ci; + for(i = 0, ci; ci = cs[i]; i++){ + if(ci && ci.id == id){ + result[++ri] = ci; + return result; + } + } + return result; + } + + + + function byAttribute(cs, attr, value, op, custom){ + var result = [], + ri = -1, + useGetStyle = custom == "{", + fn = Ext.DomQuery.operators[op], + a, + xml, + hasXml, + i, ci; + + value = unescapeCssSelector(value); + + for(i = 0, ci; ci = cs[i]; i++){ + + if(ci.nodeType != 1){ + continue; + } + + if(!hasXml){ + xml = Ext.DomQuery.isXml(ci); + hasXml = true; + } + + + if(!xml){ + if(useGetStyle){ + a = Ext.DomQuery.getStyle(ci, attr); + } else if (attr == "class" || attr == "className"){ + a = ci.className; + } else if (attr == "for"){ + a = ci.htmlFor; + } else if (attr == "href"){ + + + a = ci.getAttribute("href", 2); + } else{ + a = ci.getAttribute(attr); + } + }else{ + a = ci.getAttribute(attr); + } + if((fn && fn(a, value)) || (!fn && a)){ + result[++ri] = ci; + } + } + return result; + } + + function byPseudo(cs, name, value){ + value = unescapeCssSelector(value); + return Ext.DomQuery.pseudos[name](cs, value); + } + + function nodupIEXml(cs){ + var d = ++key, + r, + i, len, c; + cs[0].setAttribute("_nodup", d); + r = [cs[0]]; + for(i = 1, len = cs.length; i < len; i++){ + c = cs[i]; + if(!c.getAttribute("_nodup") != d){ + c.setAttribute("_nodup", d); + r[r.length] = c; + } + } + for(i = 0, len = cs.length; i < len; i++){ + cs[i].removeAttribute("_nodup"); + } + return r; + } + + function nodup(cs){ + if(!cs){ + return []; + } + var len = cs.length, c, i, r = cs, cj, ri = -1, d, j; + if(!len || typeof cs.nodeType != "undefined" || len == 1){ + return cs; + } + if(isIE && typeof cs[0].selectSingleNode != "undefined"){ + return nodupIEXml(cs); + } + d = ++key; + cs[0]._nodup = d; + for(i = 1; c = cs[i]; i++){ + if(c._nodup != d){ + c._nodup = d; + }else{ + r = []; + for(j = 0; j < i; j++){ + r[++ri] = cs[j]; + } + for(j = i+1; cj = cs[j]; j++){ + if(cj._nodup != d){ + cj._nodup = d; + r[++ri] = cj; + } + } + return r; + } + } + return r; + } + + function quickDiffIEXml(c1, c2){ + var d = ++key, + r = [], + i, len; + for(i = 0, len = c1.length; i < len; i++){ + c1[i].setAttribute("_qdiff", d); + } + for(i = 0, len = c2.length; i < len; i++){ + if(c2[i].getAttribute("_qdiff") != d){ + r[r.length] = c2[i]; + } + } + for(i = 0, len = c1.length; i < len; i++){ + c1[i].removeAttribute("_qdiff"); + } + return r; + } + + function quickDiff(c1, c2){ + var len1 = c1.length, + d = ++key, + r = [], + i, len; + if(!len1){ + return c2; + } + if(isIE && typeof c1[0].selectSingleNode != "undefined"){ + return quickDiffIEXml(c1, c2); + } + for(i = 0; i < len1; i++){ + c1[i]._qdiff = d; + } + for(i = 0, len = c2.length; i < len; i++){ + if(c2[i]._qdiff != d){ + r[r.length] = c2[i]; + } + } + return r; + } + + function quickId(ns, mode, root, id){ + if(ns == root){ + id = unescapeCssSelector(id); + var d = root.ownerDocument || root; + return d.getElementById(id); + } + ns = getNodes(ns, mode, "*"); + return byId(ns, id); + } + + return { + getStyle : function(el, name){ + return Ext.fly(el).getStyle(name); + }, + + compile : function(path, type){ + type = type || "select"; + + + var fn = ["var f = function(root){\n var mode; ++batch; var n = root || document;\n"], + mode, + lastPath, + matchers = Ext.DomQuery.matchers, + matchersLn = matchers.length, + modeMatch, + + lmode = path.match(modeRe), + tokenMatch, matched, j, t, m; + + path = setupEscapes(path); + + if(lmode && lmode[1]){ + fn[fn.length] = 'mode="'+lmode[1].replace(trimRe, "")+'";'; + path = path.replace(lmode[1], ""); + } + + + while(path.substr(0, 1)=="/"){ + path = path.substr(1); + } + + while(path && lastPath != path){ + lastPath = path; + tokenMatch = path.match(tagTokenRe); + if(type == "select"){ + if(tokenMatch){ + + if(tokenMatch[1] == "#"){ + fn[fn.length] = 'n = quickId(n, mode, root, "'+tokenMatch[2]+'");'; + }else{ + fn[fn.length] = 'n = getNodes(n, mode, "'+tokenMatch[2]+'");'; + } + path = path.replace(tokenMatch[0], ""); + }else if(path.substr(0, 1) != '@'){ + fn[fn.length] = 'n = getNodes(n, mode, "*");'; + } + + }else{ + if(tokenMatch){ + if(tokenMatch[1] == "#"){ + fn[fn.length] = 'n = byId(n, "'+tokenMatch[2]+'");'; + }else{ + fn[fn.length] = 'n = byTag(n, "'+tokenMatch[2]+'");'; + } + path = path.replace(tokenMatch[0], ""); + } + } + while(!(modeMatch = path.match(modeRe))){ + matched = false; + for(j = 0; j < matchersLn; j++){ + t = matchers[j]; + m = path.match(t.re); + if(m){ + fn[fn.length] = t.select.replace(tplRe, function(x, i){ + return m[i]; + }); + path = path.replace(m[0], ""); + matched = true; + break; + } + } + + if(!matched){ + Ext.Error.raise({ + sourceClass: 'Ext.DomQuery', + sourceMethod: 'compile', + msg: 'Error parsing selector. Parsing failed at "' + path + '"' + }); + } + } + if(modeMatch[1]){ + fn[fn.length] = 'mode="'+modeMatch[1].replace(trimRe, "")+'";'; + path = path.replace(modeMatch[1], ""); + } + } + + fn[fn.length] = "return nodup(n);\n}"; + + + eval(fn.join("")); + return f; + }, + + + jsSelect: function(path, root, type){ + + root = root || document; + + if(typeof root == "string"){ + root = document.getElementById(root); + } + var paths = path.split(","), + results = [], + i, len, subPath, result; + + + for(i = 0, len = paths.length; i < len; i++){ + subPath = paths[i].replace(trimRe, ""); + + if(!cache[subPath]){ + + cache[subPath] = Ext.DomQuery.compile(subPath, type); + if(!cache[subPath]){ + Ext.Error.raise({ + sourceClass: 'Ext.DomQuery', + sourceMethod: 'jsSelect', + msg: subPath + ' is not a valid selector' + }); + } + } else { + + + setupEscapes(subPath); + } + result = cache[subPath](root); + if(result && result != document){ + results = results.concat(result); + } + } + + + + if(paths.length > 1){ + return nodup(results); + } + return results; + }, + + isXml: function(el) { + var docEl = (el ? el.ownerDocument || el : 0).documentElement; + return docEl ? docEl.nodeName !== "HTML" : false; + }, + + + select : document.querySelectorAll ? function(path, root, type) { + root = root || document; + if (!Ext.DomQuery.isXml(root)) { + try { + + if (root.parentNode && (root.nodeType !== 9) && path.indexOf(',') === -1 && !startIdRe.test(path)) { + path = '#' + Ext.escapeId(Ext.id(root)) + ' ' + path; + root = root.parentNode; + } + return Ext.Array.toArray(root.querySelectorAll(path)); + } + catch (e) { + } + } + return Ext.DomQuery.jsSelect.call(this, path, root, type); + } : function(path, root, type) { + return Ext.DomQuery.jsSelect.call(this, path, root, type); + }, + + + selectNode : function(path, root){ + return Ext.DomQuery.select(path, root)[0]; + }, + + + selectValue : function(path, root, defaultValue){ + path = path.replace(trimRe, ""); + if (!valueCache[path]) { + valueCache[path] = Ext.DomQuery.compile(path, "select"); + } else { + setupEscapes(path); + } + + var n = valueCache[path](root), + v; + + n = n[0] ? n[0] : n; + + + + + + if (typeof n.normalize == 'function') { + n.normalize(); + } + + v = (n && n.firstChild ? n.firstChild.nodeValue : null); + return ((v === null||v === undefined||v==='') ? defaultValue : v); + }, + + + selectNumber : function(path, root, defaultValue){ + var v = Ext.DomQuery.selectValue(path, root, defaultValue || 0); + return parseFloat(v); + }, + + + is : function(el, ss){ + if(typeof el == "string"){ + el = document.getElementById(el); + } + var isArray = Ext.isArray(el), + result = Ext.DomQuery.filter(isArray ? el : [el], ss); + return isArray ? (result.length == el.length) : (result.length > 0); + }, + + + filter : function(els, ss, nonMatches){ + ss = ss.replace(trimRe, ""); + if (!simpleCache[ss]) { + simpleCache[ss] = Ext.DomQuery.compile(ss, "simple"); + } else { + setupEscapes(ss); + } + + var result = simpleCache[ss](els); + return nonMatches ? quickDiff(result, els) : result; + }, + + + matchers : [{ + re: /^\.([\w\-\\]+)/, + select: 'n = byClassName(n, " {1} ");' + }, { + re: /^\:([\w\-]+)(?:\(((?:[^\s>\/]*|.*?))\))?/, + select: 'n = byPseudo(n, "{1}", "{2}");' + },{ + re: /^(?:([\[\{])(?:@)?([\w\-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]\}])/, + select: 'n = byAttribute(n, "{2}", "{4}", "{3}", "{1}");' + }, { + re: /^#([\w\-\\]+)/, + select: 'n = byId(n, "{1}");' + },{ + re: /^@([\w\-]+)/, + select: 'return {firstChild:{nodeValue:attrValue(n, "{1}")}};' + } + ], + + + operators : { + "=" : function(a, v){ + return a == v; + }, + "!=" : function(a, v){ + return a != v; + }, + "^=" : function(a, v){ + return a && a.substr(0, v.length) == v; + }, + "$=" : function(a, v){ + return a && a.substr(a.length-v.length) == v; + }, + "*=" : function(a, v){ + return a && a.indexOf(v) !== -1; + }, + "%=" : function(a, v){ + return (a % v) == 0; + }, + "|=" : function(a, v){ + return a && (a == v || a.substr(0, v.length+1) == v+'-'); + }, + "~=" : function(a, v){ + return a && (' '+a+' ').indexOf(' '+v+' ') != -1; + } + }, + + + pseudos : { + "first-child" : function(c){ + var r = [], ri = -1, n, + i, ci; + for(i = 0; (ci = n = c[i]); i++){ + while((n = n.previousSibling) && n.nodeType != 1); + if(!n){ + r[++ri] = ci; + } + } + return r; + }, + + "last-child" : function(c){ + var r = [], ri = -1, n, + i, ci; + for(i = 0; (ci = n = c[i]); i++){ + while((n = n.nextSibling) && n.nodeType != 1); + if(!n){ + r[++ri] = ci; + } + } + return r; + }, + + "nth-child" : function(c, a) { + var r = [], ri = -1, + m = nthRe.exec(a == "even" && "2n" || a == "odd" && "2n+1" || !nthRe2.test(a) && "n+" + a || a), + f = (m[1] || 1) - 0, l = m[2] - 0, + i, n, j, cn, pn; + for(i = 0; n = c[i]; i++){ + pn = n.parentNode; + if (batch != pn._batch) { + j = 0; + for(cn = pn.firstChild; cn; cn = cn.nextSibling){ + if(cn.nodeType == 1){ + cn.nodeIndex = ++j; + } + } + pn._batch = batch; + } + if (f == 1) { + if (l == 0 || n.nodeIndex == l){ + r[++ri] = n; + } + } else if ((n.nodeIndex + l) % f == 0){ + r[++ri] = n; + } + } + + return r; + }, + + "only-child" : function(c){ + var r = [], ri = -1, + i, ci; + for(i = 0; ci = c[i]; i++){ + if(!prev(ci) && !next(ci)){ + r[++ri] = ci; + } + } + return r; + }, + + "empty" : function(c){ + var r = [], ri = -1, + i, ci, cns, j, cn, empty; + for(i = 0, ci; ci = c[i]; i++){ + cns = ci.childNodes; + j = 0; + empty = true; + while(cn = cns[j]){ + ++j; + if(cn.nodeType == 1 || cn.nodeType == 3){ + empty = false; + break; + } + } + if(empty){ + r[++ri] = ci; + } + } + return r; + }, + + "contains" : function(c, v){ + var r = [], ri = -1, + i, ci; + for(i = 0; ci = c[i]; i++){ + if((ci.textContent||ci.innerText||ci.text||'').indexOf(v) != -1){ + r[++ri] = ci; + } + } + return r; + }, + + "nodeValue" : function(c, v){ + var r = [], ri = -1, + i, ci; + for(i = 0; ci = c[i]; i++){ + if(ci.firstChild && ci.firstChild.nodeValue == v){ + r[++ri] = ci; + } + } + return r; + }, + + "checked" : function(c){ + var r = [], ri = -1, + i, ci; + for(i = 0; ci = c[i]; i++){ + if(ci.checked == true){ + r[++ri] = ci; + } + } + return r; + }, + + "not" : function(c, ss){ + return Ext.DomQuery.filter(c, ss, true); + }, + + "any" : function(c, selectors){ + var ss = selectors.split('|'), + r = [], ri = -1, s, + i, ci, j; + for(i = 0; ci = c[i]; i++){ + for(j = 0; s = ss[j]; j++){ + if(Ext.DomQuery.is(ci, s)){ + r[++ri] = ci; + break; + } + } + } + return r; + }, + + "odd" : function(c){ + return this["nth-child"](c, "odd"); + }, + + "even" : function(c){ + return this["nth-child"](c, "even"); + }, + + "nth" : function(c, a){ + return c[a-1] || []; + }, + + "first" : function(c){ + return c[0] || []; + }, + + "last" : function(c){ + return c[c.length-1] || []; + }, + + "has" : function(c, ss){ + var s = Ext.DomQuery.select, + r = [], ri = -1, + i, ci; + for(i = 0; ci = c[i]; i++){ + if(s(ss, ci).length > 0){ + r[++ri] = ci; + } + } + return r; + }, + + "next" : function(c, ss){ + var is = Ext.DomQuery.is, + r = [], ri = -1, + i, ci, n; + for(i = 0; ci = c[i]; i++){ + n = next(ci); + if(n && is(n, ss)){ + r[++ri] = ci; + } + } + return r; + }, + + "prev" : function(c, ss){ + var is = Ext.DomQuery.is, + r = [], ri = -1, + i, ci, n; + for(i = 0; ci = c[i]; i++){ + n = prev(ci); + if(n && is(n, ss)){ + r[++ri] = ci; + } + } + return r; + } + } + }; +}()); + + +Ext.query = Ext.DomQuery.select; + + +//@tag dom,core + +//@require Query.js + +//@define Ext.dom.Element + +//@require Ext.dom.AbstractElement + + + +(function() { + +var HIDDEN = 'hidden', + DOC = document, + VISIBILITY = "visibility", + DISPLAY = "display", + NONE = "none", + XMASKED = Ext.baseCSSPrefix + "masked", + XMASKEDRELATIVE = Ext.baseCSSPrefix + "masked-relative", + EXTELMASKMSG = Ext.baseCSSPrefix + "mask-msg", + bodyRe = /^body/i, + visFly, + + + noBoxAdjust = Ext.isStrict ? { + select: 1 + }: { + input: 1, + select: 1, + textarea: 1 + }, + + + isScrolled = function(c) { + var r = [], ri = -1, + i, ci; + for (i = 0; ci = c[i]; i++) { + if (ci.scrollTop > 0 || ci.scrollLeft > 0) { + r[++ri] = ci; + } + } + return r; + }, + + Element = Ext.define('Ext.dom.Element', { + + extend: 'Ext.dom.AbstractElement', + + alternateClassName: ['Ext.Element', 'Ext.core.Element'], + + addUnits: function() { + return this.self.addUnits.apply(this.self, arguments); + }, + + + focus: function(defer, dom) { + var me = this, + scrollTop, + body; + + dom = dom || me.dom; + body = (dom.ownerDocument || DOC).body || DOC.body; + try { + if (Number(defer)) { + Ext.defer(me.focus, defer, me, [null, dom]); + } else { + + + if (dom.offsetHeight > Element.getViewHeight()) { + scrollTop = body.scrollTop; + } + dom.focus(); + if (scrollTop !== undefined) { + body.scrollTop = scrollTop; + } + } + } catch(e) { + } + return me; + }, + + + blur: function() { + try { + this.dom.blur(); + } catch(e) { + } + return this; + }, + + + isBorderBox: function() { + var box = Ext.isBorderBox; + if (box) { + box = !((this.dom.tagName || "").toLowerCase() in noBoxAdjust); + } + return box; + }, + + + hover: function(overFn, outFn, scope, options) { + var me = this; + me.on('mouseenter', overFn, scope || me.dom, options); + me.on('mouseleave', outFn, scope || me.dom, options); + return me; + }, + + + getAttributeNS: function(ns, name) { + return this.getAttribute(name, ns); + }, + + getAttribute: (Ext.isIE && !(Ext.isIE9 && DOC.documentMode === 9)) ? + function(name, ns) { + var d = this.dom, + type; + if (ns) { + type = typeof d[ns + ":" + name]; + if (type != 'undefined' && type != 'unknown') { + return d[ns + ":" + name] || null; + } + return null; + } + if (name === "for") { + name = "htmlFor"; + } + return d[name] || null; + } : function(name, ns) { + var d = this.dom; + if (ns) { + return d.getAttributeNS(ns, name) || d.getAttribute(ns + ":" + name); + } + return d.getAttribute(name) || d[name] || null; + }, + + + cacheScrollValues: function() { + var me = this, + scrolledDescendants, + el, i, + scrollValues = [], + result = function() { + for (i = 0; i < scrolledDescendants.length; i++) { + el = scrolledDescendants[i]; + el.scrollLeft = scrollValues[i][0]; + el.scrollTop = scrollValues[i][1]; + } + }; + + if (!Ext.DomQuery.pseudos.isScrolled) { + Ext.DomQuery.pseudos.isScrolled = isScrolled; + } + scrolledDescendants = me.query(':isScrolled'); + for (i = 0; i < scrolledDescendants.length; i++) { + el = scrolledDescendants[i]; + scrollValues[i] = [el.scrollLeft, el.scrollTop]; + } + return result; + }, + + + autoBoxAdjust: true, + + + isVisible : function(deep) { + var me = this, + dom = me.dom, + stopNode = dom.ownerDocument.documentElement; + + if (!visFly) { + visFly = new Element.Fly(); + } + + while (dom !== stopNode) { + + + if (!dom || dom.nodeType === 11 || (visFly.attach(dom)).isStyle(VISIBILITY, HIDDEN) || visFly.isStyle(DISPLAY, NONE)) { + return false; + } + + if (!deep) { + break; + } + dom = dom.parentNode; + } + return true; + }, + + + isDisplayed : function() { + return !this.isStyle(DISPLAY, NONE); + }, + + + enableDisplayMode : function(display) { + var me = this; + + me.setVisibilityMode(Element.DISPLAY); + + if (!Ext.isEmpty(display)) { + (me.$cache || me.getCache()).data.originalDisplay = display; + } + + return me; + }, + + + mask : function(msg, msgCls , elHeight) { + var me = this, + dom = me.dom, + + + setExpression = dom.style.setExpression, + data = (me.$cache || me.getCache()).data, + maskEl = data.maskEl, + maskMsg = data.maskMsg; + + if (!(bodyRe.test(dom.tagName) && me.getStyle('position') == 'static')) { + me.addCls(XMASKEDRELATIVE); + } + + + if (maskEl) { + maskEl.remove(); + } + + if (maskMsg) { + maskMsg.remove(); + } + + Ext.DomHelper.append(dom, [{ + cls : Ext.baseCSSPrefix + "mask" + }, { + cls : msgCls ? EXTELMASKMSG + " " + msgCls : EXTELMASKMSG, + cn : { + tag: 'div', + html: msg || '' + } + }]); + + maskMsg = Ext.get(dom.lastChild); + maskEl = Ext.get(maskMsg.dom.previousSibling); + data.maskMsg = maskMsg; + data.maskEl = maskEl; + + me.addCls(XMASKED); + maskEl.setDisplayed(true); + + if (typeof msg == 'string') { + maskMsg.setDisplayed(true); + maskMsg.center(me); + } else { + maskMsg.setDisplayed(false); + } + + + + + + if (!Ext.supports.IncludePaddingInWidthCalculation && setExpression) { + + try { + maskEl.dom.style.setExpression('width', 'this.parentNode.clientWidth + "px"'); + } catch (e) {} + } + + + + if (!Ext.supports.IncludePaddingInHeightCalculation && setExpression) { + + try { + maskEl.dom.style.setExpression('height', 'this.parentNode.' + (dom == DOC.body ? 'scrollHeight' : 'offsetHeight') + ' + "px"'); + } catch (e) {} + } + + else if (Ext.isIE && !(Ext.isIE7 && Ext.isStrict) && me.getStyle('height') == 'auto') { + maskEl.setSize(undefined, elHeight || me.getHeight()); + } + return maskEl; + }, + + + unmask : function() { + var me = this, + data = (me.$cache || me.getCache()).data, + maskEl = data.maskEl, + maskMsg = data.maskMsg, + style; + + if (maskEl) { + style = maskEl.dom.style; + + if (style.clearExpression) { + style.clearExpression('width'); + style.clearExpression('height'); + } + + if (maskEl) { + maskEl.remove(); + delete data.maskEl; + } + + if (maskMsg) { + maskMsg.remove(); + delete data.maskMsg; + } + + me.removeCls([XMASKED, XMASKEDRELATIVE]); + } + }, + + + isMasked : function() { + var me = this, + data = (me.$cache || me.getCache()).data, + maskEl = data.maskEl, + maskMsg = data.maskMsg, + hasMask = false; + + if (maskEl && maskEl.isVisible()) { + if (maskMsg) { + maskMsg.center(me); + } + hasMask = true; + } + return hasMask; + }, + + + createShim : function() { + var el = DOC.createElement('iframe'), + shim; + + el.frameBorder = '0'; + el.className = Ext.baseCSSPrefix + 'shim'; + el.src = Ext.SSL_SECURE_URL; + shim = Ext.get(this.dom.parentNode.insertBefore(el, this.dom)); + shim.autoBoxAdjust = false; + return shim; + }, + + + addKeyListener : function(key, fn, scope){ + var config; + if(typeof key != 'object' || Ext.isArray(key)){ + config = { + target: this, + key: key, + fn: fn, + scope: scope + }; + }else{ + config = { + target: this, + key : key.key, + shift : key.shift, + ctrl : key.ctrl, + alt : key.alt, + fn: fn, + scope: scope + }; + } + return new Ext.util.KeyMap(config); + }, + + + addKeyMap : function(config) { + return new Ext.util.KeyMap(Ext.apply({ + target: this + }, config)); + }, + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + on: function(eventName, fn, scope, options) { + Ext.EventManager.on(this, eventName, fn, scope || this, options); + return this; + }, + + + un: function(eventName, fn, scope) { + Ext.EventManager.un(this, eventName, fn, scope || this); + return this; + }, + + + removeAllListeners: function() { + Ext.EventManager.removeAll(this); + return this; + }, + + + purgeAllListeners: function() { + Ext.EventManager.purgeElement(this); + return this; + } + +}, function() { + + var EC = Ext.cache, + El = this, + AbstractElement = Ext.dom.AbstractElement, + focusRe = /a|button|embed|iframe|img|input|object|select|textarea/i, + nonSpaceRe = /\S/, + scriptTagRe = /(?:]*)?>)((\n|\r|.)*?)(?:<\/script>)/ig, + replaceScriptTagRe = /(?:)((\n|\r|.)*?)(?:<\/script>)/ig, + srcRe = /\ssrc=([\'\"])(.*?)\1/i, + typeRe = /\stype=([\'\"])(.*?)\1/i, + useDocForId = !(Ext.isIE6 || Ext.isIE7 || Ext.isIE8); + + El.boxMarkup = '
'; + + + + + + function garbageCollect() { + if (!Ext.enableGarbageCollector) { + clearInterval(El.collectorThreadId); + } else { + var eid, + d, + o, + t; + + for (eid in EC) { + if (!EC.hasOwnProperty(eid)) { + continue; + } + + o = EC[eid]; + + + if (o.skipGarbageCollection) { + continue; + } + + d = o.dom; + + + + + + + + + + + + + + + + + if (!d.parentNode || (!d.offsetParent && !Ext.getElementById(eid))) { + if (d && Ext.enableListenerCollection) { + Ext.EventManager.removeAll(d); + } + delete EC[eid]; + } + } + + if (Ext.isIE) { + t = {}; + for (eid in EC) { + if (!EC.hasOwnProperty(eid)) { + continue; + } + t[eid] = EC[eid]; + } + EC = Ext.cache = t; + } + } + } + + El.collectorThreadId = setInterval(garbageCollect, 30000); + + + El.addMethods({ + + + monitorMouseLeave: function(delay, handler, scope) { + var me = this, + timer, + listeners = { + mouseleave: function(e) { + timer = setTimeout(Ext.Function.bind(handler, scope||me, [e]), delay); + }, + mouseenter: function() { + clearTimeout(timer); + }, + freezeEvent: true + }; + + me.on(listeners); + return listeners; + }, + + + swallowEvent : function(eventName, preventDefault) { + var me = this, + e, eLen; + function fn(e) { + e.stopPropagation(); + if (preventDefault) { + e.preventDefault(); + } + } + + if (Ext.isArray(eventName)) { + eLen = eventName.length; + + for (e = 0; e < eLen; e++) { + me.on(eventName[e], fn); + } + + return me; + } + me.on(eventName, fn); + return me; + }, + + + relayEvent : function(eventName, observable) { + this.on(eventName, function(e) { + observable.fireEvent(eventName, e); + }); + }, + + + clean : function(forceReclean) { + var me = this, + dom = me.dom, + data = (me.$cache || me.getCache()).data, + n = dom.firstChild, + ni = -1, + nx; + + if (data.isCleaned && forceReclean !== true) { + return me; + } + + while (n) { + nx = n.nextSibling; + if (n.nodeType == 3) { + + if (!(nonSpaceRe.test(n.nodeValue))) { + dom.removeChild(n); + + } else if (nx && nx.nodeType == 3) { + n.appendData(Ext.String.trim(nx.data)); + dom.removeChild(nx); + nx = n.nextSibling; + n.nodeIndex = ++ni; + } + } else { + + Ext.fly(n).clean(); + n.nodeIndex = ++ni; + } + n = nx; + } + + data.isCleaned = true; + return me; + }, + + + load : function(options) { + this.getLoader().load(options); + return this; + }, + + + getLoader : function() { + var me = this, + data = (me.$cache || me.getCache()).data, + loader = data.loader; + + if (!loader) { + data.loader = loader = new Ext.ElementLoader({ + target: me + }); + } + return loader; + }, + + + syncContent: function(source) { + source = Ext.getDom(source); + var me = this, + sourceNodes = source.childNodes, + sourceLen = sourceNodes.length, + dest = me.dom, + destNodes = dest.childNodes, + destLen = destNodes.length, + i, destNode, sourceNode, + nodeType; + + + dest.style.cssText = source.style.cssText; + dest.className = source.className; + + + if (sourceLen !== destLen) { + source.innerHTML = dest.innerHTML; + return; + } + + + + for (i = 0; i < sourceLen; i++) { + sourceNode = sourceNodes[i]; + destNode = destNodes[i]; + nodeType = sourceNode.nodeType; + + + if (nodeType !== destNode.nodeType || (nodeType === 1 && sourceNode.tagName !== destNode.tagName)) { + dest.innerHTML = source.innerHTML; + return; + } + + + if (nodeType === 3) { + destNode.data = sourceNode.data; + } + + else { + if (sourceNode.id && destNode.id !== sourceNode.id) { + destNode.id = sourceNode.id; + } + destNode.style.cssText = sourceNode.style.cssText; + destNode.className = sourceNode.className; + Ext.fly(destNode).syncContent(sourceNode); + } + } + }, + + + update : function(html, loadScripts, callback) { + var me = this, + id, + dom, + interval; + + if (!me.dom) { + return me; + } + html = html || ''; + dom = me.dom; + + if (loadScripts !== true) { + dom.innerHTML = html; + Ext.callback(callback, me); + return me; + } + + id = Ext.id(); + html += ''; + + interval = setInterval(function() { + var hd, + match, + attrs, + srcMatch, + typeMatch, + el, + s; + if (!(el = DOC.getElementById(id))) { + return false; + } + clearInterval(interval); + Ext.removeNode(el); + hd = Ext.getHead().dom; + + while ((match = scriptTagRe.exec(html))) { + attrs = match[1]; + srcMatch = attrs ? attrs.match(srcRe) : false; + if (srcMatch && srcMatch[2]) { + s = DOC.createElement("script"); + s.src = srcMatch[2]; + typeMatch = attrs.match(typeRe); + if (typeMatch && typeMatch[2]) { + s.type = typeMatch[2]; + } + hd.appendChild(s); + } else if (match[2] && match[2].length > 0) { + if (window.execScript) { + window.execScript(match[2]); + } else { + window.eval(match[2]); + } + } + } + Ext.callback(callback, me); + }, 20); + dom.innerHTML = html.replace(replaceScriptTagRe, ''); + return me; + }, + + + removeAllListeners : function() { + this.removeAnchor(); + Ext.EventManager.removeAll(this.dom); + return this; + }, + + + createProxy : function(config, renderTo, matchBox) { + config = (typeof config == 'object') ? config : {tag : "div", cls: config}; + + var me = this, + proxy = renderTo ? Ext.DomHelper.append(renderTo, config, true) : + Ext.DomHelper.insertBefore(me.dom, config, true); + + proxy.setVisibilityMode(Element.DISPLAY); + proxy.hide(); + if (matchBox && me.setBox && me.getBox) { + proxy.setBox(me.getBox()); + } + return proxy; + }, + + + getScopeParent: function() { + var parent = this.dom.parentNode; + if (Ext.scopeResetCSS) { + + parent = parent.parentNode; + if (!Ext.supports.CSS3LinearGradient || !Ext.supports.CSS3BorderRadius) { + + + parent = parent.parentNode; + } + } + return parent; + }, + + + needsTabIndex: function() { + if (this.dom) { + if ((this.dom.nodeName === 'a') && (!this.dom.href)) { + return true; + } + return !focusRe.test(this.dom.nodeName); + } + }, + + + focusable: function () { + var dom = this.dom, + nodeName = dom.nodeName, + canFocus = false; + + if (!dom.disabled) { + if (focusRe.test(nodeName)) { + if ((nodeName !== 'a') || dom.href) { + canFocus = true; + } + } else { + canFocus = !isNaN(dom.tabIndex); + } + } + return canFocus && this.isVisible(true); + } + }); + + if (Ext.isIE) { + El.prototype.getById = function (id, asDom) { + var dom = this.dom, + cacheItem, el, ret; + + if (dom) { + + + el = (useDocForId && DOC.getElementById(id)) || dom.all[id]; + if (el) { + if (asDom) { + ret = el; + } else { + + + cacheItem = EC[id]; + if (cacheItem && cacheItem.el) { + ret = Ext.updateCacheEntry(cacheItem, el).el; + } else { + ret = new Element(el); + } + } + return ret; + } + } + + return asDom ? Ext.getDom(id) : El.get(id); + }; + } + + El.createAlias({ + + addListener: 'on', + + removeListener: 'un', + + clearListeners: 'removeAllListeners' + }); + + El.Fly = AbstractElement.Fly = new Ext.Class({ + extend: El, + + constructor: function(dom) { + this.dom = dom; + }, + + attach: AbstractElement.Fly.prototype.attach + }); + + if (Ext.isIE) { + Ext.getElementById = function (id) { + var el = DOC.getElementById(id), + detachedBodyEl; + + if (!el && (detachedBodyEl = AbstractElement.detachedBodyEl)) { + el = detachedBodyEl.dom.all[id]; + } + + return el; + }; + } else if (!DOC.querySelector) { + Ext.getDetachedBody = Ext.getBody; + + Ext.getElementById = function (id) { + return DOC.getElementById(id); + }; + } +}); + +}()); + +//@tag dom,core + +//@require Element.js + +//@define Ext.dom.Element-alignment + +//@define Ext.dom.Element + + + +Ext.dom.Element.override((function() { + + var doc = document, + win = window, + alignRe = /^([a-z]+)-([a-z]+)(\?)?$/, + round = Math.round; + + return { + + + getAnchorXY: function(anchor, local, mySize) { + + + anchor = (anchor || "tl").toLowerCase(); + mySize = mySize || {}; + + var me = this, + isViewport = me.dom == doc.body || me.dom == doc, + myWidth = mySize.width || isViewport ? Ext.dom.Element.getViewWidth() : me.getWidth(), + myHeight = mySize.height || isViewport ? Ext.dom.Element.getViewHeight() : me.getHeight(), + xy, + myPos = me.getXY(), + scroll = me.getScroll(), + extraX = isViewport ? scroll.left : !local ? myPos[0] : 0, + extraY = isViewport ? scroll.top : !local ? myPos[1] : 0; + + + + switch (anchor) { + case 'tl' : xy = [ 0, 0]; + break; + case 'bl' : xy = [ 0, myHeight]; + break; + case 'tr' : xy = [ myWidth, 0]; + break; + case 'c' : xy = [ round(myWidth * 0.5), round(myHeight * 0.5)]; + break; + case 't' : xy = [ round(myWidth * 0.5), 0]; + break; + case 'l' : xy = [ 0, round(myHeight * 0.5)]; + break; + case 'r' : xy = [ myWidth, round(myHeight * 0.5)]; + break; + case 'b' : xy = [ round(myWidth * 0.5), myHeight]; + break; + case 'br' : xy = [ myWidth, myHeight]; + } + return [xy[0] + extraX, xy[1] + extraY]; + }, + + + getAlignToXY : function(alignToEl, posSpec, offset) { + alignToEl = Ext.get(alignToEl); + + if (!alignToEl || !alignToEl.dom) { + } + + offset = offset || [0,0]; + posSpec = (!posSpec || posSpec == "?" ? "tl-bl?" : (!(/-/).test(posSpec) && posSpec !== "" ? "tl-" + posSpec : posSpec || "tl-bl")).toLowerCase(); + + var me = this, + myPosition, + alignToElPosition, + x, + y, + myWidth, + myHeight, + alignToElRegion, + viewportWidth = Ext.dom.Element.getViewWidth() - 10, + viewportHeight = Ext.dom.Element.getViewHeight() - 10, + p1y, + p1x, + p2y, + p2x, + swapY, + swapX, + docElement = doc.documentElement, + docBody = doc.body, + scrollX = (docElement.scrollLeft || docBody.scrollLeft || 0), + scrollY = (docElement.scrollTop || docBody.scrollTop || 0), + constrain, + align1, + align2, + alignMatch = posSpec.match(alignRe); + + + align1 = alignMatch[1]; + align2 = alignMatch[2]; + constrain = !!alignMatch[3]; + + + + myPosition = me.getAnchorXY(align1, true); + alignToElPosition = alignToEl.getAnchorXY(align2, false); + + x = alignToElPosition[0] - myPosition[0] + offset[0]; + y = alignToElPosition[1] - myPosition[1] + offset[1]; + + + if (constrain) { + myWidth = me.getWidth(); + myHeight = me.getHeight(); + alignToElRegion = alignToEl.getRegion(); + + + + p1y = align1.charAt(0); + p1x = align1.charAt(align1.length - 1); + p2y = align2.charAt(0); + p2x = align2.charAt(align2.length - 1); + swapY = ((p1y == "t" && p2y == "b") || (p1y == "b" && p2y == "t")); + swapX = ((p1x == "r" && p2x == "l") || (p1x == "l" && p2x == "r")); + + if (x + myWidth > viewportWidth + scrollX) { + x = swapX ? alignToElRegion.left - myWidth : viewportWidth + scrollX - myWidth; + } + if (x < scrollX) { + x = swapX ? alignToElRegion.right : scrollX; + } + if (y + myHeight > viewportHeight + scrollY) { + y = swapY ? alignToElRegion.top - myHeight : viewportHeight + scrollY - myHeight; + } + if (y < scrollY) { + y = swapY ? alignToElRegion.bottom : scrollY; + } + } + return [x,y]; + }, + + + + anchorTo : function(el, alignment, offsets, animate, monitorScroll, callback) { + var me = this, + dom = me.dom, + scroll = !Ext.isEmpty(monitorScroll), + action = function() { + Ext.fly(dom).alignTo(el, alignment, offsets, animate); + Ext.callback(callback, Ext.fly(dom)); + }, + anchor = this.getAnchor(); + + + this.removeAnchor(); + Ext.apply(anchor, { + fn: action, + scroll: scroll + }); + + Ext.EventManager.onWindowResize(action, null); + + if (scroll) { + Ext.EventManager.on(win, 'scroll', action, null, + {buffer: !isNaN(monitorScroll) ? monitorScroll : 50}); + } + action.call(me); + return me; + }, + + + removeAnchor : function() { + var me = this, + anchor = this.getAnchor(); + + if (anchor && anchor.fn) { + Ext.EventManager.removeResizeListener(anchor.fn); + if (anchor.scroll) { + Ext.EventManager.un(win, 'scroll', anchor.fn); + } + delete anchor.fn; + } + return me; + }, + + getAlignVector: function(el, spec, offset) { + var me = this, + myPos = me.getXY(), + alignedPos = me.getAlignToXY(el, spec, offset); + + el = Ext.get(el); + + alignedPos[0] -= myPos[0]; + alignedPos[1] -= myPos[1]; + return alignedPos; + }, + + + alignTo: function(element, position, offsets, animate) { + var me = this; + return me.setXY(me.getAlignToXY(element, position, offsets), + me.anim && !!animate ? me.anim(animate) : false); + }, + + + getConstrainVector: function(constrainTo, proposedPosition) { + if (!(constrainTo instanceof Ext.util.Region)) { + constrainTo = Ext.get(constrainTo).getViewRegion(); + } + var thisRegion = this.getRegion(), + vector = [0, 0], + shadowSize = (this.shadow && !this.shadowDisabled) ? this.shadow.getShadowSize() : undefined, + overflowed = false; + + + if (proposedPosition) { + thisRegion.translateBy(proposedPosition[0] - thisRegion.x, proposedPosition[1] - thisRegion.y); + } + + + if (shadowSize) { + constrainTo.adjust(shadowSize[0], -shadowSize[1], -shadowSize[2], shadowSize[3]); + } + + + if (thisRegion.right > constrainTo.right) { + overflowed = true; + vector[0] = (constrainTo.right - thisRegion.right); + } + if (thisRegion.left + vector[0] < constrainTo.left) { + overflowed = true; + vector[0] = (constrainTo.left - thisRegion.left); + } + + + if (thisRegion.bottom > constrainTo.bottom) { + overflowed = true; + vector[1] = (constrainTo.bottom - thisRegion.bottom); + } + if (thisRegion.top + vector[1] < constrainTo.top) { + overflowed = true; + vector[1] = (constrainTo.top - thisRegion.top); + } + return overflowed ? vector : false; + }, + + + getCenterXY : function(){ + return this.getAlignToXY(doc, 'c-c'); + }, + + + center : function(centerIn){ + return this.alignTo(centerIn || doc, 'c-c'); + } + }; +}())); + +//@tag dom,core + +//@require Ext.dom.Element-alignment + +//@define Ext.dom.Element-anim + +//@define Ext.dom.Element + + + + + +Ext.dom.Element.override({ + + animate: function(config) { + var me = this, + listeners, + anim, + animId = me.dom.id || Ext.id(me.dom); + + if (!Ext.fx.Manager.hasFxBlock(animId)) { + + if (config.listeners) { + listeners = config.listeners; + delete config.listeners; + } + if (config.internalListeners) { + config.listeners = config.internalListeners; + delete config.internalListeners; + } + anim = new Ext.fx.Anim(me.anim(config)); + if (listeners) { + anim.on(listeners); + } + Ext.fx.Manager.queueFx(anim); + } + return me; + }, + + + anim: function(config) { + if (!Ext.isObject(config)) { + return (config) ? {} : false; + } + + var me = this, + duration = config.duration || Ext.fx.Anim.prototype.duration, + easing = config.easing || 'ease', + animConfig; + + if (config.stopAnimation) { + me.stopAnimation(); + } + + Ext.applyIf(config, Ext.fx.Manager.getFxDefaults(me.id)); + + + Ext.fx.Manager.setFxDefaults(me.id, { + delay: 0 + }); + + animConfig = { + + target: me.dom, + remove: config.remove, + alternate: config.alternate || false, + duration: duration, + easing: easing, + callback: config.callback, + listeners: config.listeners, + iterations: config.iterations || 1, + scope: config.scope, + block: config.block, + concurrent: config.concurrent, + delay: config.delay || 0, + paused: true, + keyframes: config.keyframes, + from: config.from || {}, + to: Ext.apply({}, config) + }; + Ext.apply(animConfig.to, config.to); + + + delete animConfig.to.to; + delete animConfig.to.from; + delete animConfig.to.remove; + delete animConfig.to.alternate; + delete animConfig.to.keyframes; + delete animConfig.to.iterations; + delete animConfig.to.listeners; + delete animConfig.to.target; + delete animConfig.to.paused; + delete animConfig.to.callback; + delete animConfig.to.scope; + delete animConfig.to.duration; + delete animConfig.to.easing; + delete animConfig.to.concurrent; + delete animConfig.to.block; + delete animConfig.to.stopAnimation; + delete animConfig.to.delay; + return animConfig; + }, + + + slideIn: function(anchor, obj, slideOut) { + var me = this, + elStyle = me.dom.style, + beforeAnim, + wrapAnim, + restoreScroll, + wrapDomParentNode; + + anchor = anchor || "t"; + obj = obj || {}; + + beforeAnim = function() { + var animScope = this, + listeners = obj.listeners, + box, originalStyles, anim, wrap; + + if (!slideOut) { + me.fixDisplay(); + } + + box = me.getBox(); + if ((anchor == 't' || anchor == 'b') && box.height === 0) { + box.height = me.dom.scrollHeight; + } + else if ((anchor == 'l' || anchor == 'r') && box.width === 0) { + box.width = me.dom.scrollWidth; + } + + originalStyles = me.getStyles('width', 'height', 'left', 'right', 'top', 'bottom', 'position', 'z-index', true); + me.setSize(box.width, box.height); + + + if (obj.preserveScroll) { + restoreScroll = me.cacheScrollValues(); + } + + wrap = me.wrap({ + id: Ext.id() + '-anim-wrap-for-' + me.id, + style: { + visibility: slideOut ? 'visible' : 'hidden' + } + }); + wrapDomParentNode = wrap.dom.parentNode; + wrap.setPositioning(me.getPositioning()); + if (wrap.isStyle('position', 'static')) { + wrap.position('relative'); + } + me.clearPositioning('auto'); + wrap.clip(); + + + if (restoreScroll) { + restoreScroll(); + } + + + + + me.setStyle({ + visibility: '', + position: 'absolute' + }); + if (slideOut) { + wrap.setSize(box.width, box.height); + } + + switch (anchor) { + case 't': + anim = { + from: { + width: box.width + 'px', + height: '0px' + }, + to: { + width: box.width + 'px', + height: box.height + 'px' + } + }; + elStyle.bottom = '0px'; + break; + case 'l': + anim = { + from: { + width: '0px', + height: box.height + 'px' + }, + to: { + width: box.width + 'px', + height: box.height + 'px' + } + }; + elStyle.right = '0px'; + break; + case 'r': + anim = { + from: { + x: box.x + box.width, + width: '0px', + height: box.height + 'px' + }, + to: { + x: box.x, + width: box.width + 'px', + height: box.height + 'px' + } + }; + break; + case 'b': + anim = { + from: { + y: box.y + box.height, + width: box.width + 'px', + height: '0px' + }, + to: { + y: box.y, + width: box.width + 'px', + height: box.height + 'px' + } + }; + break; + case 'tl': + anim = { + from: { + x: box.x, + y: box.y, + width: '0px', + height: '0px' + }, + to: { + width: box.width + 'px', + height: box.height + 'px' + } + }; + elStyle.bottom = '0px'; + elStyle.right = '0px'; + break; + case 'bl': + anim = { + from: { + y: box.y + box.height, + width: '0px', + height: '0px' + }, + to: { + y: box.y, + width: box.width + 'px', + height: box.height + 'px' + } + }; + elStyle.bottom = '0px'; + break; + case 'br': + anim = { + from: { + x: box.x + box.width, + y: box.y + box.height, + width: '0px', + height: '0px' + }, + to: { + x: box.x, + y: box.y, + width: box.width + 'px', + height: box.height + 'px' + } + }; + break; + case 'tr': + anim = { + from: { + x: box.x + box.width, + width: '0px', + height: '0px' + }, + to: { + x: box.x, + width: box.width + 'px', + height: box.height + 'px' + } + }; + elStyle.right = '0px'; + break; + } + + wrap.show(); + wrapAnim = Ext.apply({}, obj); + delete wrapAnim.listeners; + wrapAnim = new Ext.fx.Anim(Ext.applyIf(wrapAnim, { + target: wrap, + duration: 500, + easing: 'ease-out', + from: slideOut ? anim.to : anim.from, + to: slideOut ? anim.from : anim.to + })); + + + wrapAnim.on('afteranimate', function() { + me.setStyle(originalStyles); + if (slideOut) { + if (obj.useDisplay) { + me.setDisplayed(false); + } else { + me.hide(); + } + } + if (wrap.dom) { + if (wrap.dom.parentNode) { + wrap.dom.parentNode.insertBefore(me.dom, wrap.dom); + } else { + wrapDomParentNode.appendChild(me.dom); + } + wrap.remove(); + } + + if (restoreScroll) { + restoreScroll(); + } + + animScope.end(); + }); + + if (listeners) { + wrapAnim.on(listeners); + } + }; + + me.animate({ + + duration: obj.duration ? Math.max(obj.duration, 500) * 2 : 1000, + listeners: { + beforeanimate: beforeAnim + } + }); + return me; + }, + + + + slideOut: function(anchor, o) { + return this.slideIn(anchor, o, true); + }, + + + puff: function(obj) { + var me = this, + beforeAnim, + box = me.getBox(), + originalStyles = me.getStyles('width', 'height', 'left', 'right', 'top', 'bottom', 'position', 'z-index', 'font-size', 'opacity', true); + + obj = Ext.applyIf(obj || {}, { + easing: 'ease-out', + duration: 500, + useDisplay: false + }); + + beforeAnim = function() { + me.clearOpacity(); + me.show(); + this.to = { + width: box.width * 2, + height: box.height * 2, + x: box.x - (box.width / 2), + y: box.y - (box.height /2), + opacity: 0, + fontSize: '200%' + }; + this.on('afteranimate',function() { + if (me.dom) { + if (obj.useDisplay) { + me.setDisplayed(false); + } else { + me.hide(); + } + me.setStyle(originalStyles); + obj.callback.call(obj.scope); + } + }); + }; + + me.animate({ + duration: obj.duration, + easing: obj.easing, + listeners: { + beforeanimate: { + fn: beforeAnim + } + } + }); + return me; + }, + + + switchOff: function(obj) { + var me = this, + beforeAnim; + + obj = Ext.applyIf(obj || {}, { + easing: 'ease-in', + duration: 500, + remove: false, + useDisplay: false + }); + + beforeAnim = function() { + var animScope = this, + size = me.getSize(), + xy = me.getXY(), + keyframe, position; + me.clearOpacity(); + me.clip(); + position = me.getPositioning(); + + keyframe = new Ext.fx.Animator({ + target: me, + duration: obj.duration, + easing: obj.easing, + keyframes: { + 33: { + opacity: 0.3 + }, + 66: { + height: 1, + y: xy[1] + size.height / 2 + }, + 100: { + width: 1, + x: xy[0] + size.width / 2 + } + } + }); + keyframe.on('afteranimate', function() { + if (obj.useDisplay) { + me.setDisplayed(false); + } else { + me.hide(); + } + me.clearOpacity(); + me.setPositioning(position); + me.setSize(size); + + animScope.end(); + }); + }; + + me.animate({ + + duration: (Math.max(obj.duration, 500) * 2), + listeners: { + beforeanimate: { + fn: beforeAnim + } + } + }); + return me; + }, + + + frame : function(color, count, obj){ + var me = this, + beforeAnim; + + color = color || '#C3DAF9'; + count = count || 1; + obj = obj || {}; + + beforeAnim = function() { + me.show(); + var animScope = this, + box = me.getBox(), + proxy = Ext.getBody().createChild({ + id: me.id + '-anim-proxy', + style: { + position : 'absolute', + 'pointer-events': 'none', + 'z-index': 35000, + border : '0px solid ' + color + } + }), + proxyAnim; + proxyAnim = new Ext.fx.Anim({ + target: proxy, + duration: obj.duration || 1000, + iterations: count, + from: { + top: box.y, + left: box.x, + borderWidth: 0, + opacity: 1, + height: box.height, + width: box.width + }, + to: { + top: box.y - 20, + left: box.x - 20, + borderWidth: 10, + opacity: 0, + height: box.height + 40, + width: box.width + 40 + } + }); + proxyAnim.on('afteranimate', function() { + proxy.remove(); + + animScope.end(); + }); + }; + + me.animate({ + + duration: (Math.max(obj.duration, 500) * 2) || 2000, + listeners: { + beforeanimate: { + fn: beforeAnim + } + } + }); + return me; + }, + + + ghost: function(anchor, obj) { + var me = this, + beforeAnim; + + anchor = anchor || "b"; + beforeAnim = function() { + var width = me.getWidth(), + height = me.getHeight(), + xy = me.getXY(), + position = me.getPositioning(), + to = { + opacity: 0 + }; + switch (anchor) { + case 't': + to.y = xy[1] - height; + break; + case 'l': + to.x = xy[0] - width; + break; + case 'r': + to.x = xy[0] + width; + break; + case 'b': + to.y = xy[1] + height; + break; + case 'tl': + to.x = xy[0] - width; + to.y = xy[1] - height; + break; + case 'bl': + to.x = xy[0] - width; + to.y = xy[1] + height; + break; + case 'br': + to.x = xy[0] + width; + to.y = xy[1] + height; + break; + case 'tr': + to.x = xy[0] + width; + to.y = xy[1] - height; + break; + } + this.to = to; + this.on('afteranimate', function () { + if (me.dom) { + me.hide(); + me.clearOpacity(); + me.setPositioning(position); + } + }); + }; + + me.animate(Ext.applyIf(obj || {}, { + duration: 500, + easing: 'ease-out', + listeners: { + beforeanimate: { + fn: beforeAnim + } + } + })); + return me; + }, + + + highlight: function(color, o) { + var me = this, + dom = me.dom, + from = {}, + restore, to, attr, lns, event, fn; + + o = o || {}; + lns = o.listeners || {}; + attr = o.attr || 'backgroundColor'; + from[attr] = color || 'ffff9c'; + + if (!o.to) { + to = {}; + to[attr] = o.endColor || me.getColor(attr, 'ffffff', ''); + } + else { + to = o.to; + } + + + o.listeners = Ext.apply(Ext.apply({}, lns), { + beforeanimate: function() { + restore = dom.style[attr]; + me.clearOpacity(); + me.show(); + + event = lns.beforeanimate; + if (event) { + fn = event.fn || event; + return fn.apply(event.scope || lns.scope || window, arguments); + } + }, + afteranimate: function() { + if (dom) { + dom.style[attr] = restore; + } + + event = lns.afteranimate; + if (event) { + fn = event.fn || event; + fn.apply(event.scope || lns.scope || window, arguments); + } + } + }); + + me.animate(Ext.apply({}, o, { + duration: 1000, + easing: 'ease-in', + from: from, + to: to + })); + return me; + }, + + + pause: function(ms) { + var me = this; + Ext.fx.Manager.setFxDefaults(me.id, { + delay: ms + }); + return me; + }, + + + fadeIn: function(o) { + var me = this; + me.animate(Ext.apply({}, o, { + opacity: 1, + internalListeners: { + beforeanimate: function(anim){ + + + if (me.isStyle('display', 'none')) { + me.setDisplayed(''); + } else { + me.show(); + } + } + } + })); + return this; + }, + + + fadeOut: function(o) { + var me = this; + o = Ext.apply({ + opacity: 0, + internalListeners: { + afteranimate: function(anim){ + var dom = me.dom; + if (dom && anim.to.opacity === 0) { + if (o.useDisplay) { + me.setDisplayed(false); + } else { + me.hide(); + } + } + } + } + }, o); + me.animate(o); + return me; + }, + + + scale: function(w, h, o) { + this.animate(Ext.apply({}, o, { + width: w, + height: h + })); + return this; + }, + + + shift: function(config) { + this.animate(config); + return this; + } +}); + +//@tag dom,core + +//@require Ext.dom.Element-anim + +//@define Ext.dom.Element-dd + +//@define Ext.dom.Element + + + +Ext.dom.Element.override({ + + initDD : function(group, config, overrides){ + var dd = new Ext.dd.DD(Ext.id(this.dom), group, config); + return Ext.apply(dd, overrides); + }, + + + initDDProxy : function(group, config, overrides){ + var dd = new Ext.dd.DDProxy(Ext.id(this.dom), group, config); + return Ext.apply(dd, overrides); + }, + + + initDDTarget : function(group, config, overrides){ + var dd = new Ext.dd.DDTarget(Ext.id(this.dom), group, config); + return Ext.apply(dd, overrides); + } +}); + +//@tag dom,core + +//@require Ext.dom.Element-dd + +//@define Ext.dom.Element-fx + +//@define Ext.dom.Element + + + +(function() { + +var Element = Ext.dom.Element, + VISIBILITY = "visibility", + DISPLAY = "display", + NONE = "none", + HIDDEN = 'hidden', + VISIBLE = 'visible', + OFFSETS = "offsets", + ASCLASS = "asclass", + NOSIZE = 'nosize', + ORIGINALDISPLAY = 'originalDisplay', + VISMODE = 'visibilityMode', + ISVISIBLE = 'isVisible', + OFFSETCLASS = Ext.baseCSSPrefix + 'hide-offsets', + getDisplay = function(el) { + var data = (el.$cache || el.getCache()).data, + display = data[ORIGINALDISPLAY]; + + if (display === undefined) { + data[ORIGINALDISPLAY] = display = ''; + } + return display; + }, + getVisMode = function(el){ + var data = (el.$cache || el.getCache()).data, + visMode = data[VISMODE]; + + if (visMode === undefined) { + data[VISMODE] = visMode = Element.VISIBILITY; + } + return visMode; + }; + +Element.override({ + + originalDisplay : "", + visibilityMode : 1, + + + setVisible : function(visible, animate) { + var me = this, + dom = me.dom, + visMode = getVisMode(me); + + + if (typeof animate == 'string') { + switch (animate) { + case DISPLAY: + visMode = Element.DISPLAY; + break; + case VISIBILITY: + visMode = Element.VISIBILITY; + break; + case OFFSETS: + visMode = Element.OFFSETS; + break; + case NOSIZE: + case ASCLASS: + visMode = Element.ASCLASS; + break; + } + me.setVisibilityMode(visMode); + animate = false; + } + + if (!animate || !me.anim) { + if (visMode == Element.DISPLAY) { + return me.setDisplayed(visible); + } else if (visMode == Element.OFFSETS) { + me[visible?'removeCls':'addCls'](OFFSETCLASS); + } else if (visMode == Element.VISIBILITY) { + me.fixDisplay(); + + dom.style.visibility = visible ? '' : HIDDEN; + } else if (visMode == Element.ASCLASS) { + me[visible?'removeCls':'addCls'](me.visibilityCls || Element.visibilityCls); + } + } else { + + if (visible) { + me.setOpacity(0.01); + me.setVisible(true); + } + if (!Ext.isObject(animate)) { + animate = { + duration: 350, + easing: 'ease-in' + }; + } + me.animate(Ext.applyIf({ + callback: function() { + if (!visible) { + me.setVisible(false).setOpacity(1); + } + }, + to: { + opacity: (visible) ? 1 : 0 + } + }, animate)); + } + (me.$cache || me.getCache()).data[ISVISIBLE] = visible; + return me; + }, + + + hasMetrics : function(){ + var visMode = getVisMode(this); + return this.isVisible() || (visMode == Element.OFFSETS) || (visMode == Element.VISIBILITY); + }, + + + toggle : function(animate){ + var me = this; + me.setVisible(!me.isVisible(), me.anim(animate)); + return me; + }, + + + setDisplayed : function(value) { + if(typeof value == "boolean"){ + value = value ? getDisplay(this) : NONE; + } + this.setStyle(DISPLAY, value); + return this; + }, + + + fixDisplay : function(){ + var me = this; + if (me.isStyle(DISPLAY, NONE)) { + me.setStyle(VISIBILITY, HIDDEN); + me.setStyle(DISPLAY, getDisplay(me)); + if (me.isStyle(DISPLAY, NONE)) { + me.setStyle(DISPLAY, "block"); + } + } + }, + + + hide : function(animate){ + + if (typeof animate == 'string'){ + this.setVisible(false, animate); + return this; + } + this.setVisible(false, this.anim(animate)); + return this; + }, + + + show : function(animate){ + + if (typeof animate == 'string'){ + this.setVisible(true, animate); + return this; + } + this.setVisible(true, this.anim(animate)); + return this; + } +}); + +}()); + +//@tag dom,core + +//@require Ext.dom.Element-fx + +//@define Ext.dom.Element-position + +//@define Ext.dom.Element + + + +(function() { + +var Element = Ext.dom.Element, + LEFT = "left", + RIGHT = "right", + TOP = "top", + BOTTOM = "bottom", + POSITION = "position", + STATIC = "static", + RELATIVE = "relative", + AUTO = "auto", + ZINDEX = "z-index", + BODY = 'BODY', + + PADDING = 'padding', + BORDER = 'border', + SLEFT = '-left', + SRIGHT = '-right', + STOP = '-top', + SBOTTOM = '-bottom', + SWIDTH = '-width', + + borders = {l: BORDER + SLEFT + SWIDTH, r: BORDER + SRIGHT + SWIDTH, t: BORDER + STOP + SWIDTH, b: BORDER + SBOTTOM + SWIDTH}, + paddings = {l: PADDING + SLEFT, r: PADDING + SRIGHT, t: PADDING + STOP, b: PADDING + SBOTTOM}, + paddingsTLRB = [paddings.l, paddings.r, paddings.t, paddings.b], + bordersTLRB = [borders.l, borders.r, borders.t, borders.b], + positionTopLeft = ['position', 'top', 'left']; + +Element.override({ + + getX: function() { + return Element.getX(this.dom); + }, + + getY: function() { + return Element.getY(this.dom); + }, + + + getXY: function() { + return Element.getXY(this.dom); + }, + + + getOffsetsTo : function(el){ + var o = this.getXY(), + e = Ext.fly(el, '_internal').getXY(); + return [o[0] - e[0],o[1] - e[1]]; + }, + + setX: function(x, animate) { + return this.setXY([x, this.getY()], animate); + }, + + setY: function(y, animate) { + return this.setXY([this.getX(), y], animate); + }, + + setLeft: function(left) { + this.setStyle(LEFT, this.addUnits(left)); + return this; + }, + + setTop: function(top) { + this.setStyle(TOP, this.addUnits(top)); + return this; + }, + + setRight: function(right) { + this.setStyle(RIGHT, this.addUnits(right)); + return this; + }, + + setBottom: function(bottom) { + this.setStyle(BOTTOM, this.addUnits(bottom)); + return this; + }, + + + setXY: function(pos, animate) { + var me = this; + if (!animate || !me.anim) { + Element.setXY(me.dom, pos); + } + else { + if (!Ext.isObject(animate)) { + animate = {}; + } + me.animate(Ext.applyIf({ to: { x: pos[0], y: pos[1] } }, animate)); + } + return me; + }, + + pxRe: /^\d+(?:\.\d*)?px$/i, + + + getLocalX: function() { + var me = this, + offsetParent, + x = me.getStyle(LEFT); + + if (!x || x === AUTO) { + return 0; + } + if (x && me.pxRe.test(x)) { + return parseFloat(x); + } + + x = me.getX(); + + offsetParent = me.dom.offsetParent; + if (offsetParent) { + x -= Ext.fly(offsetParent).getX(); + } + + return x; + }, + + + getLocalY: function() { + var me = this, + offsetParent, + y = me.getStyle(TOP); + + if (!y || y === AUTO) { + return 0; + } + if (y && me.pxRe.test(y)) { + return parseFloat(y); + } + + y = me.getY(); + + offsetParent = me.dom.offsetParent; + if (offsetParent) { + y -= Ext.fly(offsetParent).getY(); + } + + return y; + }, + + getLeft: function(local) { + return local ? this.getLocalX() : this.getX(); + }, + + getRight: function(local) { + return (local ? this.getLocalX() : this.getX()) + this.getWidth(); + }, + + getTop: function(local) { + return local ? this.getLocalY() : this.getY(); + }, + + getBottom: function(local) { + return (local ? this.getLocalY() : this.getY()) + this.getHeight(); + }, + + translatePoints: function(x, y) { + var me = this, + styles = me.getStyle(positionTopLeft), + relative = styles.position == 'relative', + left = parseFloat(styles.left), + top = parseFloat(styles.top), + xy = me.getXY(); + + if (Ext.isArray(x)) { + y = x[1]; + x = x[0]; + } + if (isNaN(left)) { + left = relative ? 0 : me.dom.offsetLeft; + } + if (isNaN(top)) { + top = relative ? 0 : me.dom.offsetTop; + } + left = (typeof x == 'number') ? x - xy[0] + left : undefined; + top = (typeof y == 'number') ? y - xy[1] + top : undefined; + return { + left: left, + top: top + }; + + }, + + setBox: function(box, adjust, animate) { + var me = this, + w = box.width, + h = box.height; + if ((adjust && !me.autoBoxAdjust) && !me.isBorderBox()) { + w -= (me.getBorderWidth("lr") + me.getPadding("lr")); + h -= (me.getBorderWidth("tb") + me.getPadding("tb")); + } + me.setBounds(box.x, box.y, w, h, animate); + return me; + }, + + getBox: function(contentBox, local) { + var me = this, + xy, + left, + top, + paddingWidth, + bordersWidth, + l, r, t, b, w, h, bx; + + if (!local) { + xy = me.getXY(); + } else { + xy = me.getStyle([LEFT, TOP]); + xy = [ parseFloat(xy.left) || 0, parseFloat(xy.top) || 0]; + } + w = me.getWidth(); + h = me.getHeight(); + if (!contentBox) { + bx = { + x: xy[0], + y: xy[1], + 0: xy[0], + 1: xy[1], + width: w, + height: h + }; + } else { + paddingWidth = me.getStyle(paddingsTLRB); + bordersWidth = me.getStyle(bordersTLRB); + + l = (parseFloat(bordersWidth[borders.l]) || 0) + (parseFloat(paddingWidth[paddings.l]) || 0); + r = (parseFloat(bordersWidth[borders.r]) || 0) + (parseFloat(paddingWidth[paddings.r]) || 0); + t = (parseFloat(bordersWidth[borders.t]) || 0) + (parseFloat(paddingWidth[paddings.t]) || 0); + b = (parseFloat(bordersWidth[borders.b]) || 0) + (parseFloat(paddingWidth[paddings.b]) || 0); + + bx = { + x: xy[0] + l, + y: xy[1] + t, + 0: xy[0] + l, + 1: xy[1] + t, + width: w - (l + r), + height: h - (t + b) + }; + } + bx.right = bx.x + bx.width; + bx.bottom = bx.y + bx.height; + + return bx; + }, + + getPageBox: function(getRegion) { + var me = this, + el = me.dom, + isDoc = el.nodeName == BODY, + w = isDoc ? Ext.dom.AbstractElement.getViewWidth() : el.offsetWidth, + h = isDoc ? Ext.dom.AbstractElement.getViewHeight() : el.offsetHeight, + xy = me.getXY(), + t = xy[1], + r = xy[0] + w, + b = xy[1] + h, + l = xy[0]; + + if (getRegion) { + return new Ext.util.Region(t, r, b, l); + } + else { + return { + left: l, + top: t, + width: w, + height: h, + right: r, + bottom: b + }; + } + }, + + + setLocation : function(x, y, animate) { + return this.setXY([x, y], animate); + }, + + + moveTo : function(x, y, animate) { + return this.setXY([x, y], animate); + }, + + + position : function(pos, zIndex, x, y) { + var me = this; + + if (!pos && me.isStyle(POSITION, STATIC)) { + me.setStyle(POSITION, RELATIVE); + } else if (pos) { + me.setStyle(POSITION, pos); + } + if (zIndex) { + me.setStyle(ZINDEX, zIndex); + } + if (x || y) { + me.setXY([x || false, y || false]); + } + }, + + + clearPositioning : function(value) { + value = value || ''; + this.setStyle({ + left : value, + right : value, + top : value, + bottom : value, + "z-index" : "", + position : STATIC + }); + return this; + }, + + + getPositioning : function(){ + var styles = this.getStyle([LEFT, TOP, POSITION, RIGHT, BOTTOM, ZINDEX]); + styles[RIGHT] = styles[LEFT] ? '' : styles[RIGHT]; + styles[BOTTOM] = styles[TOP] ? '' : styles[BOTTOM]; + return styles; + }, + + + setPositioning : function(pc) { + var me = this, + style = me.dom.style; + + me.setStyle(pc); + + if (pc.right == AUTO) { + style.right = ""; + } + if (pc.bottom == AUTO) { + style.bottom = ""; + } + + return me; + }, + + + move: function(direction, distance, animate) { + var me = this, + xy = me.getXY(), + x = xy[0], + y = xy[1], + left = [x - distance, y], + right = [x + distance, y], + top = [x, y - distance], + bottom = [x, y + distance], + hash = { + l: left, + left: left, + r: right, + right: right, + t: top, + top: top, + up: top, + b: bottom, + bottom: bottom, + down: bottom + }; + + direction = direction.toLowerCase(); + me.moveTo(hash[direction][0], hash[direction][1], animate); + }, + + + setLeftTop: function(left, top) { + var style = this.dom.style; + + style.left = Element.addUnits(left); + style.top = Element.addUnits(top); + + return this; + }, + + + getRegion: function() { + return this.getPageBox(true); + }, + + + getViewRegion: function() { + var me = this, + isBody = me.dom.nodeName == BODY, + scroll, pos, top, left, width, height; + + + if (isBody) { + scroll = me.getScroll(); + left = scroll.left; + top = scroll.top; + width = Ext.dom.AbstractElement.getViewportWidth(); + height = Ext.dom.AbstractElement.getViewportHeight(); + } + else { + pos = me.getXY(); + left = pos[0] + me.getBorderWidth('l') + me.getPadding('l'); + top = pos[1] + me.getBorderWidth('t') + me.getPadding('t'); + width = me.getWidth(true); + height = me.getHeight(true); + } + + return new Ext.util.Region(top, left + width - 1, top + height - 1, left); + }, + + + setBounds: function(x, y, width, height, animate) { + var me = this; + if (!animate || !me.anim) { + me.setSize(width, height); + me.setLocation(x, y); + } else { + if (!Ext.isObject(animate)) { + animate = {}; + } + me.animate(Ext.applyIf({ + to: { + x: x, + y: y, + width: me.adjustWidth(width), + height: me.adjustHeight(height) + } + }, animate)); + } + return me; + }, + + + setRegion: function(region, animate) { + return this.setBounds(region.left, region.top, region.right - region.left, region.bottom - region.top, animate); + } +}); + +}()); + + +//@tag dom,core + +//@require Ext.dom.Element-position + +//@define Ext.dom.Element-scroll + +//@define Ext.dom.Element + + + +Ext.dom.Element.override({ + + isScrollable: function() { + var dom = this.dom; + return dom.scrollHeight > dom.clientHeight || dom.scrollWidth > dom.clientWidth; + }, + + + getScroll: function() { + var d = this.dom, + doc = document, + body = doc.body, + docElement = doc.documentElement, + l, + t, + ret; + + if (d == doc || d == body) { + if (Ext.isIE && Ext.isStrict) { + l = docElement.scrollLeft; + t = docElement.scrollTop; + } else { + l = window.pageXOffset; + t = window.pageYOffset; + } + ret = { + left: l || (body ? body.scrollLeft : 0), + top : t || (body ? body.scrollTop : 0) + }; + } else { + ret = { + left: d.scrollLeft, + top : d.scrollTop + }; + } + + return ret; + }, + + + scrollBy: function(deltaX, deltaY, animate) { + var me = this, + dom = me.dom; + + + if (deltaX.length) { + animate = deltaY; + deltaY = deltaX[1]; + deltaX = deltaX[0]; + } else if (typeof deltaX != 'number') { + animate = deltaY; + deltaY = deltaX.y; + deltaX = deltaX.x; + } + + if (deltaX) { + me.scrollTo('left', Math.max(Math.min(dom.scrollLeft + deltaX, dom.scrollWidth - dom.clientWidth), 0), animate); + } + if (deltaY) { + me.scrollTo('top', Math.max(Math.min(dom.scrollTop + deltaY, dom.scrollHeight - dom.clientHeight), 0), animate); + } + + return me; + }, + + + scrollTo: function(side, value, animate) { + + var top = /top/i.test(side), + me = this, + dom = me.dom, + animCfg, + prop; + + if (!animate || !me.anim) { + + prop = 'scroll' + (top ? 'Top' : 'Left'); + dom[prop] = value; + + dom[prop] = value; + } + else { + animCfg = { + to: {} + }; + animCfg.to['scroll' + (top ? 'Top' : 'Left')] = value; + if (Ext.isObject(animate)) { + Ext.applyIf(animCfg, animate); + } + me.animate(animCfg); + } + return me; + }, + + + scrollIntoView: function(container, hscroll, animate) { + container = Ext.getDom(container) || Ext.getBody().dom; + var el = this.dom, + offsets = this.getOffsetsTo(container), + + left = offsets[0] + container.scrollLeft, + top = offsets[1] + container.scrollTop, + bottom = top + el.offsetHeight, + right = left + el.offsetWidth, + + ctClientHeight = container.clientHeight, + ctScrollTop = parseInt(container.scrollTop, 10), + ctScrollLeft = parseInt(container.scrollLeft, 10), + ctBottom = ctScrollTop + ctClientHeight, + ctRight = ctScrollLeft + container.clientWidth, + newPos; + + if (el.offsetHeight > ctClientHeight || top < ctScrollTop) { + newPos = top; + } else if (bottom > ctBottom) { + newPos = bottom - ctClientHeight; + } + if (newPos != null) { + Ext.get(container).scrollTo('top', newPos, animate); + } + + if (hscroll !== false) { + newPos = null; + if (el.offsetWidth > container.clientWidth || left < ctScrollLeft) { + newPos = left; + } else if (right > ctRight) { + newPos = right - container.clientWidth; + } + if (newPos != null) { + Ext.get(container).scrollTo('left', newPos, animate); + } + } + return this; + }, + + + scrollChildIntoView: function(child, hscroll) { + Ext.fly(child, '_scrollChildIntoView').scrollIntoView(this, hscroll); + }, + + + scroll: function(direction, distance, animate) { + if (!this.isScrollable()) { + return false; + } + var el = this.dom, + l = el.scrollLeft, t = el.scrollTop, + w = el.scrollWidth, h = el.scrollHeight, + cw = el.clientWidth, ch = el.clientHeight, + scrolled = false, v, + hash = { + l: Math.min(l + distance, w - cw), + r: v = Math.max(l - distance, 0), + t: Math.max(t - distance, 0), + b: Math.min(t + distance, h - ch) + }; + + hash.d = hash.b; + hash.u = hash.t; + + direction = direction.substr(0, 1); + if ((v = hash[direction]) > -1) { + scrolled = true; + this.scrollTo(direction == 'l' || direction == 'r' ? 'left' : 'top', v, this.anim(animate)); + } + return scrolled; + } +}); + +//@tag dom,core + +//@require Ext.dom.Element-scroll + +//@define Ext.dom.Element-style + +//@define Ext.dom.Element + + + +(function() { + +var Element = Ext.dom.Element, + view = document.defaultView, + adjustDirect2DTableRe = /table-row|table-.*-group/, + INTERNAL = '_internal', + HIDDEN = 'hidden', + HEIGHT = 'height', + WIDTH = 'width', + ISCLIPPED = 'isClipped', + OVERFLOW = 'overflow', + OVERFLOWX = 'overflow-x', + OVERFLOWY = 'overflow-y', + ORIGINALCLIP = 'originalClip', + DOCORBODYRE = /#document|body/i, + + + styleHooks, + edges, k, edge, borderWidth; + +if (!view || !view.getComputedStyle) { + Element.prototype.getStyle = function (property, inline) { + var me = this, + dom = me.dom, + multiple = typeof property != 'string', + hooks = me.styleHooks, + prop = property, + props = prop, + len = 1, + isInline = inline, + camel, domStyle, values, hook, out, style, i; + + if (multiple) { + values = {}; + prop = props[0]; + i = 0; + if (!(len = props.length)) { + return values; + } + } + + if (!dom || dom.documentElement) { + return values || ''; + } + + domStyle = dom.style; + + if (inline) { + style = domStyle; + } else { + style = dom.currentStyle; + + + if (!style) { + isInline = true; + style = domStyle; + } + } + + do { + hook = hooks[prop]; + + if (!hook) { + hooks[prop] = hook = { name: Element.normalize(prop) }; + } + + if (hook.get) { + out = hook.get(dom, me, isInline, style); + } else { + camel = hook.name; + + + + + + if (hook.canThrow) { + try { + out = style[camel]; + } catch (e) { + out = ''; + } + } else { + + + out = style ? style[camel] : ''; + } + } + + if (!multiple) { + return out; + } + + values[prop] = out; + prop = props[++i]; + } while (i < len); + + return values; + }; +} + +Element.override({ + getHeight: function(contentHeight, preciseHeight) { + var me = this, + dom = me.dom, + hidden = me.isStyle('display', 'none'), + height, + floating; + + if (hidden) { + return 0; + } + + height = Math.max(dom.offsetHeight, dom.clientHeight) || 0; + + + if (Ext.supports.Direct2DBug) { + floating = me.adjustDirect2DDimension(HEIGHT); + if (preciseHeight) { + height += floating; + } + else if (floating > 0 && floating < 0.5) { + height++; + } + } + + if (contentHeight) { + height -= me.getBorderWidth("tb") + me.getPadding("tb"); + } + + return (height < 0) ? 0 : height; + }, + + getWidth: function(contentWidth, preciseWidth) { + var me = this, + dom = me.dom, + hidden = me.isStyle('display', 'none'), + rect, width, floating; + + if (hidden) { + return 0; + } + + + + + + + + if (Ext.supports.BoundingClientRect) { + rect = dom.getBoundingClientRect(); + width = rect.right - rect.left; + width = preciseWidth ? width : Math.ceil(width); + } else { + width = dom.offsetWidth; + } + + width = Math.max(width, dom.clientWidth) || 0; + + + if (Ext.supports.Direct2DBug) { + + floating = me.adjustDirect2DDimension(WIDTH); + if (preciseWidth) { + width += floating; + } + + + + else if (floating > 0 && floating < 0.5) { + width++; + } + } + + if (contentWidth) { + width -= me.getBorderWidth("lr") + me.getPadding("lr"); + } + + return (width < 0) ? 0 : width; + }, + + setWidth: function(width, animate) { + var me = this; + width = me.adjustWidth(width); + if (!animate || !me.anim) { + me.dom.style.width = me.addUnits(width); + } + else { + if (!Ext.isObject(animate)) { + animate = {}; + } + me.animate(Ext.applyIf({ + to: { + width: width + } + }, animate)); + } + return me; + }, + + setHeight : function(height, animate) { + var me = this; + + height = me.adjustHeight(height); + if (!animate || !me.anim) { + me.dom.style.height = me.addUnits(height); + } + else { + if (!Ext.isObject(animate)) { + animate = {}; + } + me.animate(Ext.applyIf({ + to: { + height: height + } + }, animate)); + } + + return me; + }, + + applyStyles: function(style) { + Ext.DomHelper.applyStyles(this.dom, style); + return this; + }, + + setSize: function(width, height, animate) { + var me = this; + + if (Ext.isObject(width)) { + animate = height; + height = width.height; + width = width.width; + } + + width = me.adjustWidth(width); + height = me.adjustHeight(height); + + if (!animate || !me.anim) { + me.dom.style.width = me.addUnits(width); + me.dom.style.height = me.addUnits(height); + } + else { + if (animate === true) { + animate = {}; + } + me.animate(Ext.applyIf({ + to: { + width: width, + height: height + } + }, animate)); + } + + return me; + }, + + getViewSize : function() { + var me = this, + dom = me.dom, + isDoc = DOCORBODYRE.test(dom.nodeName), + ret; + + + if (isDoc) { + ret = { + width : Element.getViewWidth(), + height : Element.getViewHeight() + }; + } else { + ret = { + width : dom.clientWidth, + height : dom.clientHeight + }; + } + + return ret; + }, + + getSize: function(contentSize) { + return {width: this.getWidth(contentSize), height: this.getHeight(contentSize)}; + }, + + + + + adjustWidth : function(width) { + var me = this, + isNum = (typeof width == 'number'); + + if (isNum && me.autoBoxAdjust && !me.isBorderBox()) { + width -= (me.getBorderWidth("lr") + me.getPadding("lr")); + } + return (isNum && width < 0) ? 0 : width; + }, + + + adjustHeight : function(height) { + var me = this, + isNum = (typeof height == "number"); + + if (isNum && me.autoBoxAdjust && !me.isBorderBox()) { + height -= (me.getBorderWidth("tb") + me.getPadding("tb")); + } + return (isNum && height < 0) ? 0 : height; + }, + + + getColor : function(attr, defaultValue, prefix) { + var v = this.getStyle(attr), + color = prefix || prefix === '' ? prefix : '#', + h, len, i=0; + + if (!v || (/transparent|inherit/.test(v))) { + return defaultValue; + } + if (/^r/.test(v)) { + v = v.slice(4, v.length - 1).split(','); + len = v.length; + for (; i 5 ? color.toLowerCase() : defaultValue); + }, + + + setOpacity: function(opacity, animate) { + var me = this; + + if (!me.dom) { + return me; + } + + if (!animate || !me.anim) { + me.setStyle('opacity', opacity); + } + else { + if (typeof animate != 'object') { + animate = { + duration: 350, + easing: 'ease-in' + }; + } + + me.animate(Ext.applyIf({ + to: { + opacity: opacity + } + }, animate)); + } + return me; + }, + + + clearOpacity : function() { + return this.setOpacity(''); + }, + + + adjustDirect2DDimension: function(dimension) { + var me = this, + dom = me.dom, + display = me.getStyle('display'), + inlineDisplay = dom.style.display, + inlinePosition = dom.style.position, + originIndex = dimension === WIDTH ? 0 : 1, + currentStyle = dom.currentStyle, + floating; + + if (display === 'inline') { + dom.style.display = 'inline-block'; + } + + dom.style.position = display.match(adjustDirect2DTableRe) ? 'absolute' : 'static'; + + + + + + + floating = (parseFloat(currentStyle[dimension]) || parseFloat(currentStyle.msTransformOrigin.split(' ')[originIndex]) * 2) % 1; + + dom.style.position = inlinePosition; + + if (display === 'inline') { + dom.style.display = inlineDisplay; + } + + return floating; + }, + + + clip : function() { + var me = this, + data = (me.$cache || me.getCache()).data, + style; + + if (!data[ISCLIPPED]) { + data[ISCLIPPED] = true; + style = me.getStyle([OVERFLOW, OVERFLOWX, OVERFLOWY]); + data[ORIGINALCLIP] = { + o: style[OVERFLOW], + x: style[OVERFLOWX], + y: style[OVERFLOWY] + }; + me.setStyle(OVERFLOW, HIDDEN); + me.setStyle(OVERFLOWX, HIDDEN); + me.setStyle(OVERFLOWY, HIDDEN); + } + return me; + }, + + + unclip : function() { + var me = this, + data = (me.$cache || me.getCache()).data, + clip; + + if (data[ISCLIPPED]) { + data[ISCLIPPED] = false; + clip = data[ORIGINALCLIP]; + if (clip.o) { + me.setStyle(OVERFLOW, clip.o); + } + if (clip.x) { + me.setStyle(OVERFLOWX, clip.x); + } + if (clip.y) { + me.setStyle(OVERFLOWY, clip.y); + } + } + return me; + }, + + + boxWrap : function(cls) { + cls = cls || Ext.baseCSSPrefix + 'box'; + var el = Ext.get(this.insertHtml("beforeBegin", "
" + Ext.String.format(Element.boxMarkup, cls) + "
")); + Ext.DomQuery.selectNode('.' + cls + '-mc', el.dom).appendChild(this.dom); + return el; + }, + + + getComputedHeight : function() { + var me = this, + h = Math.max(me.dom.offsetHeight, me.dom.clientHeight); + if (!h) { + h = parseFloat(me.getStyle(HEIGHT)) || 0; + if (!me.isBorderBox()) { + h += me.getFrameWidth('tb'); + } + } + return h; + }, + + + getComputedWidth : function() { + var me = this, + w = Math.max(me.dom.offsetWidth, me.dom.clientWidth); + + if (!w) { + w = parseFloat(me.getStyle(WIDTH)) || 0; + if (!me.isBorderBox()) { + w += me.getFrameWidth('lr'); + } + } + return w; + }, + + + getFrameWidth : function(sides, onlyContentBox) { + return (onlyContentBox && this.isBorderBox()) ? 0 : (this.getPadding(sides) + this.getBorderWidth(sides)); + }, + + + addClsOnOver : function(className, testFn, scope) { + var me = this, + dom = me.dom, + hasTest = Ext.isFunction(testFn); + + me.hover( + function() { + if (hasTest && testFn.call(scope || me, me) === false) { + return; + } + Ext.fly(dom, INTERNAL).addCls(className); + }, + function() { + Ext.fly(dom, INTERNAL).removeCls(className); + } + ); + return me; + }, + + + addClsOnFocus : function(className, testFn, scope) { + var me = this, + dom = me.dom, + hasTest = Ext.isFunction(testFn); + + me.on("focus", function() { + if (hasTest && testFn.call(scope || me, me) === false) { + return false; + } + Ext.fly(dom, INTERNAL).addCls(className); + }); + me.on("blur", function() { + Ext.fly(dom, INTERNAL).removeCls(className); + }); + return me; + }, + + + addClsOnClick : function(className, testFn, scope) { + var me = this, + dom = me.dom, + hasTest = Ext.isFunction(testFn); + + me.on("mousedown", function() { + if (hasTest && testFn.call(scope || me, me) === false) { + return false; + } + Ext.fly(dom, INTERNAL).addCls(className); + var d = Ext.getDoc(), + fn = function() { + Ext.fly(dom, INTERNAL).removeCls(className); + d.removeListener("mouseup", fn); + }; + d.on("mouseup", fn); + }); + return me; + }, + + + getStyleSize : function() { + var me = this, + d = this.dom, + isDoc = DOCORBODYRE.test(d.nodeName), + s , + w, h; + + + if (isDoc) { + return { + width : Element.getViewWidth(), + height : Element.getViewHeight() + }; + } + + s = me.getStyle([HEIGHT, WIDTH], true); + + if (s.width && s.width != 'auto') { + w = parseFloat(s.width); + if (me.isBorderBox()) { + w -= me.getFrameWidth('lr'); + } + } + + if (s.height && s.height != 'auto') { + h = parseFloat(s.height); + if (me.isBorderBox()) { + h -= me.getFrameWidth('tb'); + } + } + + return {width: w || me.getWidth(true), height: h || me.getHeight(true)}; + }, + + + selectable : function() { + var me = this; + me.dom.unselectable = "off"; + + me.on('selectstart', function (e) { + e.stopPropagation(); + return true; + }); + me.applyStyles("-moz-user-select: text; -khtml-user-select: text;"); + me.removeCls(Ext.baseCSSPrefix + 'unselectable'); + return me; + }, + + + unselectable : function() { + var me = this; + me.dom.unselectable = "on"; + + me.swallowEvent("selectstart", true); + me.applyStyles("-moz-user-select:-moz-none;-khtml-user-select:none;"); + me.addCls(Ext.baseCSSPrefix + 'unselectable'); + + return me; + } +}); + +Element.prototype.styleHooks = styleHooks = Ext.dom.AbstractElement.prototype.styleHooks; + +if (Ext.isIE6 || Ext.isIE7) { + styleHooks.fontSize = styleHooks['font-size'] = { + name: 'fontSize', + canThrow: true + }; + + styleHooks.fontStyle = styleHooks['font-style'] = { + name: 'fontStyle', + canThrow: true + }; + + styleHooks.fontFamily = styleHooks['font-family'] = { + name: 'fontFamily', + canThrow: true + }; +} + + +if (Ext.isIEQuirks || Ext.isIE && Ext.ieVersion <= 8) { + function getBorderWidth (dom, el, inline, style) { + if (style[this.styleName] == 'none') { + return '0px'; + } + return style[this.name]; + } + + edges = ['Top','Right','Bottom','Left']; + k = edges.length; + + while (k--) { + edge = edges[k]; + borderWidth = 'border' + edge + 'Width'; + + styleHooks['border-'+edge.toLowerCase()+'-width'] = styleHooks[borderWidth] = { + name: borderWidth, + styleName: 'border' + edge + 'Style', + get: getBorderWidth + }; + } +} + +}()); + +Ext.onReady(function () { + var opacityRe = /alpha\(opacity=(.*)\)/i, + trimRe = /^\s+|\s+$/g, + hooks = Ext.dom.Element.prototype.styleHooks; + + + hooks.opacity = { + name: 'opacity', + afterSet: function(dom, value, el) { + if (el.isLayer) { + el.onOpacitySet(value); + } + } + }; + if (!Ext.supports.Opacity && Ext.isIE) { + Ext.apply(hooks.opacity, { + get: function (dom) { + var filter = dom.style.filter, + match, opacity; + if (filter.match) { + match = filter.match(opacityRe); + if (match) { + opacity = parseFloat(match[1]); + if (!isNaN(opacity)) { + return opacity ? opacity / 100 : 0; + } + } + } + return 1; + }, + set: function (dom, value) { + var style = dom.style, + val = style.filter.replace(opacityRe, '').replace(trimRe, ''); + + style.zoom = 1; + + + if (typeof(value) == 'number' && value >= 0 && value < 1) { + value *= 100; + style.filter = val + (val.length ? ' ' : '') + 'alpha(opacity='+value+')'; + } else { + style.filter = val; + } + } + }); + } + + +}); + +//@tag dom,core + +//@require Ext.dom.Element-style + +//@define Ext.dom.Element-traversal + +//@define Ext.dom.Element + + + +Ext.dom.Element.override({ + select: function(selector) { + return Ext.dom.Element.select(selector, false, this.dom); + } +}); + +//@tag dom,core + +//@require Ext.dom.Element-traversal + + + +Ext.define('Ext.dom.CompositeElementLite', { + alternateClassName: 'Ext.CompositeElementLite', + + requires: ['Ext.dom.Element', 'Ext.dom.Query'], + + statics: { + + importElementMethods: function() { + var name, + elementPrototype = Ext.dom.Element.prototype, + prototype = this.prototype; + + for (name in elementPrototype) { + if (typeof elementPrototype[name] == 'function'){ + (function(key) { + prototype[key] = prototype[key] || function() { + return this.invoke(key, arguments); + }; + }).call(prototype, name); + + } + } + } + }, + + constructor: function(elements, root) { + + this.elements = []; + this.add(elements, root); + this.el = new Ext.dom.AbstractElement.Fly(); + }, + + + isComposite: true, + + + getElement: function(el) { + + return this.el.attach(el); + }, + + + transformElement: function(el) { + return Ext.getDom(el); + }, + + + getCount: function() { + return this.elements.length; + }, + + + add: function(els, root) { + var elements = this.elements, + i, ln; + + if (!els) { + return this; + } + + if (typeof els == "string") { + els = Ext.dom.Element.selectorFunction(els, root); + } + else if (els.isComposite) { + els = els.elements; + } + else if (!Ext.isIterable(els)) { + els = [els]; + } + + for (i = 0, ln = els.length; i < ln; ++i) { + elements.push(this.transformElement(els[i])); + } + + return this; + }, + + invoke: function(fn, args) { + var elements = this.elements, + ln = elements.length, + element, + i; + + fn = Ext.dom.Element.prototype[fn]; + for (i = 0; i < ln; i++) { + element = elements[i]; + + if (element) { + fn.apply(this.getElement(element), args); + } + } + return this; + }, + + + item: function(index) { + var el = this.elements[index], + out = null; + + if (el) { + out = this.getElement(el); + } + + return out; + }, + + + addListener: function(eventName, handler, scope, opt) { + var els = this.elements, + len = els.length, + i, e; + + for (i = 0; i < len; i++) { + e = els[i]; + if (e) { + Ext.EventManager.on(e, eventName, handler, scope || e, opt); + } + } + return this; + }, + + each: function(fn, scope) { + var me = this, + els = me.elements, + len = els.length, + i, e; + + for (i = 0; i < len; i++) { + e = els[i]; + if (e) { + e = this.getElement(e); + if (fn.call(scope || e, e, me, i) === false) { + break; + } + } + } + return me; + }, + + + fill: function(els) { + var me = this; + me.elements = []; + me.add(els); + return me; + }, + + + filter: function(selector) { + var me = this, + els = me.elements, + len = els.length, + out = [], + i = 0, + isFunc = typeof selector == 'function', + add, + el; + + for (; i < len; i++) { + el = els[i]; + add = false; + if (el) { + el = me.getElement(el); + + if (isFunc) { + add = selector.call(el, el, me, i) !== false; + } else { + add = el.is(selector); + } + + if (add) { + out.push(me.transformElement(el)); + } + } + } + + me.elements = out; + return me; + }, + + + indexOf: function(el) { + return Ext.Array.indexOf(this.elements, this.transformElement(el)); + }, + + + replaceElement: function(el, replacement, domReplace) { + var index = !isNaN(el) ? el : this.indexOf(el), + d; + if (index > -1) { + replacement = Ext.getDom(replacement); + if (domReplace) { + d = this.elements[index]; + d.parentNode.insertBefore(replacement, d); + Ext.removeNode(d); + } + Ext.Array.splice(this.elements, index, 1, replacement); + } + return this; + }, + + + clear: function() { + this.elements = []; + }, + + addElements: function(els, root) { + if (!els) { + return this; + } + + if (typeof els == "string") { + els = Ext.dom.Element.selectorFunction(els, root); + } + + var yels = this.elements, + eLen = els.length, + e; + + for (e = 0; e < eLen; e++) { + yels.push(Ext.get(els[e])); + } + + return this; + }, + + + first: function() { + return this.item(0); + }, + + + last: function() { + return this.item(this.getCount() - 1); + }, + + + contains: function(el) { + return this.indexOf(el) != -1; + }, + + + removeElement: function(keys, removeDom) { + keys = [].concat(keys); + + var me = this, + elements = me.elements, + kLen = keys.length, + val, el, k; + + for (k = 0; k < kLen; k++) { + val = keys[k]; + + if ((el = (elements[val] || elements[val = me.indexOf(val)]))) { + if (removeDom) { + if (el.dom) { + el.remove(); + } else { + Ext.removeNode(el); + } + } + Ext.Array.erase(elements, val, 1); + } + } + + return me; + } + +}, function() { + this.importElementMethods(); + + this.prototype.on = this.prototype.addListener; + + if (Ext.DomQuery){ + Ext.dom.Element.selectorFunction = Ext.DomQuery.select; + } + + + Ext.dom.Element.select = function(selector, root) { + var elements; + + if (typeof selector == "string") { + elements = Ext.dom.Element.selectorFunction(selector, root); + } + else if (selector.length !== undefined) { + elements = selector; + } + else { + } + + return new Ext.CompositeElementLite(elements); + }; + + + Ext.select = function() { + return Ext.dom.Element.select.apply(Ext.dom.Element, arguments); + }; +}); + + +Ext.define('Ext.util.Animate', { + requires: ['Ext.Element', 'Ext.CompositeElementLite'], + uses: ['Ext.fx.Manager', 'Ext.fx.Anim'], + + + animate: function(animObj) { + var me = this; + if (Ext.fx.Manager.hasFxBlock(me.id)) { + return me; + } + Ext.fx.Manager.queueFx(new Ext.fx.Anim(me.anim(animObj))); + return this; + }, + + + anim: function(config) { + if (!Ext.isObject(config)) { + return (config) ? {} : false; + } + + var me = this; + + if (config.stopAnimation) { + me.stopAnimation(); + } + + Ext.applyIf(config, Ext.fx.Manager.getFxDefaults(me.id)); + + return Ext.apply({ + target: me, + paused: true + }, config); + }, + + + stopFx: Ext.Function.alias(Ext.util.Animate, 'stopAnimation'), + + + stopAnimation: function() { + Ext.fx.Manager.stopAnimation(this.id); + return this; + }, + + + syncFx: function() { + Ext.fx.Manager.setFxDefaults(this.id, { + concurrent: true + }); + return this; + }, + + + sequenceFx: function() { + Ext.fx.Manager.setFxDefaults(this.id, { + concurrent: false + }); + return this; + }, + + + hasActiveFx: Ext.Function.alias(Ext.util.Animate, 'getActiveAnimation'), + + + getActiveAnimation: function() { + return Ext.fx.Manager.getActiveAnimation(this.id); + } +}, function(){ + + Ext.applyIf(Ext.Element.prototype, this.prototype); + + Ext.CompositeElementLite.importElementMethods(); +}); + + +Ext.define('Ext.util.ElementContainer', { + + childEls: [ + + + + + ], + + constructor: function () { + var me = this, + childEls; + + + + if (me.hasOwnProperty('childEls')) { + childEls = me.childEls; + delete me.childEls; + + me.addChildEls.apply(me, childEls); + } + }, + + destroy: function () { + var me = this, + childEls = me.getChildEls(), + child, childName, i, k; + + for (i = childEls.length; i--; ) { + childName = childEls[i]; + if (typeof childName != 'string') { + childName = childName.name; + } + + child = me[childName]; + if (child) { + me[childName] = null; + child.remove(); + } + } + }, + + + addChildEls: function () { + var me = this, + args = arguments; + + if (me.hasOwnProperty('childEls')) { + me.childEls.push.apply(me.childEls, args); + } else { + me.childEls = me.getChildEls().concat(Array.prototype.slice.call(args)); + } + + me.prune(me.childEls, false); + }, + + + applyChildEls: function(el, id) { + var me = this, + childEls = me.getChildEls(), + baseId, childName, i, selector, value; + + baseId = (id || me.id) + '-'; + for (i = childEls.length; i--; ) { + childName = childEls[i]; + + if (typeof childName == 'string') { + + + value = el.getById(baseId + childName); + } else { + if ((selector = childName.select)) { + value = Ext.select(selector, true, el.dom); + } else if ((selector = childName.selectNode)) { + value = Ext.get(Ext.DomQuery.selectNode(selector, el.dom)); + } else { + + value = el.getById(childName.id || (baseId + childName.itemId)); + } + + childName = childName.name; + } + + me[childName] = value; + } + }, + + getChildEls: function () { + var me = this, + self; + + + if (me.hasOwnProperty('childEls')) { + return me.childEls; + } + + + + self = me.self; + return self.$childEls || me.getClassChildEls(self); + }, + + getClassChildEls: function (cls) { + var me = this, + result = cls.$childEls, + childEls, i, length, forked, mixin, mixins, name, parts, proto, supr, superMixins; + + if (!result) { + + + + + supr = cls.superclass; + if (supr) { + supr = supr.self; + parts = [supr.$childEls || me.getClassChildEls(supr)]; + superMixins = supr.prototype.mixins || {}; + } else { + parts = []; + superMixins = {}; + } + + proto = cls.prototype; + mixins = proto.mixins; + for (name in mixins) { + if (mixins.hasOwnProperty(name) && !superMixins.hasOwnProperty(name)) { + mixin = mixins[name].self; + parts.push(mixin.$childEls || me.getClassChildEls(mixin)); + } + } + + parts.push(proto.hasOwnProperty('childEls') && proto.childEls); + + for (i = 0, length = parts.length; i < length; ++i) { + childEls = parts[i]; + if (childEls && childEls.length) { + if (!result) { + result = childEls; + } else { + if (!forked) { + forked = true; + result = result.slice(0); + } + result.push.apply(result, childEls); + } + } + } + + cls.$childEls = result = (result ? me.prune(result, !forked) : []); + } + + return result; + }, + + prune: function (childEls, shared) { + var index = childEls.length, + map = {}, + name; + + while (index--) { + name = childEls[index]; + if (typeof name != 'string') { + name = name.name; + } + + if (!map[name]) { + map[name] = 1; + } else { + if (shared) { + shared = false; + childEls = childEls.slice(0); + } + Ext.Array.erase(childEls, index, 1); + } + } + + return childEls; + }, + + + removeChildEls: function (testFn) { + var me = this, + old = me.getChildEls(), + keepers = (me.childEls = []), + n, i, cel; + + for (i = 0, n = old.length; i < n; ++i) { + cel = old[i]; + if (!testFn(cel)) { + keepers.push(cel); + } + } + } +}); + + +Ext.define('Ext.util.Renderable', { + requires: [ + 'Ext.dom.Element' + ], + + frameCls: Ext.baseCSSPrefix + 'frame', + + frameIdRegex: /[\-]frame\d+[TMB][LCR]$/, + + frameElementCls: { + tl: [], + tc: [], + tr: [], + ml: [], + mc: [], + mr: [], + bl: [], + bc: [], + br: [] + }, + + frameElNames: ['TL','TC','TR','ML','MC','MR','BL','BC','BR'], + + frameTpl: [ + '{%this.renderDockedItems(out,values,0);%}', + '', + '
{parent.baseCls}-{parent.ui}-{.}-tl" style="background-position: {tl}; padding-left: {frameWidth}px" role="presentation">', + '
{parent.baseCls}-{parent.ui}-{.}-tr" style="background-position: {tr}; padding-right: {frameWidth}px" role="presentation">', + '
{parent.baseCls}-{parent.ui}-{.}-tc" style="background-position: {tc}; height: {frameWidth}px" role="presentation">
', + '
', + '
', + '
', + '
{parent.baseCls}-{parent.ui}-{.}-ml" style="background-position: {ml}; padding-left: {frameWidth}px" role="presentation">', + '
{parent.baseCls}-{parent.ui}-{.}-mr" style="background-position: {mr}; padding-right: {frameWidth}px" role="presentation">', + '
{parent.baseCls}-{parent.ui}-{.}-mc" role="presentation">', + '{%this.applyRenderTpl(out, values)%}', + '
', + '
', + '
', + '', + '
{parent.baseCls}-{parent.ui}-{.}-bl" style="background-position: {bl}; padding-left: {frameWidth}px" role="presentation">', + '
{parent.baseCls}-{parent.ui}-{.}-br" style="background-position: {br}; padding-right: {frameWidth}px" role="presentation">', + '
{parent.baseCls}-{parent.ui}-{.}-bc" style="background-position: {bc}; height: {frameWidth}px" role="presentation">
', + '
', + '
', + '
', + '{%this.renderDockedItems(out,values,1);%}' + ], + + frameTableTpl: [ + '{%this.renderDockedItems(out,values,0);%}', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '
{parent.baseCls}-{parent.ui}-{.}-tl" style="background-position: {tl}; padding-left:{frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-tc" style="background-position: {tc}; height: {frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-tr" style="background-position: {tr}; padding-left: {frameWidth}px" role="presentation">
{parent.baseCls}-{parent.ui}-{.}-ml" style="background-position: {ml}; padding-left: {frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-mc" style="background-position: 0 0;" role="presentation">', + '{%this.applyRenderTpl(out, values)%}', + ' {parent.baseCls}-{parent.ui}-{.}-mr" style="background-position: {mr}; padding-left: {frameWidth}px" role="presentation">
{parent.baseCls}-{parent.ui}-{.}-bl" style="background-position: {bl}; padding-left: {frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-bc" style="background-position: {bc}; height: {frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-br" style="background-position: {br}; padding-left: {frameWidth}px" role="presentation">
', + '{%this.renderDockedItems(out,values,1);%}' + ], + + + afterRender : function() { + var me = this, + data = {}, + protoEl = me.protoEl, + target = me.getTargetEl(), + item; + + me.finishRenderChildren(); + + if (me.styleHtmlContent) { + target.addCls(me.styleHtmlCls); + } + + protoEl.writeTo(data); + + + + + item = data.removed; + if (item) { + target.removeCls(item); + } + + item = data.cls; + if (item.length) { + target.addCls(item); + } + + item = data.style; + if (data.style) { + target.setStyle(item); + } + + me.protoEl = null; + + + if (!me.ownerCt) { + me.updateLayout(); + } + }, + + afterFirstLayout : function(width, height) { + var me = this, + hasX = Ext.isDefined(me.x), + hasY = Ext.isDefined(me.y), + pos, xy; + + + + if (me.floating && (!hasX || !hasY)) { + if (me.floatParent) { + pos = me.floatParent.getTargetEl().getViewRegion(); + xy = me.el.getAlignToXY(me.floatParent.getTargetEl(), 'c-c'); + pos.left = xy[0] - pos.left; + pos.top = xy[1] - pos.top; + } else { + xy = me.el.getAlignToXY(me.container, 'c-c'); + pos = me.container.translatePoints(xy[0], xy[1]); + } + me.x = hasX ? me.x : pos.left; + me.y = hasY ? me.y : pos.top; + hasX = hasY = true; + } + + if (hasX || hasY) { + me.setPosition(me.x, me.y); + } + me.onBoxReady(width, height); + if (me.hasListeners.boxready) { + me.fireEvent('boxready', me, width, height); + } + }, + + onBoxReady: Ext.emptyFn, + + + applyRenderSelectors: function() { + var me = this, + selectors = me.renderSelectors, + el = me.el, + dom = el.dom, + selector; + + me.applyChildEls(el); + + + + + if (selectors) { + for (selector in selectors) { + if (selectors.hasOwnProperty(selector) && selectors[selector]) { + me[selector] = Ext.get(Ext.DomQuery.selectNode(selectors[selector], dom)); + } + } + } + }, + + beforeRender: function () { + var me = this, + target = me.getTargetEl(), + layout = me.getComponentLayout(); + + + me.frame = me.frame || me.alwaysFramed; + + if (!layout.initialized) { + layout.initLayout(); + } + + + + if (target) { + target.setStyle(me.getOverflowStyle()); + me.overflowStyleSet = true; + } + + me.setUI(me.ui); + + if (me.disabled) { + + me.disable(true); + } + }, + + + doApplyRenderTpl: function(out, values) { + + + + var me = values.$comp, + tpl; + + + if (!me.rendered) { + tpl = me.initRenderTpl(); + tpl.applyOut(values.renderData, out); + } + }, + + + doAutoRender: function() { + var me = this; + if (!me.rendered) { + if (me.floating) { + me.render(document.body); + } else { + me.render(Ext.isBoolean(me.autoRender) ? Ext.getBody() : me.autoRender); + } + } + }, + + doRenderContent: function (out, renderData) { + + + + var me = renderData.$comp; + + if (me.html) { + Ext.DomHelper.generateMarkup(me.html, out); + delete me.html; + } + + if (me.tpl) { + + if (!me.tpl.isTemplate) { + me.tpl = new Ext.XTemplate(me.tpl); + } + + if (me.data) { + + me.tpl.applyOut(me.data, out); + delete me.data; + } + } + }, + + doRenderFramingDockedItems: function (out, renderData, after) { + + + + var me = renderData.$comp; + + + + if (!me.rendered && me.doRenderDockedItems) { + + + renderData.renderData.$skipDockedItems = true; + + + + me.doRenderDockedItems.call(this, out, renderData, after); + } + }, + + + finishRender: function(containerIdx) { + var me = this, + tpl, data, contentEl, el, pre, hide; + + + + + + + + + + if (!me.el || me.$pid) { + if (me.container) { + el = me.container.getById(me.id, true); + } else { + el = Ext.getDom(me.id); + } + + if (!me.el) { + + me.wrapPrimaryEl(el); + } else { + + + delete me.$pid; + + if (!me.el.dom) { + + me.wrapPrimaryEl(me.el); + } + el.parentNode.insertBefore(me.el.dom, el); + Ext.removeNode(el); + + } + } else if (!me.rendering) { + + + + tpl = me.initRenderTpl(); + if (tpl) { + data = me.initRenderData(); + tpl.insertFirst(me.getTargetEl(), data); + } + } + + + if (!me.container) { + + me.container = Ext.get(me.el.dom.parentNode); + } + + if (me.ctCls) { + me.container.addCls(me.ctCls); + } + + + me.onRender(me.container, containerIdx); + + + if (!me.overflowStyleSet) { + me.getTargetEl().setStyle(me.getOverflowStyle()); + } + + + + me.el.setVisibilityMode(Ext.Element[me.hideMode.toUpperCase()]); + + if (me.overCls) { + me.el.hover(me.addOverCls, me.removeOverCls, me); + } + + if (me.hasListeners.render) { + me.fireEvent('render', me); + } + + if (me.contentEl) { + pre = Ext.baseCSSPrefix; + hide = pre + 'hide-'; + contentEl = Ext.get(me.contentEl); + contentEl.removeCls([pre+'hidden', hide+'display', hide+'offsets', hide+'nosize']); + me.getTargetEl().appendChild(contentEl.dom); + } + + me.afterRender(); + if (me.hasListeners.afterrender) { + me.fireEvent('afterrender', me); + } + me.initEvents(); + + if (me.hidden) { + + + + me.el.hide(); + } + }, + + finishRenderChildren: function () { + var layout = this.getComponentLayout(); + + layout.finishRender(); + }, + + getElConfig : function() { + var me = this, + autoEl = me.autoEl, + frameInfo = me.getFrameInfo(), + config = { + tag: 'div', + tpl: frameInfo ? me.initFramingTpl(frameInfo.table) : me.initRenderTpl() + }, + i, frameElNames, len, suffix, frameGenId; + + me.initStyles(me.protoEl); + me.protoEl.writeTo(config); + me.protoEl.flush(); + + if (Ext.isString(autoEl)) { + config.tag = autoEl; + } else { + Ext.apply(config, autoEl); + } + + + config.id = me.id; + + if (config.tpl) { + + if (frameInfo) { + frameElNames = me.frameElNames; + len = frameElNames.length; + frameGenId = me.id + '-frame1'; + + me.frameGenId = 1; + config.tplData = Ext.apply({}, { + $comp: me, + fgid: frameGenId, + ui: me.ui, + uiCls: me.uiCls, + frameCls: me.frameCls, + baseCls: me.baseCls, + frameWidth: frameInfo.maxWidth, + top: !!frameInfo.top, + left: !!frameInfo.left, + right: !!frameInfo.right, + bottom: !!frameInfo.bottom, + renderData: me.initRenderData() + }, me.getFramePositions(frameInfo)); + + + for (i = 0; i < len; i++) { + suffix = frameElNames[i]; + me.addChildEls({ name: 'frame' + suffix, id: frameGenId + suffix }); + } + + + me.addChildEls({ + name: 'frameBody', + id: frameGenId + 'MC' + }); + } else { + config.tplData = me.initRenderData(); + } + } + + return config; + }, + + + + initFramingTpl: function(table) { + var tpl = table ? this.getTpl('frameTableTpl') : this.getTpl('frameTpl'); + + if (tpl && !tpl.applyRenderTpl) { + this.setupFramingTpl(tpl); + } + + return tpl; + }, + + + setupFramingTpl: function(frameTpl) { + frameTpl.applyRenderTpl = this.doApplyRenderTpl; + frameTpl.renderDockedItems = this.doRenderFramingDockedItems; + }, + + + getInsertPosition: function(position) { + + if (position !== undefined) { + if (Ext.isNumber(position)) { + position = this.container.dom.childNodes[position]; + } + else { + position = Ext.getDom(position); + } + } + + return position; + }, + + getRenderTree: function() { + var me = this; + + if (!me.hasListeners.beforerender || me.fireEvent('beforerender', me) !== false) { + me.beforeRender(); + + + + me.rendering = true; + + if (me.el) { + + + + return { + tag: 'div', + id: (me.$pid = Ext.id()) + }; + } + + return me.getElConfig(); + } + + return null; + }, + + initContainer: function(container) { + var me = this; + + + + + if (!container && me.el) { + container = me.el.dom.parentNode; + me.allowDomMove = false; + } + me.container = container.dom ? container : Ext.get(container); + + return me.container; + }, + + + initRenderData: function() { + var me = this; + + return Ext.apply({ + $comp: me, + id: me.id, + ui: me.ui, + uiCls: me.uiCls, + baseCls: me.baseCls, + componentCls: me.componentCls, + frame: me.frame + }, me.renderData); + }, + + + initRenderTpl: function() { + var tpl = this.getTpl('renderTpl'); + + if (tpl && !tpl.renderContent) { + this.setupRenderTpl(tpl); + } + + return tpl; + }, + + + onRender: function(parentNode, containerIdx) { + var me = this, + x = me.x, + y = me.y, + lastBox, width, height, + el = me.el, + body = Ext.getBody().dom; + + + if (Ext.scopeResetCSS && !me.ownerCt) { + + if (el.dom === body) { + el.parent().addCls(Ext.resetCls); + } + + else { + + if (me.floating && me.el.dom.parentNode === body) { + Ext.resetElement.appendChild(me.el); + } + + else { + + me.resetEl = el.wrap(Ext.resetElementSpec, false, Ext.supports.CSS3LinearGradient ? undefined : '*'); + } + } + } + + me.applyRenderSelectors(); + + + + delete me.rendering; + + me.rendered = true; + + + lastBox = null; + + if (x !== undefined) { + lastBox = lastBox || {}; + lastBox.x = x; + } + if (y !== undefined) { + lastBox = lastBox || {}; + lastBox.y = y; + } + + + + if (!me.getFrameInfo() && Ext.isBorderBox) { + width = me.width; + height = me.height; + + if (typeof width == 'number') { + lastBox = lastBox || {}; + lastBox.width = width; + } + if (typeof height == 'number') { + lastBox = lastBox || {}; + lastBox.height = height; + } + } + + me.lastBox = me.el.lastBox = lastBox; + }, + + + render: function(container, position) { + var me = this, + el = me.el && (me.el = Ext.get(me.el)), + vetoed, + tree, + nextSibling; + + Ext.suspendLayouts(); + + container = me.initContainer(container); + + nextSibling = me.getInsertPosition(position); + + if (!el) { + tree = me.getRenderTree(); + if (me.ownerLayout && me.ownerLayout.transformItemRenderTree) { + tree = me.ownerLayout.transformItemRenderTree(tree); + } + + + if (tree) { + if (nextSibling) { + el = Ext.DomHelper.insertBefore(nextSibling, tree); + } else { + el = Ext.DomHelper.append(container, tree); + } + + me.wrapPrimaryEl(el); + } + } else { + if (!me.hasListeners.beforerender || me.fireEvent('beforerender', me) !== false) { + + me.initStyles(el); + if (me.allowDomMove !== false) { + + if (nextSibling) { + container.dom.insertBefore(el.dom, nextSibling); + } else { + container.dom.appendChild(el.dom); + } + } + } else { + vetoed = true; + } + } + + if (el && !vetoed) { + me.finishRender(position); + } + + Ext.resumeLayouts(!container.isDetachedBody); + }, + + + ensureAttachedToBody: function (runLayout) { + var comp = this, + body; + + while (comp.ownerCt) { + comp = comp.ownerCt; + } + + if (comp.container.isDetachedBody) { + comp.container = body = Ext.resetElement; + body.appendChild(comp.el.dom); + if (runLayout) { + comp.updateLayout(); + } + if (typeof comp.x == 'number' || typeof comp.y == 'number') { + comp.setPosition(comp.x, comp.y); + } + } + }, + + setupRenderTpl: function (renderTpl) { + renderTpl.renderBody = renderTpl.renderContent = this.doRenderContent; + }, + + wrapPrimaryEl: function (dom) { + this.el = Ext.get(dom, true); + }, + + + initFrame : function() { + if (Ext.supports.CSS3BorderRadius || !this.frame) { + return; + } + + var me = this, + frameInfo = me.getFrameInfo(), + frameWidth, frameTpl, frameGenId, + i, + frameElNames = me.frameElNames, + len = frameElNames.length, + suffix; + + if (frameInfo) { + frameWidth = frameInfo.maxWidth; + frameTpl = me.getFrameTpl(frameInfo.table); + + + + me.frameGenId = frameGenId = (me.frameGenId || 0) + 1; + frameGenId = me.id + '-frame' + frameGenId; + + + frameTpl.insertFirst(me.el, Ext.apply({ + $comp: me, + fgid: frameGenId, + ui: me.ui, + uiCls: me.uiCls, + frameCls: me.frameCls, + baseCls: me.baseCls, + frameWidth: frameWidth, + top: !!frameInfo.top, + left: !!frameInfo.left, + right: !!frameInfo.right, + bottom: !!frameInfo.bottom + }, me.getFramePositions(frameInfo))); + + + me.frameBody = me.el.down('.' + me.frameCls + '-mc'); + + + me.removeChildEls(function (c) { + return c.id && me.frameIdRegex.test(c.id); + }); + + + for (i = 0; i < len; i++) { + suffix = frameElNames[i]; + me['frame' + suffix] = me.el.getById(frameGenId + suffix); + } + } + }, + + updateFrame: function() { + if (Ext.supports.CSS3BorderRadius || !this.frame) { + return; + } + + var me = this, + wasTable = this.frameSize && this.frameSize.table, + oldFrameTL = this.frameTL, + oldFrameBL = this.frameBL, + oldFrameML = this.frameML, + oldFrameMC = this.frameMC, + newMCClassName; + + this.initFrame(); + + if (oldFrameMC) { + if (me.frame) { + + + newMCClassName = this.frameMC.dom.className; + + + + oldFrameMC.insertAfter(this.frameMC); + this.frameMC.remove(); + + + this.frameBody = this.frameMC = oldFrameMC; + + + oldFrameMC.dom.className = newMCClassName; + + + if (wasTable) { + me.el.query('> table')[1].remove(); + } + else { + if (oldFrameTL) { + oldFrameTL.remove(); + } + if (oldFrameBL) { + oldFrameBL.remove(); + } + if (oldFrameML) { + oldFrameML.remove(); + } + } + } + } + else if (me.frame) { + this.applyRenderSelectors(); + } + }, + + + getFrameInfo: function() { + + if (Ext.supports.CSS3BorderRadius || !this.frame) { + return false; + } + + var me = this, + frameInfoCache = me.frameInfoCache, + el = me.el || me.protoEl, + cls = el.dom ? el.dom.className : el.classList.join(' '), + frameInfo = frameInfoCache[cls], + styleEl, left, top, info; + + if (frameInfo == null) { + + styleEl = Ext.fly(me.getStyleProxy(cls), 'frame-style-el'); + left = styleEl.getStyle('background-position-x'); + top = styleEl.getStyle('background-position-y'); + + + + if (!left && !top) { + info = styleEl.getStyle('background-position').split(' '); + left = info[0]; + top = info[1]; + } + + frameInfo = me.calculateFrame(left, top); + + if (frameInfo) { + + el.setStyle('background-image', 'none'); + } + + + frameInfoCache[cls] = frameInfo; + } + + me.frame = !!frameInfo; + me.frameSize = frameInfo; + + return frameInfo; + }, + + calculateFrame: function(left, top){ + + + + if (!(parseInt(left, 10) >= 1000000 && parseInt(top, 10) >= 1000000)) { + return false; + } + var max = Math.max, + tl = parseInt(left.substr(3, 2), 10), + tr = parseInt(left.substr(5, 2), 10), + br = parseInt(top.substr(3, 2), 10), + bl = parseInt(top.substr(5, 2), 10), + frameInfo = { + + table: left.substr(0, 3) == '110', + + + vertical: top.substr(0, 3) == '110', + + + top: max(tl, tr), + right: max(tr, br), + bottom: max(bl, br), + left: max(tl, bl) + }; + + frameInfo.maxWidth = max(frameInfo.top, frameInfo.right, frameInfo.bottom, frameInfo.left); + frameInfo.width = frameInfo.left + frameInfo.right; + frameInfo.height = frameInfo.top + frameInfo.bottom; + return frameInfo; + }, + + + getStyleProxy: function(cls) { + var result = this.styleProxyEl || (Ext.AbstractComponent.prototype.styleProxyEl = Ext.resetElement.createChild({ + style: { + position: 'absolute', + top: '-10000px' + } + }, null, true)); + + result.className = cls; + return result; + }, + + getFramePositions: function(frameInfo) { + var me = this, + frameWidth = frameInfo.maxWidth, + dock = me.dock, + positions, tc, bc, ml, mr; + + if (frameInfo.vertical) { + tc = '0 -' + (frameWidth * 0) + 'px'; + bc = '0 -' + (frameWidth * 1) + 'px'; + + if (dock && dock == "right") { + tc = 'right -' + (frameWidth * 0) + 'px'; + bc = 'right -' + (frameWidth * 1) + 'px'; + } + + positions = { + tl: '0 -' + (frameWidth * 0) + 'px', + tr: '0 -' + (frameWidth * 1) + 'px', + bl: '0 -' + (frameWidth * 2) + 'px', + br: '0 -' + (frameWidth * 3) + 'px', + + ml: '-' + (frameWidth * 1) + 'px 0', + mr: 'right 0', + + tc: tc, + bc: bc + }; + } else { + ml = '-' + (frameWidth * 0) + 'px 0'; + mr = 'right 0'; + + if (dock && dock == "bottom") { + ml = 'left bottom'; + mr = 'right bottom'; + } + + positions = { + tl: '0 -' + (frameWidth * 2) + 'px', + tr: 'right -' + (frameWidth * 3) + 'px', + bl: '0 -' + (frameWidth * 4) + 'px', + br: 'right -' + (frameWidth * 5) + 'px', + + ml: ml, + mr: mr, + + tc: '0 -' + (frameWidth * 0) + 'px', + bc: '0 -' + (frameWidth * 1) + 'px' + }; + } + + return positions; + }, + + + getFrameTpl : function(table) { + return this.getTpl(table ? 'frameTableTpl' : 'frameTpl'); + }, + + + frameInfoCache: {} +}); + + +Ext.define('Ext.state.Provider', { + mixins: { + observable: 'Ext.util.Observable' + }, + + + prefix: 'ext-', + + constructor : function(config){ + config = config || {}; + var me = this; + Ext.apply(me, config); + + me.addEvents("statechange"); + me.state = {}; + me.mixins.observable.constructor.call(me); + }, + + + get : function(name, defaultValue){ + return typeof this.state[name] == "undefined" ? + defaultValue : this.state[name]; + }, + + + clear : function(name){ + var me = this; + delete me.state[name]; + me.fireEvent("statechange", me, name, null); + }, + + + set : function(name, value){ + var me = this; + me.state[name] = value; + me.fireEvent("statechange", me, name, value); + }, + + + decodeValue : function(value){ + + + + + + + + + + var me = this, + re = /^(a|n|d|b|s|o|e)\:(.*)$/, + matches = re.exec(unescape(value)), + all, + type, + keyValue, + values, + vLen, + v; + + if(!matches || !matches[1]){ + return; + } + + type = matches[1]; + value = matches[2]; + switch (type) { + case 'e': + return null; + case 'n': + return parseFloat(value); + case 'd': + return new Date(Date.parse(value)); + case 'b': + return (value == '1'); + case 'a': + all = []; + if(value != ''){ + values = value.split('^'); + vLen = values.length; + + for (v = 0; v < vLen; v++) { + value = values[v]; + all.push(me.decodeValue(value)); + } + } + return all; + case 'o': + all = {}; + if(value != ''){ + values = value.split('^'); + vLen = values.length; + + for (v = 0; v < vLen; v++) { + value = values[v]; + keyValue = value.split('='); + all[keyValue[0]] = me.decodeValue(keyValue[1]); + } + } + return all; + default: + return value; + } + }, + + + encodeValue : function(value){ + var flat = '', + i = 0, + enc, + len, + key; + + if (value == null) { + return 'e:1'; + } else if(typeof value == 'number') { + enc = 'n:' + value; + } else if(typeof value == 'boolean') { + enc = 'b:' + (value ? '1' : '0'); + } else if(Ext.isDate(value)) { + enc = 'd:' + value.toGMTString(); + } else if(Ext.isArray(value)) { + for (len = value.length; i < len; i++) { + flat += this.encodeValue(value[i]); + if (i != len - 1) { + flat += '^'; + } + } + enc = 'a:' + flat; + } else if (typeof value == 'object') { + for (key in value) { + if (typeof value[key] != 'function' && value[key] !== undefined) { + flat += key + '=' + this.encodeValue(value[key]) + '^'; + } + } + enc = 'o:' + flat.substring(0, flat.length-1); + } else { + enc = 's:' + value; + } + return escape(enc); + } +}); + + +Ext.define('Ext.state.Manager', { + singleton: true, + requires: ['Ext.state.Provider'], + constructor: function() { + this.provider = new Ext.state.Provider(); + }, + + + + setProvider : function(stateProvider){ + this.provider = stateProvider; + }, + + + get : function(key, defaultValue){ + return this.provider.get(key, defaultValue); + }, + + + set : function(key, value){ + this.provider.set(key, value); + }, + + + clear : function(key){ + this.provider.clear(key); + }, + + + getProvider : function(){ + return this.provider; + } +}); + + +Ext.define('Ext.state.Stateful', { + + + + mixins: { + observable: 'Ext.util.Observable' + }, + + requires: ['Ext.state.Manager'], + + + + + stateful: false, + + + + + + + saveDelay: 100, + + constructor: function(config) { + var me = this; + + config = config || {}; + if (config.stateful !== undefined) { + me.stateful = config.stateful; + } + if (config.saveDelay !== undefined) { + me.saveDelay = config.saveDelay; + } + me.stateId = me.stateId || config.stateId; + + if (!me.stateEvents) { + me.stateEvents = []; + } + if (config.stateEvents) { + me.stateEvents.concat(config.stateEvents); + } + this.addEvents( + + 'beforestaterestore', + + + 'staterestore', + + + 'beforestatesave', + + + 'statesave' + ); + me.mixins.observable.constructor.call(me); + + if (me.stateful !== false) { + me.addStateEvents(me.stateEvents); + me.initState(); + } + }, + + + addStateEvents: function (events) { + var me = this, + i, event, stateEventsByName; + + if (me.stateful && me.getStateId()) { + if (typeof events == 'string') { + events = Array.prototype.slice.call(arguments, 0); + } + + stateEventsByName = me.stateEventsByName || (me.stateEventsByName = {}); + + for (i = events.length; i--; ) { + event = events[i]; + + if (!stateEventsByName[event]) { + stateEventsByName[event] = 1; + me.on(event, me.onStateChange, me); + } + } + } + }, + + + onStateChange: function(){ + var me = this, + delay = me.saveDelay, + statics, runner; + + if (!me.stateful) { + return; + } + + if (delay) { + if (!me.stateTask) { + statics = Ext.state.Stateful; + runner = statics.runner || (statics.runner = new Ext.util.TaskRunner()); + + me.stateTask = runner.newTask({ + run: me.saveState, + scope: me, + interval: delay, + repeat: 1 + }); + } + + me.stateTask.start(); + } else { + me.saveState(); + } + }, + + + saveState: function() { + var me = this, + id = me.stateful && me.getStateId(), + hasListeners = me.hasListeners, + state; + + if (id) { + state = me.getState() || {}; + if (!hasListeners.beforestatesave || me.fireEvent('beforestatesave', me, state) !== false) { + Ext.state.Manager.set(id, state); + if (hasListeners.statesave) { + me.fireEvent('statesave', me, state); + } + } + } + }, + + + getState: function(){ + return null; + }, + + + applyState: function(state) { + if (state) { + Ext.apply(this, state); + } + }, + + + getStateId: function() { + var me = this; + return me.stateId || (me.autoGenId ? null : me.id); + }, + + + initState: function(){ + var me = this, + id = me.stateful && me.getStateId(), + hasListeners = me.hasListeners, + state; + + if (id) { + state = Ext.state.Manager.get(id); + if (state) { + state = Ext.apply({}, state); + if (!hasListeners.beforestaterestore || me.fireEvent('beforestaterestore', me, state) !== false) { + me.applyState(state); + if (hasListeners.staterestore) { + me.fireEvent('staterestore', me, state); + } + } + } + } + }, + + + savePropToState: function (propName, state, stateName) { + var me = this, + value = me[propName], + config = me.initialConfig; + + if (me.hasOwnProperty(propName)) { + if (!config || config[propName] !== value) { + if (state) { + state[stateName || propName] = value; + } + return true; + } + } + return false; + }, + + + savePropsToState: function (propNames, state) { + var me = this, + i, n; + + if (typeof propNames == 'string') { + me.savePropToState(propNames, state); + } else { + for (i = 0, n = propNames.length; i < n; ++i) { + me.savePropToState(propNames[i], state); + } + } + + return state; + }, + + + destroy: function(){ + var me = this, + task = me.stateTask; + + if (task) { + task.destroy(); + me.stateTask = null; + } + + me.clearListeners(); + } +}); + + +Ext.define('Ext.AbstractComponent', { + + + requires: [ + 'Ext.ComponentQuery', + 'Ext.ComponentManager', + 'Ext.util.ProtoElement' + ], + + mixins: { + observable: 'Ext.util.Observable', + animate: 'Ext.util.Animate', + elementCt: 'Ext.util.ElementContainer', + renderable: 'Ext.util.Renderable', + state: 'Ext.state.Stateful' + }, + + + + uses: [ + 'Ext.PluginManager', + 'Ext.Element', + 'Ext.DomHelper', + 'Ext.XTemplate', + 'Ext.ComponentQuery', + 'Ext.ComponentLoader', + 'Ext.EventManager', + 'Ext.layout.Context', + 'Ext.layout.Layout', + 'Ext.layout.component.Auto', + 'Ext.LoadMask', + 'Ext.ZIndexManager' + ], + + statics: { + AUTO_ID: 1000, + + pendingLayouts: null, + + layoutSuspendCount: 0, + + + cancelLayout: function(comp, isDestroying) { + var context = this.runningLayoutContext || this.pendingLayouts; + + if (context) { + context.cancelComponent(comp, false, isDestroying); + } + }, + + + flushLayouts: function () { + var me = this, + context = me.pendingLayouts; + + if (context && context.invalidQueue.length) { + me.pendingLayouts = null; + me.runningLayoutContext = context; + + Ext.override(context, { + runComplete: function () { + + + + me.runningLayoutContext = null; + + return this.callParent(); + } + }); + + context.run(); + } + }, + + + resumeLayouts: function (flush) { + if (this.layoutSuspendCount && ! --this.layoutSuspendCount) { + if (flush) { + this.flushLayouts(); + } + } + }, + + + suspendLayouts: function () { + ++this.layoutSuspendCount; + }, + + + updateLayout: function (comp, defer) { + var me = this, + running = me.runningLayoutContext, + pending; + + if (running) { + running.queueInvalidate(comp); + } else { + pending = me.pendingLayouts || (me.pendingLayouts = new Ext.layout.Context()); + pending.queueInvalidate(comp); + + if (!defer && !me.layoutSuspendCount && !comp.isLayoutSuspended()) { + me.flushLayouts(); + } + } + } + }, + + + + + isComponent: true, + + + getAutoId: function() { + this.autoGenId = true; + return ++Ext.AbstractComponent.AUTO_ID; + }, + + deferLayouts: false, + + + + + autoGenId: false, + + + + + + + + + renderTpl: '{%this.renderContent(out,values)%}', + + + + + + + + + + + + + frameSize: { left: 0, top: 0, right: 0, bottom: 0, width: 0, height: 0 }, + + + + + + + + + + + tplWriteMode: 'overwrite', + + + baseCls: Ext.baseCSSPrefix + 'component', + + + + + + + + + disabledCls: Ext.baseCSSPrefix + 'item-disabled', + + + ui: 'default', + + + uiCls: [], + + + + + + + + + + + + + + + hidden: false, + + + disabled: false, + + + + + draggable: false, + + + floating: false, + + + hideMode: 'display', + + + + + + + styleHtmlContent: false, + + + styleHtmlCls: Ext.baseCSSPrefix + 'html', + + + + + + + + + + + + autoShow: false, + + + autoRender: false, + + + allowDomMove: true, + + + + + rendered: false, + + + componentLayoutCounter: 0, + + + shrinkWrap: 2, + + weight: 0, + + + maskOnDisable: true, + + + _isLayoutRoot: false, + + + constructor : function(config) { + var me = this, + i, len, xhooks; + + if (config) { + Ext.apply(me, config); + + xhooks = me.xhooks; + if (xhooks) { + delete me.xhooks; + Ext.override(me, xhooks); + } + } else { + config = {}; + } + + me.initialConfig = config; + + me.mixins.elementCt.constructor.call(me); + + me.addEvents( + + 'beforeactivate', + + 'activate', + + 'beforedeactivate', + + 'deactivate', + + 'added', + + 'disable', + + 'enable', + + 'beforeshow', + + 'show', + + 'beforehide', + + 'hide', + + 'removed', + + 'beforerender', + + 'render', + + 'afterrender', + + 'boxready', + + 'beforedestroy', + + 'destroy', + + 'resize', + + 'move', + + 'focus', + + 'blur' + ); + + me.getId(); + + me.setupProtoEl(); + + + + if (me.cls) { + me.initialCls = me.cls; + me.protoEl.addCls(me.cls); + } + if (me.style) { + me.initialStyle = me.style; + me.protoEl.setStyle(me.style); + } + + me.mons = []; + me.renderData = me.renderData || {}; + me.renderSelectors = me.renderSelectors || {}; + + if (me.plugins) { + me.plugins = me.constructPlugins(); + } + + + if (!me.hasListeners) { + me.hasListeners = new me.HasListeners(); + } + + me.initComponent(); + + + Ext.ComponentManager.register(me); + + + me.mixins.observable.constructor.call(me); + me.mixins.state.constructor.call(me, config); + + + this.addStateEvents('resize'); + + + if (me.plugins) { + for (i = 0, len = me.plugins.length; i < len; i++) { + me.plugins[i] = me.initPlugin(me.plugins[i]); + } + } + + me.loader = me.getLoader(); + + if (me.renderTo) { + me.render(me.renderTo); + + + + } + + + + if (me.autoShow && !me.isContained) { + me.show(); + } + + }, + + initComponent: function () { + + + this.plugins = this.constructPlugins(); + + + + this.setSize(this.width, this.height); + }, + + + getState: function() { + var me = this, + state = null, + sizeModel = me.getSizeModel(); + + if (sizeModel.width.configured) { + state = me.addPropertyToState(state, 'width'); + } + if (sizeModel.height.configured) { + state = me.addPropertyToState(state, 'height'); + } + + return state; + }, + + + addPropertyToState: function (state, propName, value) { + var me = this, + len = arguments.length; + + + + if (len == 3 || me.hasOwnProperty(propName)) { + if (len < 3) { + value = me[propName]; + } + + + + if (value !== me.initialConfig[propName]) { + (state || (state = {}))[propName] = value; + } + } + + return state; + }, + + show: Ext.emptyFn, + + animate: function(animObj) { + var me = this, + hasToWidth, + hasToHeight, + toHeight, + toWidth, + to, + clearWidth, + clearHeight, + curWidth, w, curHeight, h, needsResize; + + animObj = animObj || {}; + to = animObj.to || {}; + + if (Ext.fx.Manager.hasFxBlock(me.id)) { + return me; + } + + hasToWidth = Ext.isDefined(to.width); + if (hasToWidth) { + toWidth = Ext.Number.constrain(to.width, me.minWidth, me.maxWidth); + } + + hasToHeight = Ext.isDefined(to.height); + if (hasToHeight) { + toHeight = Ext.Number.constrain(to.height, me.minHeight, me.maxHeight); + } + + + if (!animObj.dynamic && (hasToWidth || hasToHeight)) { + curWidth = (animObj.from ? animObj.from.width : undefined) || me.getWidth(); + w = curWidth; + curHeight = (animObj.from ? animObj.from.height : undefined) || me.getHeight(); + h = curHeight; + needsResize = false; + + if (hasToHeight && toHeight > curHeight) { + h = toHeight; + needsResize = true; + } + if (hasToWidth && toWidth > curWidth) { + w = toWidth; + needsResize = true; + } + + + + + if (needsResize) { + clearWidth = !Ext.isNumber(me.width); + clearHeight = !Ext.isNumber(me.height); + + me.setSize(w, h); + me.el.setSize(curWidth, curHeight); + if (clearWidth) { + delete me.width; + } + if (clearHeight) { + delete me.height; + } + } + if (hasToWidth) { + to.width = toWidth; + } + + if (hasToHeight) { + to.height = toHeight; + } + } + return me.mixins.animate.animate.apply(me, arguments); + }, + + onHide: function() { + this.updateLayout({ isRoot: false }); + }, + + onShow : function() { + this.updateLayout({ isRoot: false }); + }, + + constructPlugin: function(plugin) { + + + if (plugin.ptype && typeof plugin.init != 'function') { + plugin.cmp = this; + plugin = Ext.PluginManager.create(plugin); + } + + else if (typeof plugin == 'string') { + plugin = Ext.PluginManager.create({ + ptype: plugin, + cmp: this + }); + } + return plugin; + }, + + + constructPlugins: function() { + var me = this, + plugins, + result = [], + i, len; + + if (me.plugins) { + plugins = Ext.isArray(me.plugins) ? me.plugins : [ me.plugins ]; + for (i = 0, len = plugins.length; i < len; i++) { + + result[i] = me.constructPlugin(plugins[i]); + } + return result; + } + }, + + + initPlugin : function(plugin) { + plugin.init(this); + + return plugin; + }, + + + updateAria: Ext.emptyFn, + + + registerFloatingItem: function(cmp) { + var me = this; + if (!me.floatingDescendants) { + me.floatingDescendants = new Ext.ZIndexManager(me); + } + me.floatingDescendants.register(cmp); + }, + + unregisterFloatingItem: function(cmp) { + var me = this; + if (me.floatingDescendants) { + me.floatingDescendants.unregister(cmp); + } + }, + + layoutSuspendCount: 0, + + suspendLayouts: function () { + var me = this; + if (!me.rendered) { + return; + } + if (++me.layoutSuspendCount == 1) { + me.suspendLayout = true; + } + }, + + resumeLayouts: function (flushOptions) { + var me = this; + if (!me.rendered) { + return; + } + if (! --me.layoutSuspendCount) { + me.suspendLayout = false; + if (flushOptions && !me.isLayoutSuspended()) { + me.updateLayout(flushOptions); + } + } + }, + + setupProtoEl: function() { + var me = this, + cls = [ me.baseCls, me.getComponentLayout().targetCls ]; + + if (Ext.isDefined(me.cmpCls)) { + if (Ext.isDefined(Ext.global.console)) { + Ext.global.console.warn('Ext.Component: cmpCls has been deprecated. Please use componentCls.'); + } + me.componentCls = me.cmpCls; + delete me.cmpCls; + } + + if (me.componentCls) { + cls.push(me.componentCls); + } else { + me.componentCls = me.baseCls; + } + + me.protoEl = new Ext.util.ProtoElement({ + cls: cls.join(' ') + }); + }, + + + setUI: function(ui) { + var me = this, + oldUICls = Ext.Array.clone(me.uiCls), + newUICls = [], + classes = [], + cls, + i; + + + for (i = 0; i < oldUICls.length; i++) { + cls = oldUICls[i]; + + classes = classes.concat(me.removeClsWithUI(cls, true)); + newUICls.push(cls); + } + + if (classes.length) { + me.removeCls(classes); + } + + + me.removeUIFromElement(); + + + me.ui = ui; + + + me.addUIToElement(); + + + classes = []; + for (i = 0; i < newUICls.length; i++) { + cls = newUICls[i]; + classes = classes.concat(me.addClsWithUI(cls, true)); + } + + if (classes.length) { + me.addCls(classes); + } + + + + + if (me.rendered) { + me.updateLayout(); + } + }, + + + addClsWithUI: function(classes, skip) { + var me = this, + clsArray = [], + length, + i = 0, + cls; + + if (typeof classes === "string") { + classes = (classes.indexOf(' ') < 0) ? [classes] : Ext.String.splitWords(classes); + } + + length = classes.length; + + me.uiCls = Ext.Array.clone(me.uiCls); + + for (; i < length; i++) { + cls = classes[i]; + if (cls && !me.hasUICls(cls)) { + me.uiCls.push(cls); + clsArray = clsArray.concat(me.addUIClsToElement(cls)); + } + } + + if (skip !== true) { + me.addCls(clsArray); + } + + return clsArray; + }, + + + removeClsWithUI: function(classes, skip) { + var me = this, + clsArray = [], + i = 0, + length, cls; + + if (typeof classes === "string") { + classes = (classes.indexOf(' ') < 0) ? [classes] : Ext.String.splitWords(classes); + } + + length = classes.length; + + for (i = 0; i < length; i++) { + cls = classes[i]; + if (cls && me.hasUICls(cls)) { + me.uiCls = Ext.Array.remove(me.uiCls, cls); + clsArray = clsArray.concat(me.removeUIClsFromElement(cls)); + } + } + + if (skip !== true) { + me.removeCls(clsArray); + } + + return clsArray; + }, + + + hasUICls: function(cls) { + var me = this, + uiCls = me.uiCls || []; + + return Ext.Array.contains(uiCls, cls); + }, + + frameElementsArray: ['tl', 'tc', 'tr', 'ml', 'mc', 'mr', 'bl', 'bc', 'br'], + + + addUIClsToElement: function(cls) { + var me = this, + baseClsUi = me.baseCls + '-' + me.ui + '-' + cls, + result = [Ext.baseCSSPrefix + cls, me.baseCls + '-' + cls, baseClsUi], + frameElementCls = me.frameElementCls, + frameElementsArray, frameElementsLength, i, el, frameElement, c; + + if (me.frame && !Ext.supports.CSS3BorderRadius) { + + frameElementsArray = me.frameElementsArray; + frameElementsLength = frameElementsArray.length; + i = 0; + + + for (; i < frameElementsLength; i++) { + frameElement = frameElementsArray[i]; + el = me['frame' + frameElement.toUpperCase()]; + c = baseClsUi + '-' + frameElement; + if (el && el.dom) { + el.addCls(c); + } else if (Ext.Array.indexOf(frameElementCls[frameElement], c) == -1) { + frameElementCls[frameElement].push(c); + } + } + } + + me.frameElementCls = frameElementCls; + + return result; + }, + + + removeUIClsFromElement: function(cls) { + var me = this, + baseClsUi = me.baseCls + '-' + me.ui + '-' + cls, + result = [Ext.baseCSSPrefix + cls, me.baseCls + '-' + cls, baseClsUi], + frameElementCls = me.frameElementCls, + frameElementsArray, frameElementsLength, i, el, frameElement, c; + + if (me.frame && !Ext.supports.CSS3BorderRadius) { + + frameElementsArray = me.frameElementsArray; + frameElementsLength = frameElementsArray.length; + i = 0; + + + for (; i < frameElementsLength; i++) { + frameElement = frameElementsArray[i]; + el = me['frame' + frameElement.toUpperCase()]; + c = baseClsUi + '-' + frameElement; + if (el && el.dom) { + el.addCls(c); + } else { + Ext.Array.remove(frameElementCls[frameElement], c); + } + } + } + + me.frameElementCls = frameElementCls; + + return result; + }, + + + addUIToElement: function() { + var me = this, + baseClsUI = me.baseCls + '-' + me.ui, + frameElementCls = me.frameElementCls, + frameElementsArray, frameElementsLength, i, el, frameElement, c; + + me.addCls(baseClsUI); + + if (me.frame && !Ext.supports.CSS3BorderRadius) { + + frameElementsArray = me.frameElementsArray; + frameElementsLength = frameElementsArray.length; + i = 0; + + + for (; i < frameElementsLength; i++) { + frameElement = frameElementsArray[i]; + el = me['frame' + frameElement.toUpperCase()]; + c = baseClsUI + '-' + frameElement; + if (el) { + el.addCls(c); + } else { + if (!Ext.Array.contains(frameElementCls[frameElement], c)) { + frameElementCls[frameElement].push(c); + } + } + } + } + }, + + + removeUIFromElement: function() { + var me = this, + baseClsUI = me.baseCls + '-' + me.ui, + frameElementCls = me.frameElementCls, + frameElementsArray, frameElementsLength, i, el, frameElement, c; + + me.removeCls(baseClsUI); + + if (me.frame && !Ext.supports.CSS3BorderRadius) { + + frameElementsArray = me.frameElementsArray; + frameElementsLength = frameElementsArray.length; + i = 0; + + for (; i < frameElementsLength; i++) { + frameElement = frameElementsArray[i]; + el = me['frame' + frameElement.toUpperCase()]; + c = baseClsUI + '-' + frameElement; + if (el) { + el.removeCls(c); + } else { + Ext.Array.remove(frameElementCls[frameElement], c); + } + } + } + }, + + + getTpl: function(name) { + return Ext.XTemplate.getTpl(this, name); + }, + + + initStyles: function(targetEl) { + var me = this, + Element = Ext.Element, + padding = me.padding, + margin = me.margin, + x = me.x, + y = me.y, + width, height; + + + + if (padding !== undefined) { + targetEl.setStyle('padding', Element.unitizeBox((padding === true) ? 5 : padding)); + } + + if (margin !== undefined) { + targetEl.setStyle('margin', Element.unitizeBox((margin === true) ? 5 : margin)); + } + + if (me.border !== undefined) { + me.setBorder(me.border, targetEl); + } + + + + if (me.cls && me.cls != me.initialCls) { + targetEl.addCls(me.cls); + delete me.cls; + delete me.initialCls; + } + if (me.style && me.style != me.initialStyle) { + targetEl.setStyle(me.style); + delete me.style; + delete me.initialStyle; + } + + if (x !== undefined) { + targetEl.setStyle('left', (typeof x == 'number') ? (x + 'px') : x); + } + if (y !== undefined) { + targetEl.setStyle('top', (typeof y == 'number') ? (y + 'px') : y); + } + + + + if (!me.getFrameInfo()) { + width = me.width; + height = me.height; + + + if (width !== undefined) { + if (typeof width === 'number') { + if (Ext.isBorderBox) { + targetEl.setStyle('width', width + 'px'); + } + } else { + targetEl.setStyle('width', width); + } + } + if (height !== undefined) { + if (typeof height === 'number') { + if (Ext.isBorderBox) { + targetEl.setStyle('height', height + 'px'); + } + } else { + targetEl.setStyle('height', height); + } + } + } + }, + + + initEvents : function() { + var me = this, + afterRenderEvents = me.afterRenderEvents, + el, + property, + fn = function(listeners){ + me.mon(el, listeners); + }; + + if (afterRenderEvents) { + for (property in afterRenderEvents) { + if (afterRenderEvents.hasOwnProperty(property)) { + el = me[property]; + if (el && el.on) { + Ext.each(afterRenderEvents[property], fn); + } + } + } + } + + + + + me.addFocusListener(); + }, + + + addFocusListener: function() { + var me = this, + focusEl = me.getFocusEl(), + needsTabIndex; + + + + + + + + + + if (focusEl) { + + + if (focusEl.isComponent) { + return focusEl.addFocusListener(); + } + + + + + needsTabIndex = focusEl.needsTabIndex(); + if (!me.focusListenerAdded && (!needsTabIndex || Ext.FocusManager.enabled)) { + if (needsTabIndex) { + focusEl.dom.tabIndex = -1; + } + focusEl.on({ + focus: me.onFocus, + blur: me.onBlur, + scope: me + }); + me.focusListenerAdded = true; + } + } + }, + + + getFocusEl: Ext.emptyFn, + + isFocusable: function(c) { + var me = this, + focusEl; + if ((me.focusable !== false) && (focusEl = me.getFocusEl()) && me.rendered && !me.destroying && !me.isDestroyed && !me.disabled && me.isVisible(true)) { + + + + if (focusEl.isComponent) { + return focusEl.isFocusable(); + } + + return focusEl && focusEl.dom && focusEl.isVisible(); + } + }, + + + preFocus: Ext.emptyFn, + + + onFocus: function(e) { + var me = this, + focusCls = me.focusCls, + focusEl = me.getFocusEl(); + + if (!me.disabled) { + me.preFocus(e); + if (focusCls && focusEl) { + focusEl.addCls(me.addClsWithUI(focusCls, true)); + } + if (!me.hasFocus) { + me.hasFocus = true; + me.fireEvent('focus', me, e); + } + } + }, + + + beforeBlur : Ext.emptyFn, + + + onBlur : function(e) { + var me = this, + focusCls = me.focusCls, + focusEl = me.getFocusEl(); + + if (me.destroying) { + return; + } + + me.beforeBlur(e); + if (focusCls && focusEl) { + focusEl.removeCls(me.removeClsWithUI(focusCls, true)); + } + if (me.validateOnBlur) { + me.validate(); + } + me.hasFocus = false; + me.fireEvent('blur', me, e); + me.postBlur(e); + }, + + + postBlur : Ext.emptyFn, + + + is: function(selector) { + return Ext.ComponentQuery.is(this, selector); + }, + + + up: function(selector) { + + + + var result = this.getBubbleTarget(); + if (selector) { + for (; result; result = result.getBubbleTarget()) { + if (Ext.ComponentQuery.is(result, selector)) { + return result; + } + } + } + return result; + }, + + + nextSibling: function(selector) { + var o = this.ownerCt, it, last, idx, c; + if (o) { + it = o.items; + idx = it.indexOf(this) + 1; + if (idx) { + if (selector) { + for (last = it.getCount(); idx < last; idx++) { + if ((c = it.getAt(idx)).is(selector)) { + return c; + } + } + } else { + if (idx < it.getCount()) { + return it.getAt(idx); + } + } + } + } + return null; + }, + + + previousSibling: function(selector) { + var o = this.ownerCt, it, idx, c; + if (o) { + it = o.items; + idx = it.indexOf(this); + if (idx != -1) { + if (selector) { + for (--idx; idx >= 0; idx--) { + if ((c = it.getAt(idx)).is(selector)) { + return c; + } + } + } else { + if (idx) { + return it.getAt(--idx); + } + } + } + } + return null; + }, + + + previousNode: function(selector, includeSelf) { + var node = this, + ownerCt = node.ownerCt, + result, + it, i, sib; + + + if (includeSelf && node.is(selector)) { + return node; + } + + if (ownerCt) { + for (it = ownerCt.items.items, i = Ext.Array.indexOf(it, node) - 1; i > -1; i--) { + sib = it[i]; + if (sib.query) { + result = sib.query(selector); + result = result[result.length - 1]; + if (result) { + return result; + } + } + if (sib.is(selector)) { + return sib; + } + } + return ownerCt.previousNode(selector, true); + } + return null; + }, + + + nextNode: function(selector, includeSelf) { + var node = this, + ownerCt = node.ownerCt, + result, + it, len, i, sib; + + + if (includeSelf && node.is(selector)) { + return node; + } + + if (ownerCt) { + for (it = ownerCt.items.items, i = Ext.Array.indexOf(it, node) + 1, len = it.length; i < len; i++) { + sib = it[i]; + if (sib.is(selector)) { + return sib; + } + if (sib.down) { + result = sib.down(selector); + if (result) { + return result; + } + } + } + return ownerCt.nextNode(selector); + } + return null; + }, + + + getId : function() { + return this.id || (this.id = 'ext-comp-' + (this.getAutoId())); + }, + + + getItemId : function() { + return this.itemId || this.id; + }, + + + getEl : function() { + return this.el; + }, + + + getTargetEl: function() { + return this.frameBody || this.el; + }, + + + getOverflowStyle: function() { + var me = this, + result = null; + + if (typeof me.autoScroll == 'boolean') { + result = { + overflow: me.autoScroll ? 'auto' : '' + }; + } else if (me.overflowX !== undefined || me.overflowY !== undefined) { + result = { + 'overflow-x': (me.overflowX||''), + 'overflow-y': (me.overflowY||'') + }; + } + + + + if (result && (Ext.isIE6 || Ext.isIE7)) { + result.position = 'relative'; + } + + return result; + }, + + + isXType: function(xtype, shallow) { + if (shallow) { + return this.xtype === xtype; + } + else { + return this.xtypesMap[xtype]; + } + }, + + + getXTypes: function() { + var self = this.self, + xtypes, parentPrototype, parentXtypes; + + if (!self.xtypes) { + xtypes = []; + parentPrototype = this; + + while (parentPrototype) { + parentXtypes = parentPrototype.xtypes; + + if (parentXtypes !== undefined) { + xtypes.unshift.apply(xtypes, parentXtypes); + } + + parentPrototype = parentPrototype.superclass; + } + + self.xtypeChain = xtypes; + self.xtypes = xtypes.join('/'); + } + + return self.xtypes; + }, + + + update : function(htmlOrData, loadScripts, cb) { + var me = this; + + if (me.tpl && !Ext.isString(htmlOrData)) { + me.data = htmlOrData; + if (me.rendered) { + me.tpl[me.tplWriteMode](me.getTargetEl(), htmlOrData || {}); + } + } else { + me.html = Ext.isObject(htmlOrData) ? Ext.DomHelper.markup(htmlOrData) : htmlOrData; + if (me.rendered) { + me.getTargetEl().update(me.html, loadScripts, cb); + } + } + + if (me.rendered) { + me.updateLayout(); + } + }, + + + setVisible : function(visible) { + return this[visible ? 'show': 'hide'](); + }, + + + isVisible: function(deep) { + var me = this, + child = me, + visible = me.rendered && !me.hidden, + ancestor = me.ownerCt; + + + me.hiddenAncestor = false; + if (me.destroyed) { + return false; + } + + if (deep && visible && ancestor) { + while (ancestor) { + + + + + if (ancestor.hidden || (ancestor.collapsed && + !(ancestor.getDockedItems && Ext.Array.contains(ancestor.getDockedItems(), child)))) { + + me.hiddenAncestor = ancestor; + visible = false; + break; + } + child = ancestor; + ancestor = ancestor.ownerCt; + } + } + return visible; + }, + + onBoxReady: function(){ + var me = this; + + if (me.disableOnBoxReady) { + me.onDisable(); + } else if (me.enableOnBoxReady) { + me.onEnable(); + } + if (me.resizable) { + me.initResizable(me.resizable); + } + + + + if (me.draggable) { + me.initDraggable(); + } + }, + + + enable: function(silent) { + var me = this; + + delete me.disableOnBoxReady; + me.removeCls(me.disabledCls); + if (me.rendered) { + me.onEnable(); + } else { + me.enableOnBoxReady = true; + } + + me.disabled = false; + delete me.resetDisable; + + if (silent !== true) { + me.fireEvent('enable', me); + } + + return me; + }, + + + disable: function(silent) { + var me = this; + + delete me.enableOnBoxReady; + me.addCls(me.disabledCls); + if (me.rendered) { + me.onDisable(); + } else { + me.disableOnBoxReady = true; + } + + me.disabled = true; + + if (silent !== true) { + delete me.resetDisable; + me.fireEvent('disable', me); + } + + return me; + }, + + + onEnable: function() { + if (this.maskOnDisable) { + this.el.dom.disabled = false; + this.unmask(); + } + }, + + + onDisable : function() { + var me = this, + focusCls = me.focusCls, + focusEl = me.getFocusEl(); + + if (focusCls && focusEl) { + focusEl.removeCls(me.removeClsWithUI(focusCls, true)); + } + + if (me.maskOnDisable) { + me.el.dom.disabled = true; + me.mask(); + } + }, + + mask: function() { + var box = this.lastBox, + target = this.getMaskTarget(), + args = []; + + + if (box) { + args[2] = box.height; + } + target.mask.apply(target, args); + }, + + unmask: function() { + this.getMaskTarget().unmask(); + }, + + getMaskTarget: function(){ + return this.el; + }, + + + isDisabled : function() { + return this.disabled; + }, + + + setDisabled : function(disabled) { + return this[disabled ? 'disable': 'enable'](); + }, + + + isHidden : function() { + return this.hidden; + }, + + + addCls : function(cls) { + var me = this, + el = me.rendered ? me.el : me.protoEl; + + el.addCls.apply(el, arguments); + return me; + }, + + + addClass : function() { + return this.addCls.apply(this, arguments); + }, + + + hasCls: function (cls) { + var me = this, + el = me.rendered ? me.el : me.protoEl; + + return el.hasCls.apply(el, arguments); + }, + + + removeCls : function(cls) { + var me = this, + el = me.rendered ? me.el : me.protoEl; + + el.removeCls.apply(el, arguments); + return me; + }, + + + addOverCls: function() { + var me = this; + if (!me.disabled) { + me.el.addCls(me.overCls); + } + }, + + removeOverCls: function() { + this.el.removeCls(this.overCls); + }, + + addListener : function(element, listeners, scope, options) { + var me = this, + fn, + option; + + if (Ext.isString(element) && (Ext.isObject(listeners) || options && options.element)) { + if (options.element) { + fn = listeners; + + listeners = {}; + listeners[element] = fn; + element = options.element; + if (scope) { + listeners.scope = scope; + } + + for (option in options) { + if (options.hasOwnProperty(option)) { + if (me.eventOptionsRe.test(option)) { + listeners[option] = options[option]; + } + } + } + } + + + + if (me[element] && me[element].on) { + me.mon(me[element], listeners); + } else { + me.afterRenderEvents = me.afterRenderEvents || {}; + if (!me.afterRenderEvents[element]) { + me.afterRenderEvents[element] = []; + } + me.afterRenderEvents[element].push(listeners); + } + } + + return me.mixins.observable.addListener.apply(me, arguments); + }, + + + removeManagedListenerItem: function(isClear, managedListener, item, ename, fn, scope){ + var me = this, + element = managedListener.options ? managedListener.options.element : null; + + if (element) { + element = me[element]; + if (element && element.un) { + if (isClear || (managedListener.item === item && managedListener.ename === ename && (!fn || managedListener.fn === fn) && (!scope || managedListener.scope === scope))) { + element.un(managedListener.ename, managedListener.fn, managedListener.scope); + if (!isClear) { + Ext.Array.remove(me.managedListeners, managedListener); + } + } + } + } else { + return me.mixins.observable.removeManagedListenerItem.apply(me, arguments); + } + }, + + + getBubbleTarget : function() { + return this.ownerCt; + }, + + + isFloating : function() { + return this.floating; + }, + + + isDraggable : function() { + return !!this.draggable; + }, + + + isDroppable : function() { + return !!this.droppable; + }, + + + onAdded : function(container, pos) { + var me = this; + me.ownerCt = container; + if (me.hasListeners.added) { + me.fireEvent('added', me, container, pos); + } + }, + + + onRemoved : function(destroying) { + var me = this; + if (me.hasListeners.removed) { + me.fireEvent('removed', me, me.ownerCt); + } + delete me.ownerCt; + delete me.ownerLayout; + }, + + + beforeDestroy : Ext.emptyFn, + + + onResize : Ext.emptyFn, + + + setSize : function(width, height) { + var me = this; + + + if (width && typeof width == 'object') { + height = width.height; + width = width.width; + } + + + if (typeof width == 'number') { + me.width = Ext.Number.constrain(width, me.minWidth, me.maxWidth); + } else if (width === null) { + delete me.width; + } + + if (typeof height == 'number') { + me.height = Ext.Number.constrain(height, me.minHeight, me.maxHeight); + } else if (height === null) { + delete me.height; + } + + + + if (me.rendered && me.isVisible()) { + + + me.updateLayout({ + isRoot: false + }); + } + + return me; + }, + + + isLayoutRoot: function() { + var me = this, + ownerLayout = me.ownerLayout; + + + + + + if (!ownerLayout || me._isLayoutRoot || me.floating) { + return true; + } + + return ownerLayout.isItemLayoutRoot(me); + }, + + + isLayoutSuspended: function () { + var comp = this, + ownerLayout; + + while (comp) { + if (comp.layoutSuspendCount || comp.suspendLayout) { + return true; + } + + ownerLayout = comp.ownerLayout; + if (!ownerLayout) { + break; + } + + + + + + + comp = ownerLayout.owner; + } + + return false; + }, + + + updateLayout: function (options) { + var me = this, + defer, + isRoot = options && options.isRoot; + + if (!me.rendered || me.layoutSuspendCount || me.suspendLayout) { + return; + } + + if (me.hidden) { + Ext.AbstractComponent.cancelLayout(me); + } else if (typeof isRoot != 'boolean') { + isRoot = me.isLayoutRoot(); + } + + + if (isRoot || !me.ownerLayout || !me.ownerLayout.onContentChange(me)) { + + if (!me.isLayoutSuspended()) { + + defer = (options && options.hasOwnProperty('defer')) ? options.defer : me.deferLayouts; + Ext.AbstractComponent.updateLayout(me, defer); + } + } + }, + + + getSizeModel: function (ownerCtSizeModel) { + var me = this, + models = Ext.layout.SizeModel, + ownerContext = me.componentLayout.ownerContext, + width = me.width, + height = me.height, + typeofWidth, typeofHeight, + hasPixelWidth, hasPixelHeight, + heightModel, ownerLayout, policy, shrinkWrap, topLevel, widthModel; + + if (ownerContext) { + + + + + widthModel = ownerContext.widthModel; + heightModel = ownerContext.heightModel; + } + + if (!widthModel || !heightModel) { + hasPixelWidth = ((typeofWidth = typeof width) == 'number'); + hasPixelHeight = ((typeofHeight = typeof height) == 'number'); + topLevel = me.floating || !(ownerLayout = me.ownerLayout); + + + if (topLevel) { + policy = Ext.layout.Layout.prototype.autoSizePolicy; + shrinkWrap = me.floating ? 3 : me.shrinkWrap; + + if (hasPixelWidth) { + widthModel = models.configured; + } + + if (hasPixelHeight) { + heightModel = models.configured; + } + } else { + policy = ownerLayout.getItemSizePolicy(me, ownerCtSizeModel); + shrinkWrap = ownerLayout.isItemShrinkWrap(me); + } + + shrinkWrap = (shrinkWrap === true) ? 3 : (shrinkWrap || 0); + + + + + + if (topLevel && shrinkWrap) { + if (width && typeofWidth == 'string') { + shrinkWrap &= 2; + } + if (height && typeofHeight == 'string') { + shrinkWrap &= 1; + } + } + + if (shrinkWrap !== 3) { + if (!ownerCtSizeModel) { + ownerCtSizeModel = me.ownerCt && me.ownerCt.getSizeModel(); + } + + if (ownerCtSizeModel) { + shrinkWrap |= (ownerCtSizeModel.width.shrinkWrap ? 1 : 0) | (ownerCtSizeModel.height.shrinkWrap ? 2 : 0); + } + } + + if (!widthModel) { + if (!policy.setsWidth) { + if (hasPixelWidth) { + widthModel = models.configured; + } else { + widthModel = (shrinkWrap & 1) ? models.shrinkWrap : models.natural; + } + } else if (policy.readsWidth) { + if (hasPixelWidth) { + widthModel = models.calculatedFromConfigured; + } else { + widthModel = (shrinkWrap & 1) ? models.calculatedFromShrinkWrap : + models.calculatedFromNatural; + } + } else { + widthModel = models.calculated; + } + } + + if (!heightModel) { + if (!policy.setsHeight) { + if (hasPixelHeight) { + heightModel = models.configured; + } else { + heightModel = (shrinkWrap & 2) ? models.shrinkWrap : models.natural; + } + } else if (policy.readsHeight) { + if (hasPixelHeight) { + heightModel = models.calculatedFromConfigured; + } else { + heightModel = (shrinkWrap & 2) ? models.calculatedFromShrinkWrap : + models.calculatedFromNatural; + } + } else { + heightModel = models.calculated; + } + } + } + + + + return widthModel.pairsByHeightOrdinal[heightModel.ordinal]; + }, + + isDescendant: function(ancestor) { + if (ancestor.isContainer) { + for (var c = this.ownerCt; c; c = c.ownerCt) { + if (c === ancestor) { + return true; + } + } + } + return false; + }, + + + doComponentLayout : function() { + this.updateLayout(); + return this; + }, + + + forceComponentLayout: function () { + this.updateLayout(); + }, + + + setComponentLayout : function(layout) { + var currentLayout = this.componentLayout; + if (currentLayout && currentLayout.isLayout && currentLayout != layout) { + currentLayout.setOwner(null); + } + this.componentLayout = layout; + layout.setOwner(this); + }, + + getComponentLayout : function() { + var me = this; + + if (!me.componentLayout || !me.componentLayout.isLayout) { + me.setComponentLayout(Ext.layout.Layout.create(me.componentLayout, 'autocomponent')); + } + return me.componentLayout; + }, + + + afterComponentLayout: function(width, height, oldWidth, oldHeight) { + var me = this, + floaters, len, i, floater; + + if (++me.componentLayoutCounter === 1) { + me.afterFirstLayout(width, height); + } + + + if (me.floatingItems) { + floaters = me.floatingItems.items; + len = floaters.length; + for (i = 0; i < len; i++) { + floater = floaters[i]; + if (!floater.rendered && floater.autoShow) { + floater.show(); + } + } + } + if (me.hasListeners.resize && (width !== oldWidth || height !== oldHeight)) { + me.fireEvent('resize', me, width, height, oldWidth, oldHeight); + } + }, + + + beforeComponentLayout: function(width, height) { + return true; + }, + + + setPosition : function(x, y, animate) { + var me = this, + pos = me.beforeSetPosition.apply(me, arguments); + + if (pos && me.rendered) { + + pos = me.convertPosition(pos); + + + if (pos.left !== me.el.getLeft() || pos.top !== me.el.getTop()) { + if (animate) { + me.stopAnimation(); + me.animate(Ext.apply({ + duration: 1000, + listeners: { + afteranimate: Ext.Function.bind(me.afterSetPosition, me, [pos.left, pos.top]) + }, + to: pos + }, animate)); + } else { + + + if (pos.left !== undefined && pos.top !== undefined) { + me.el.setLeftTop(pos.left, pos.top); + } else if (pos.left !== undefined) { + me.el.setLeft(pos.left); + } else if (pos.top !==undefined) { + me.el.setTop(pos.top); + } + me.afterSetPosition(pos.left, pos.top); + } + } + } + return me; + }, + + + beforeSetPosition: function (x, y, animate) { + var pos, x0; + + + if (!x || Ext.isNumber(x)) { + pos = { x: x, y : y, anim: animate }; + } else if (Ext.isNumber(x0 = x[0])) { + pos = { x : x0, y : x[1], anim: y }; + } else { + pos = { x: x.x, y: x.y, anim: y }; + } + + pos.hasX = Ext.isNumber(pos.x); + pos.hasY = Ext.isNumber(pos.y); + + + this.x = pos.x; + this.y = pos.y; + + return (pos.hasX || pos.hasY) ? pos : null; + }, + + + afterSetPosition: function(x, y) { + var me = this; + me.onPosition(x, y); + if (me.hasListeners.move) { + me.fireEvent('move', me, x, y); + } + }, + + + convertPosition: function (pos, withUnits) { + var ret = {}, + El = Ext.Element; + + if (pos.hasX) { + ret.left = withUnits ? El.addUnits(pos.x) : pos.x; + } + if (pos.hasY) { + ret.top = withUnits ? El.addUnits(pos.y) : pos.y; + } + + return ret; + }, + + + onPosition: Ext.emptyFn, + + + setWidth : function(width) { + return this.setSize(width); + }, + + + setHeight : function(height) { + return this.setSize(undefined, height); + }, + + + getSize : function() { + return this.el.getSize(); + }, + + + getWidth : function() { + return this.el.getWidth(); + }, + + + getHeight : function() { + return this.el.getHeight(); + }, + + + getLoader: function(){ + var me = this, + autoLoad = me.autoLoad ? (Ext.isObject(me.autoLoad) ? me.autoLoad : {url: me.autoLoad}) : null, + loader = me.loader || autoLoad; + + if (loader) { + if (!loader.isLoader) { + me.loader = new Ext.ComponentLoader(Ext.apply({ + target: me, + autoLoad: autoLoad + }, loader)); + } else { + loader.setTarget(me); + } + return me.loader; + + } + return null; + }, + + + setDocked : function(dock, layoutParent) { + var me = this; + + me.dock = dock; + if (layoutParent && me.ownerCt && me.rendered) { + me.ownerCt.updateLayout(); + } + return me; + }, + + + setBorder: function(border, targetEl) { + var me = this, + initial = !!targetEl; + + if (me.rendered || initial) { + if (!initial) { + targetEl = me.el; + } + + if (!border) { + border = 0; + } else { + border = Ext.Element.unitizeBox((border === true) ? 1 : border); + } + targetEl.setStyle('border-width', border); + if (!initial) { + me.updateLayout(); + } + } + me.border = border; + }, + + onDestroy : function() { + var me = this; + + if (me.monitorResize && Ext.EventManager.resizeEvent) { + Ext.EventManager.resizeEvent.removeListener(me.setSize, me); + } + + + Ext.destroy( + me.componentLayout, + me.loadMask, + me.floatingDescendants + ); + }, + + + destroy : function() { + var me = this, + selectors = me.renderSelectors, + selector, + el; + + if (!me.isDestroyed) { + if (!me.hasListeners.beforedestroy || me.fireEvent('beforedestroy', me) !== false) { + me.destroying = true; + me.beforeDestroy(); + + if (me.floating) { + delete me.floatParent; + + + if (me.zIndexManager) { + me.zIndexManager.unregister(me); + } + } else if (me.ownerCt && me.ownerCt.remove) { + me.ownerCt.remove(me, false); + } + + me.onDestroy(); + + + Ext.destroy(me.plugins); + + if (me.hasListeners.destroy) { + me.fireEvent('destroy', me); + } + Ext.ComponentManager.unregister(me); + + me.mixins.state.destroy.call(me); + + me.clearListeners(); + + if (me.rendered) { + if (!me.preserveElOnDestroy) { + me.el.remove(); + } + me.mixins.elementCt.destroy.call(me); + if (selectors) { + for (selector in selectors) { + if (selectors.hasOwnProperty(selector)) { + el = me[selector]; + if (el) { + delete me[selector]; + el.remove(); + } + } + } + } + + delete me.el; + delete me.frameBody; + delete me.rendered; + } + + me.destroying = false; + me.isDestroyed = true; + } + } + }, + + + getPlugin: function(pluginId) { + var i = 0, + plugins = this.plugins, + ln = plugins.length; + for (; i < ln; i++) { + if (plugins[i].pluginId === pluginId) { + return plugins[i]; + } + } + }, + + + isDescendantOf: function(container) { + return !!this.findParentBy(function(p){ + return p === container; + }); + } +}, function() { + var AbstractComponent = this; + + AbstractComponent.createAlias({ + on: 'addListener', + prev: 'previousSibling', + next: 'nextSibling' + }); + + + Ext.resumeLayouts = function (flush) { + AbstractComponent.resumeLayouts(flush); + }; + + + Ext.suspendLayouts = function () { + AbstractComponent.suspendLayouts(); + }; + + + Ext.batchLayouts = function(fn, scope) { + AbstractComponent.suspendLayouts(); + + fn.call(scope); + AbstractComponent.resumeLayouts(true); + }; +}); + + +Ext.define('Ext.AbstractPlugin', { + disabled: false, + + constructor: function(config) { + this.initialConfig = config; + Ext.apply(this, config); + }, + + clone: function() { + return new this.self(this.initialConfig); + }, + + getCmp: function() { + return this.cmp; + }, + + + + + init: Ext.emptyFn, + + + destroy: Ext.emptyFn, + + + enable: function() { + this.disabled = false; + }, + + + disable: function() { + this.disabled = true; + } +}); + + +Ext.define('Ext.Action', { + + + + + + + + + + + + + + + constructor : function(config){ + this.initialConfig = config; + this.itemId = config.itemId = (config.itemId || config.id || Ext.id()); + this.items = []; + }, + + + isAction : true, + + + setText : function(text){ + this.initialConfig.text = text; + this.callEach('setText', [text]); + }, + + + getText : function(){ + return this.initialConfig.text; + }, + + + setIconCls : function(cls){ + this.initialConfig.iconCls = cls; + this.callEach('setIconCls', [cls]); + }, + + + getIconCls : function(){ + return this.initialConfig.iconCls; + }, + + + setDisabled : function(v){ + this.initialConfig.disabled = v; + this.callEach('setDisabled', [v]); + }, + + + enable : function(){ + this.setDisabled(false); + }, + + + disable : function(){ + this.setDisabled(true); + }, + + + isDisabled : function(){ + return this.initialConfig.disabled; + }, + + + setHidden : function(v){ + this.initialConfig.hidden = v; + this.callEach('setVisible', [!v]); + }, + + + show : function(){ + this.setHidden(false); + }, + + + hide : function(){ + this.setHidden(true); + }, + + + isHidden : function(){ + return this.initialConfig.hidden; + }, + + + setHandler : function(fn, scope){ + this.initialConfig.handler = fn; + this.initialConfig.scope = scope; + this.callEach('setHandler', [fn, scope]); + }, + + + each : function(fn, scope){ + Ext.each(this.items, fn, scope); + }, + + + callEach : function(fnName, args){ + var items = this.items, + i = 0, + len = items.length, + item; + + Ext.suspendLayouts(); + for(; i < len; i++){ + item = items[i]; + item[fnName].apply(item, args); + } + Ext.resumeLayouts(true); + }, + + + addComponent : function(comp){ + this.items.push(comp); + comp.on('destroy', this.removeComponent, this); + }, + + + removeComponent : function(comp){ + Ext.Array.remove(this.items, comp); + }, + + + execute : function(){ + this.initialConfig.handler.apply(this.initialConfig.scope || Ext.global, arguments); + } +}); + + +Ext.define('Ext.data.Connection', { + mixins: { + observable: 'Ext.util.Observable' + }, + + statics: { + requestId: 0 + }, + + url: null, + async: true, + method: null, + username: '', + password: '', + + + disableCaching: true, + + + withCredentials: false, + + + cors: false, + + + disableCachingParam: '_dc', + + + timeout : 30000, + + + + + + + + + + useDefaultHeader : true, + defaultPostHeader : 'application/x-www-form-urlencoded; charset=UTF-8', + useDefaultXhrHeader : true, + defaultXhrHeader : 'XMLHttpRequest', + + constructor : function(config) { + config = config || {}; + Ext.apply(this, config); + + + + + this.requests = {}; + this.mixins.observable.constructor.call(this); + }, + + + request : function(options) { + options = options || {}; + var me = this, + scope = options.scope || window, + username = options.username || me.username, + password = options.password || me.password || '', + async, + requestOptions, + request, + headers, + xhr; + + if (me.fireEvent('beforerequest', me, options) !== false) { + + requestOptions = me.setOptions(options, scope); + + if (me.isFormUpload(options)) { + me.upload(options.form, requestOptions.url, requestOptions.data, options); + return null; + } + + + if (options.autoAbort || me.autoAbort) { + me.abort(); + } + + + async = options.async !== false ? (options.async || me.async) : false; + xhr = me.openRequest(options, requestOptions, async, username, password); + + headers = me.setupHeaders(xhr, options, requestOptions.data, requestOptions.params); + + + request = { + id: ++Ext.data.Connection.requestId, + xhr: xhr, + headers: headers, + options: options, + async: async, + timeout: setTimeout(function() { + request.timedout = true; + me.abort(request); + }, options.timeout || me.timeout) + }; + me.requests[request.id] = request; + me.latestId = request.id; + + if (async) { + xhr.onreadystatechange = Ext.Function.bind(me.onStateChange, me, [request]); + } + + + xhr.send(requestOptions.data); + if (!async) { + return me.onComplete(request); + } + return request; + } else { + Ext.callback(options.callback, options.scope, [options, undefined, undefined]); + return null; + } + }, + + + upload: function(form, url, params, options) { + form = Ext.getDom(form); + options = options || {}; + + var id = Ext.id(), + frame = document.createElement('iframe'), + hiddens = [], + encoding = 'multipart/form-data', + buf = { + target: form.target, + method: form.method, + encoding: form.encoding, + enctype: form.enctype, + action: form.action + }, + addField = function(name, value) { + hiddenItem = document.createElement('input'); + Ext.fly(hiddenItem).set({ + type: 'hidden', + value: value, + name: name + }); + form.appendChild(hiddenItem); + hiddens.push(hiddenItem); + }, + hiddenItem, obj, value, name, vLen, v, hLen, h; + + + Ext.fly(frame).set({ + id: id, + name: id, + cls: Ext.baseCSSPrefix + 'hide-display', + src: Ext.SSL_SECURE_URL + }); + + document.body.appendChild(frame); + + + if (document.frames) { + document.frames[id].name = id; + } + + Ext.fly(form).set({ + target: id, + method: 'POST', + enctype: encoding, + encoding: encoding, + action: url || buf.action + }); + + + if (params) { + obj = Ext.Object.fromQueryString(params) || {}; + + for (name in obj) { + if (obj.hasOwnProperty(name)) { + value = obj[name]; + if (Ext.isArray(value)) { + vLen = value.length; + for (v = 0; v < vLen; v++) { + addField(name, value[v]); + } + } else { + addField(name, value); + } + } + } + } + + Ext.fly(frame).on('load', Ext.Function.bind(this.onUploadComplete, this, [frame, options]), null, {single: true}); + form.submit(); + + Ext.fly(form).set(buf); + + hLen = hiddens.length; + + for (h = 0; h < hLen; h++) { + Ext.removeNode(hiddens[h]); + } + }, + + + onUploadComplete: function(frame, options) { + var me = this, + + response = { + responseText: '', + responseXML: null + }, doc, contentNode; + + try { + doc = frame.contentWindow.document || frame.contentDocument || window.frames[frame.id].document; + if (doc) { + if (doc.body) { + + + + if ((contentNode = doc.body.firstChild) && /pre/i.test(contentNode.tagName)) { + response.responseText = contentNode.innerText; + } + + + + else if (contentNode = doc.getElementsByTagName('textarea')[0]) { + response.responseText = contentNode.value; + } + + else { + response.responseText = doc.body.textContent || doc.body.innerText; + } + } + + response.responseXML = doc.XMLDocument || doc; + } + } catch (e) { + } + + me.fireEvent('requestcomplete', me, response, options); + + Ext.callback(options.success, options.scope, [response, options]); + Ext.callback(options.callback, options.scope, [options, true, response]); + + setTimeout(function() { + Ext.removeNode(frame); + }, 100); + }, + + + isFormUpload: function(options) { + var form = this.getForm(options); + if (form) { + return (options.isUpload || (/multipart\/form-data/i).test(form.getAttribute('enctype'))); + } + return false; + }, + + + getForm: function(options) { + return Ext.getDom(options.form) || null; + }, + + + setOptions: function(options, scope) { + var me = this, + params = options.params || {}, + extraParams = me.extraParams, + urlParams = options.urlParams, + url = options.url || me.url, + jsonData = options.jsonData, + method, + disableCache, + data; + + + + if (Ext.isFunction(params)) { + params = params.call(scope, options); + } + + + if (Ext.isFunction(url)) { + url = url.call(scope, options); + } + + url = this.setupUrl(options, url); + + + + data = options.rawData || options.xmlData || jsonData || null; + if (jsonData && !Ext.isPrimitive(jsonData)) { + data = Ext.encode(data); + } + + + if (Ext.isObject(params)) { + params = Ext.Object.toQueryString(params); + } + + if (Ext.isObject(extraParams)) { + extraParams = Ext.Object.toQueryString(extraParams); + } + + params = params + ((extraParams) ? ((params) ? '&' : '') + extraParams : ''); + + urlParams = Ext.isObject(urlParams) ? Ext.Object.toQueryString(urlParams) : urlParams; + + params = this.setupParams(options, params); + + + method = (options.method || me.method || ((params || data) ? 'POST' : 'GET')).toUpperCase(); + this.setupMethod(options, method); + + + disableCache = options.disableCaching !== false ? (options.disableCaching || me.disableCaching) : false; + + if (method === 'GET' && disableCache) { + url = Ext.urlAppend(url, (options.disableCachingParam || me.disableCachingParam) + '=' + (new Date().getTime())); + } + + + if ((method == 'GET' || data) && params) { + url = Ext.urlAppend(url, params); + params = null; + } + + + if (urlParams) { + url = Ext.urlAppend(url, urlParams); + } + + return { + url: url, + method: method, + data: data || params || null + }; + }, + + + setupUrl: function(options, url) { + var form = this.getForm(options); + if (form) { + url = url || form.action; + } + return url; + }, + + + + setupParams: function(options, params) { + var form = this.getForm(options), + serializedForm; + if (form && !this.isFormUpload(options)) { + serializedForm = Ext.Element.serializeForm(form); + params = params ? (params + '&' + serializedForm) : serializedForm; + } + return params; + }, + + + setupMethod: function(options, method) { + if (this.isFormUpload(options)) { + return 'POST'; + } + return method; + }, + + + setupHeaders: function(xhr, options, data, params) { + var me = this, + headers = Ext.apply({}, options.headers || {}, me.defaultHeaders || {}), + contentType = me.defaultPostHeader, + jsonData = options.jsonData, + xmlData = options.xmlData, + key, + header; + + if (!headers['Content-Type'] && (data || params)) { + if (data) { + if (options.rawData) { + contentType = 'text/plain'; + } else { + if (xmlData && Ext.isDefined(xmlData)) { + contentType = 'text/xml'; + } else if (jsonData && Ext.isDefined(jsonData)) { + contentType = 'application/json'; + } + } + } + headers['Content-Type'] = contentType; + } + + if (me.useDefaultXhrHeader && !headers['X-Requested-With']) { + headers['X-Requested-With'] = me.defaultXhrHeader; + } + + try { + for (key in headers) { + if (headers.hasOwnProperty(key)) { + header = headers[key]; + xhr.setRequestHeader(key, header); + } + + } + } catch(e) { + me.fireEvent('exception', key, header); + } + return headers; + }, + + + newRequest: function (options) { + var xhr; + + if ((options.cors || this.cors) && Ext.isIE && Ext.ieVersion >= 8) { + xhr = new XDomainRequest(); + } else { + xhr = this.getXhrInstance(); + } + + return xhr; + }, + + + openRequest: function (options, requestOptions, async, username, password) { + var xhr = this.newRequest(options); + + if (username) { + xhr.open(requestOptions.method, requestOptions.url, async, username, password); + } else { + xhr.open(requestOptions.method, requestOptions.url, async); + } + + if (options.withCredentials || this.withCredentials) { + xhr.withCredentials = true; + } + + return xhr; + }, + + + getXhrInstance: (function() { + var options = [function() { + return new XMLHttpRequest(); + }, function() { + return new ActiveXObject('MSXML2.XMLHTTP.3.0'); + }, function() { + return new ActiveXObject('MSXML2.XMLHTTP'); + }, function() { + return new ActiveXObject('Microsoft.XMLHTTP'); + }], i = 0, + len = options.length, + xhr; + + for (; i < len; ++i) { + try { + xhr = options[i]; + xhr(); + break; + } catch(e) { + } + } + return xhr; + }()), + + + isLoading : function(request) { + if (!request) { + request = this.getLatest(); + } + if (!(request && request.xhr)) { + return false; + } + + var state = request.xhr.readyState; + return !(state === 0 || state == 4); + }, + + + abort : function(request) { + var me = this, + xhr; + + if (!request) { + request = me.getLatest(); + } + + if (request && me.isLoading(request)) { + + xhr = request.xhr; + try { + xhr.onreadystatechange = null; + } catch (e) { + + + xhr = Ext.emptyFn; + } + xhr.abort(); + me.clearTimeout(request); + if (!request.timedout) { + request.aborted = true; + } + me.onComplete(request); + me.cleanup(request); + } + }, + + + abortAll: function(){ + var requests = this.requests, + id; + + for (id in requests) { + if (requests.hasOwnProperty(id)) { + this.abort(requests[id]); + } + } + }, + + + getLatest: function(){ + var id = this.latestId, + request; + + if (id) { + request = this.requests[id]; + } + return request || null; + }, + + + onStateChange : function(request) { + if (request.xhr.readyState == 4) { + this.clearTimeout(request); + this.onComplete(request); + this.cleanup(request); + } + }, + + + clearTimeout: function(request) { + clearTimeout(request.timeout); + delete request.timeout; + }, + + + cleanup: function(request) { + request.xhr = null; + delete request.xhr; + }, + + + onComplete : function(request) { + var me = this, + options = request.options, + result, + success, + response; + + try { + result = me.parseStatus(request.xhr.status); + } catch (e) { + + result = { + success : false, + isException : false + }; + } + success = result.success; + + if (success) { + response = me.createResponse(request); + me.fireEvent('requestcomplete', me, response, options); + Ext.callback(options.success, options.scope, [response, options]); + } else { + if (result.isException || request.aborted || request.timedout) { + response = me.createException(request); + } else { + response = me.createResponse(request); + } + me.fireEvent('requestexception', me, response, options); + Ext.callback(options.failure, options.scope, [response, options]); + } + Ext.callback(options.callback, options.scope, [options, success, response]); + delete me.requests[request.id]; + return response; + }, + + + parseStatus: function(status) { + + status = status == 1223 ? 204 : status; + + var success = (status >= 200 && status < 300) || status == 304, + isException = false; + + if (!success) { + switch (status) { + case 12002: + case 12029: + case 12030: + case 12031: + case 12152: + case 13030: + isException = true; + break; + } + } + return { + success: success, + isException: isException + }; + }, + + + createResponse : function(request) { + var xhr = request.xhr, + headers = {}, + lines = xhr.getAllResponseHeaders().replace(/\r\n/g, '\n').split('\n'), + count = lines.length, + line, index, key, value, response; + + while (count--) { + line = lines[count]; + index = line.indexOf(':'); + if (index >= 0) { + key = line.substr(0, index).toLowerCase(); + if (line.charAt(index + 1) == ' ') { + ++index; + } + headers[key] = line.substr(index + 1); + } + } + + request.xhr = null; + delete request.xhr; + + response = { + request: request, + requestId : request.id, + status : xhr.status, + statusText : xhr.statusText, + getResponseHeader : function(header) { + return headers[header.toLowerCase()]; + }, + getAllResponseHeaders : function() { + return headers; + }, + responseText : xhr.responseText, + responseXML : xhr.responseXML + }; + + + + xhr = null; + return response; + }, + + + createException : function(request) { + return { + request : request, + requestId : request.id, + status : request.aborted ? -1 : 0, + statusText : request.aborted ? 'transaction aborted' : 'communication failure', + aborted: request.aborted, + timedout: request.timedout + }; + } +}); + + +Ext.define('Ext.Ajax', { + extend: 'Ext.data.Connection', + singleton: true, + + + + + + + + + + + + + + + + + autoAbort : false +}); + + +Ext.define('Ext.util.Floating', { + + uses: ['Ext.Layer', 'Ext.window.Window'], + + + focusOnToFront: true, + + + shadow: 'sides', + + + + constructor: function (dom) { + var me = this; + + me.el = new Ext.Layer(Ext.apply({ + hideMode : me.hideMode, + hidden : me.hidden, + shadow : (typeof me.shadow != 'undefined') ? me.shadow : 'sides', + shadowOffset : me.shadowOffset, + constrain : false, + shim : (me.shim === false) ? false : undefined + }, me.floating), dom); + + + me.floating = true; + + + + + me.registerWithOwnerCt(); + }, + + registerWithOwnerCt: function() { + var me = this; + + if (me.zIndexParent) { + me.zIndexParent.unregisterFloatingItem(me); + } + + + me.zIndexParent = me.up('[floating]'); + me.setFloatParent(me.ownerCt); + delete me.ownerCt; + + if (me.zIndexParent) { + me.zIndexParent.registerFloatingItem(me); + } else { + Ext.WindowManager.register(me); + } + }, + + setFloatParent: function(floatParent) { + var me = this; + + + if (me.floatParent) { + me.mun(me.floatParent, { + hide: me.onFloatParentHide, + show: me.onFloatParentShow, + scope: me + }); + } + + me.floatParent = floatParent; + + + if (floatParent) { + me.mon(me.floatParent, { + hide: me.onFloatParentHide, + show: me.onFloatParentShow, + scope: me + }); + } + + + + if ((me.constrain || me.constrainHeader) && !me.constrainTo) { + me.constrainTo = floatParent ? floatParent.getTargetEl() : me.container; + } + }, + + onAfterFloatLayout: function(){ + this.syncShadow(); + }, + + onFloatParentHide: function() { + var me = this; + + if (me.hideOnParentHide !== false && me.isVisible()) { + me.hide(); + me.showOnParentShow = true; + } + }, + + onFloatParentShow: function() { + if (this.showOnParentShow) { + delete this.showOnParentShow; + this.show(); + } + }, + + + + + + + setZIndex: function(index) { + var me = this; + + me.el.setZIndex(index); + + + index += 10; + + + + if (me.floatingDescendants) { + index = Math.floor(me.floatingDescendants.setBase(index) / 100) * 100 + 10000; + } + return index; + }, + + + doConstrain: function(constrainTo) { + var me = this, + + + + + vector = me.getConstrainVector(constrainTo), + xy; + + if (vector) { + xy = me.getPosition(!!me.floatParent); + xy[0] += vector[0]; + xy[1] += vector[1]; + me.setPosition(xy); + } + }, + + + + getConstrainVector: function(constrainTo){ + var me = this; + + if (me.constrain || me.constrainHeader) { + constrainTo = constrainTo || (me.floatParent && me.floatParent.getTargetEl()) || me.container || me.el.getScopeParent(); + return (me.constrainHeader ? me.header.el : me.el).getConstrainVector(constrainTo); + } + }, + + + alignTo: function(element, position, offsets) { + + + + this.setPagePosition(this.el.getAlignToXY(element.el || element, position, offsets)); + return this; + }, + + + toFront: function(preventFocus) { + var me = this; + + + + if (me.zIndexParent && me.bringParentToFront !== false) { + me.zIndexParent.toFront(true); + } + + if (!Ext.isDefined(preventFocus)) { + preventFocus = !me.focusOnToFront; + } + + if (preventFocus) { + me.preventFocusOnActivate = true; + } + if (me.zIndexManager.bringToFront(me)) { + if (!preventFocus) { + + + + me.focus(false, true); + } + } + delete me.preventFocusOnActivate; + return me; + }, + + + setActive: function(active, newActive) { + var me = this; + + if (active) { + if (me.el.shadow && !me.maximized) { + me.el.enableShadow(true); + } + if (me.modal && !me.preventFocusOnActivate) { + me.focus(false, true); + } + me.fireEvent('activate', me); + } else { + + + if (me.isWindow && (newActive && newActive.isWindow)) { + me.el.disableShadow(); + } + me.fireEvent('deactivate', me); + } + }, + + + toBack: function() { + this.zIndexManager.sendToBack(this); + return this; + }, + + + center: function() { + var me = this, + xy; + + if (me.isVisible()) { + xy = me.el.getAlignToXY(me.container, 'c-c'); + me.setPagePosition(xy); + } else { + me.needsCenter = true; + } + return me; + }, + + onFloatShow: function() { + if (this.needsCenter) { + this.center(); + } + delete this.needsCenter; + }, + + + syncShadow : function() { + if (this.floating) { + this.el.sync(true); + } + }, + + + fitContainer: function() { + var me = this, + parent = me.floatParent, + container = parent ? parent.getTargetEl() : me.container; + + me.setSize(container.getViewSize(false)); + me.setPosition.apply(me, parent ? [0, 0] : container.getXY()); + } +}); + + +Ext.define('Ext.Component', { + + + + alias: ['widget.component', 'widget.box'], + + extend: 'Ext.AbstractComponent', + + requires: [ + 'Ext.util.DelayedTask' + ], + + uses: [ + 'Ext.Layer', + 'Ext.resizer.Resizer', + 'Ext.util.ComponentDragger' + ], + + mixins: { + floating: 'Ext.util.Floating' + }, + + statics: { + + DIRECTION_TOP: 'top', + DIRECTION_RIGHT: 'right', + DIRECTION_BOTTOM: 'bottom', + DIRECTION_LEFT: 'left', + + VERTICAL_DIRECTION_Re: /^(?:top|bottom)$/, + + + + INVALID_ID_CHARS_Re: /[\.,\s]/g + }, + + + + + + + resizeHandles: 'all', + + + + + + + + + floating: false, + + + toFrontOnShow: true, + + + + + + + + + + + + + + + + hideMode: 'display', + + bubbleEvents: [], + + monPropRe: /^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/, + + defaultComponentLayoutType: 'autocomponent', + + + + + + + + + + constructor: function(config) { + var me = this; + + config = config || {}; + if (config.initialConfig) { + + + if (config.isAction) { + me.baseAction = config; + } + config = config.initialConfig; + + } + else if (config.tagName || config.dom || Ext.isString(config)) { + + config = { + applyTo: config, + id: config.id || config + }; + } + + me.callParent([config]); + + + + if (me.baseAction){ + me.baseAction.addComponent(me); + } + }, + + + initComponent: function() { + var me = this; + + me.callParent(); + + if (me.listeners) { + me.on(me.listeners); + me.listeners = null; + } + me.enableBubble(me.bubbleEvents); + me.mons = []; + }, + + + + afterRender: function() { + var me = this; + + me.callParent(); + + if (!(me.x && me.y) && (me.pageX || me.pageY)) { + me.setPagePosition(me.pageX, me.pageY); + } + }, + + + setAutoScroll : function(scroll) { + var me = this; + + me.autoScroll = !!scroll; + + + + + if (me.rendered) { + me.getTargetEl().setStyle(me.getOverflowStyle()); + } + me.updateLayout(); + return me; + }, + + + setOverflowXY: function(overflowX, overflowY) { + var me = this, + argCount = arguments.length; + + if (argCount) { + me.overflowX = overflowX || ''; + if (argCount > 1) { + me.overflowY = overflowY || ''; + } + } + + + + + if (me.rendered) { + me.getTargetEl().setStyle(me.getOverflowStyle()); + } + me.updateLayout(); + return me; + }, + + beforeRender: function () { + var me = this, + floating = me.floating, + cls; + + if (floating) { + me.addCls(Ext.baseCSSPrefix + 'layer'); + + cls = floating.cls; + if (cls) { + me.addCls(cls); + } + } + + return me.callParent(); + }, + + afterComponentLayout: function(){ + this.callParent(arguments); + if (this.floating) { + this.onAfterFloatLayout(); + } + }, + + + makeFloating : function (dom) { + this.mixins.floating.constructor.call(this, dom); + }, + + wrapPrimaryEl: function (dom) { + if (this.floating) { + this.makeFloating(dom); + } else { + this.callParent(arguments); + } + }, + + initResizable: function(resizable) { + var me = this; + + resizable = Ext.apply({ + target: me, + dynamic: false, + constrainTo: me.constrainTo || (me.floatParent ? me.floatParent.getTargetEl() : null), + handles: me.resizeHandles + }, resizable); + resizable.target = me; + me.resizer = new Ext.resizer.Resizer(resizable); + }, + + getDragEl: function() { + return this.el; + }, + + initDraggable: function() { + var me = this, + + + + + dragTarget = (me.resizer && me.resizer.el !== me.el) ? me.resizerComponent = new Ext.Component({ + el: me.resizer.el, + rendered: true, + container: me.container + }) : me, + ddConfig = Ext.applyIf({ + el: dragTarget.getDragEl(), + constrainTo: me.constrain ? (me.constrainTo || (me.floatParent ? me.floatParent.getTargetEl() : me.el.getScopeParent())) : undefined + }, me.draggable); + + + if (me.constrain || me.constrainDelegate) { + ddConfig.constrain = me.constrain; + ddConfig.constrainDelegate = me.constrainDelegate; + } + + me.dd = new Ext.util.ComponentDragger(dragTarget, ddConfig); + }, + + + scrollBy: function(deltaX, deltaY, animate) { + var el; + + if ((el = this.getTargetEl()) && el.dom) { + el.scrollBy.apply(el, arguments); + } + }, + + + setLoading : function(load, targetEl) { + var me = this, + config; + + if (me.rendered) { + Ext.destroy(me.loadMask); + me.loadMask = null; + + if (load !== false && !me.collapsed) { + if (Ext.isObject(load)) { + config = Ext.apply({}, load); + } else if (Ext.isString(load)) { + config = {msg: load}; + } else { + config = {}; + } + if (targetEl) { + Ext.applyIf(config, { + useTargetEl: true + }); + } + me.loadMask = new Ext.LoadMask(me, config); + me.loadMask.show(); + } + } + return me.loadMask; + }, + + beforeSetPosition: function () { + var me = this, + pos = me.callParent(arguments), + adj; + + if (pos) { + adj = me.adjustPosition(pos.x, pos.y); + pos.x = adj.x; + pos.y = adj.y; + } + return pos || null; + }, + + afterSetPosition: function(ax, ay) { + this.onPosition(ax, ay); + this.fireEvent('move', this, ax, ay); + }, + + + showAt: function(x, y, animate) { + var me = this; + + if (!me.rendered && (me.autoRender || me.floating)) { + me.doAutoRender(); + + me.hidden = true; + } + if (me.floating) { + me.setPosition(x, y, animate); + } else { + me.setPagePosition(x, y, animate); + } + me.show(); + }, + + + setPagePosition: function(x, y, animate) { + var me = this, + p, + floatParentBox; + + if (Ext.isArray(x)) { + y = x[1]; + x = x[0]; + } + me.pageX = x; + me.pageY = y; + + if (me.floating) { + + + if (me.isContainedFloater()) { + floatParentBox = me.floatParent.getTargetEl().getViewRegion(); + if (Ext.isNumber(x) && Ext.isNumber(floatParentBox.left)) { + x -= floatParentBox.left; + } + if (Ext.isNumber(y) && Ext.isNumber(floatParentBox.top)) { + y -= floatParentBox.top; + } + } else { + p = me.el.translatePoints(x, y); + x = p.left; + y = p.top; + } + + me.setPosition(x, y, animate); + } else { + p = me.el.translatePoints(x, y); + me.setPosition(p.left, p.top, animate); + } + + return me; + }, + + + + isContainedFloater: function() { + return (this.floating && this.floatParent); + }, + + + getBox : function(local){ + var pos = local ? this.getPosition(local) : this.el.getXY(), + size = this.getSize(); + + size.x = pos[0]; + size.y = pos[1]; + return size; + }, + + + updateBox : function(box){ + this.setSize(box.width, box.height); + this.setPagePosition(box.x, box.y); + return this; + }, + + + getOuterSize: function() { + var el = this.el; + return { + width: el.getWidth() + el.getMargin('lr'), + height: el.getHeight() + el.getMargin('tb') + }; + }, + + + adjustPosition: function(x, y) { + var me = this, + floatParentBox; + + + if (me.isContainedFloater()) { + floatParentBox = me.floatParent.getTargetEl().getViewRegion(); + x += floatParentBox.left; + y += floatParentBox.top; + } + + return { + x: x, + y: y + }; + }, + + + getPosition: function(local) { + var me = this, + el = me.el, + xy, + isContainedFloater = me.isContainedFloater(), + floatParentBox; + + + if ((local === true) && !isContainedFloater) { + return [el.getLocalX(), el.getLocalY()]; + } + + xy = me.el.getXY(); + + + if ((local === true) && isContainedFloater) { + floatParentBox = me.floatParent.getTargetEl().getViewRegion(); + xy[0] -= floatParentBox.left; + xy[1] -= floatParentBox.top; + } + return xy; + }, + + getId: function() { + var me = this, + xtype; + + if (!me.id) { + xtype = me.getXType(); + if (xtype) { + xtype = xtype.replace(Ext.Component.INVALID_ID_CHARS_Re, '-'); + } else { + xtype = Ext.name.toLowerCase() + '-comp'; + } + me.id = xtype + '-' + me.getAutoId(); + } + return me.id; + }, + + + show: function(animateTarget, cb, scope) { + var me = this, + rendered = me.rendered; + + if (rendered && me.isVisible()) { + if (me.toFrontOnShow && me.floating) { + me.toFront(); + } + } else { + if (me.fireEvent('beforeshow', me) !== false) { + + me.hidden = false; + if (!rendered && (me.autoRender || me.floating)) { + me.doAutoRender(); + rendered = me.rendered; + } + + if (rendered) { + me.beforeShow(); + me.onShow.apply(me, arguments); + me.afterShow.apply(me, arguments); + } + } else { + me.onShowVeto(); + } + } + return me; + }, + + onShowVeto: Ext.emptyFn, + + + beforeShow: Ext.emptyFn, + + + onShow: function() { + var me = this; + + me.el.show(); + me.callParent(arguments); + + + if (me.floating) { + if (me.maximized) { + me.fitContainer(); + } + else if (me.constrain) { + me.doConstrain(); + } + } + }, + + + afterShow: function(animateTarget, cb, scope) { + var me = this, + fromBox, + toBox, + ghostPanel; + + + animateTarget = animateTarget || me.animateTarget; + + + if (!me.ghost) { + animateTarget = null; + } + + if (animateTarget) { + animateTarget = animateTarget.el ? animateTarget.el : Ext.get(animateTarget); + toBox = me.el.getBox(); + fromBox = animateTarget.getBox(); + me.el.addCls(Ext.baseCSSPrefix + 'hide-offsets'); + ghostPanel = me.ghost(); + ghostPanel.el.stopAnimation(); + + + ghostPanel.el.setX(-10000); + + ghostPanel.el.animate({ + from: fromBox, + to: toBox, + listeners: { + afteranimate: function() { + delete ghostPanel.componentLayout.lastComponentSize; + me.unghost(); + me.el.removeCls(Ext.baseCSSPrefix + 'hide-offsets'); + me.onShowComplete(cb, scope); + } + } + }); + } + else { + me.onShowComplete(cb, scope); + } + }, + + + onShowComplete: function(cb, scope) { + var me = this; + if (me.floating) { + me.toFront(); + me.onFloatShow(); + } + Ext.callback(cb, scope || me); + me.fireEvent('show', me); + delete me.hiddenByLayout; + }, + + + hide: function() { + var me = this; + + + + me.showOnParentShow = false; + + if (!(me.rendered && !me.isVisible()) && me.fireEvent('beforehide', me) !== false) { + me.hidden = true; + if (me.rendered) { + me.onHide.apply(me, arguments); + } + } + return me; + }, + + + onHide: function(animateTarget, cb, scope) { + var me = this, + ghostPanel, + toBox; + + + animateTarget = animateTarget || me.animateTarget; + + + if (!me.ghost) { + animateTarget = null; + } + + if (animateTarget) { + animateTarget = animateTarget.el ? animateTarget.el : Ext.get(animateTarget); + ghostPanel = me.ghost(); + ghostPanel.el.stopAnimation(); + toBox = animateTarget.getBox(); + toBox.width += 'px'; + toBox.height += 'px'; + ghostPanel.el.animate({ + to: toBox, + listeners: { + afteranimate: function() { + delete ghostPanel.componentLayout.lastComponentSize; + ghostPanel.el.hide(); + me.afterHide(cb, scope); + } + } + }); + } + me.el.hide(); + if (!animateTarget) { + me.afterHide(cb, scope); + } + }, + + + afterHide: function(cb, scope) { + var me = this; + delete me.hiddenByLayout; + + + + Ext.AbstractComponent.prototype.onHide.call(this); + + Ext.callback(cb, scope || me); + me.fireEvent('hide', me); + }, + + + onDestroy: function() { + var me = this; + + + if (me.rendered) { + Ext.destroy( + me.proxy, + me.proxyWrap, + me.resizer, + me.resizerComponent + ); + } + delete me.focusTask; + me.callParent(); + }, + + deleteMembers: function() { + var args = arguments, + len = args.length, + i = 0; + for (; i < len; ++i) { + delete this[args[i]]; + } + }, + + + focus: function(selectText, delay) { + var me = this, + focusEl, + focusElDom, + containerScrollTop; + + + if (delay) { + if (!me.focusTask) { + me.focusTask = new Ext.util.DelayedTask(me.focus); + } + me.focusTask.delay(Ext.isNumber(delay) ? delay : 10, null, me, [selectText, false]); + return me; + } + + if (me.rendered && !me.isDestroyed && me.isVisible(true) && (focusEl = me.getFocusEl())) { + + + + if (focusEl.isComponent) { + return focusEl.focus(selectText, delay); + } + + + if ((focusElDom = focusEl.dom)) { + + + if (focusEl.needsTabIndex()) { + focusElDom.tabIndex = -1; + } + + if (me.floating) { + containerScrollTop = me.container.dom.scrollTop; + } + + + + + focusEl.focus(); + if (selectText === true) { + focusElDom.select(); + } + } + + + + if (me.floating) { + me.toFront(true); + if (containerScrollTop !== undefined) { + me.container.dom.scrollTop = containerScrollTop; + } + } + } + return me; + }, + + + cancelFocus: function() { + var task = this.focusTask; + if (task) { + task.cancel(); + } + }, + + + blur: function() { + var focusEl; + if (this.rendered && (focusEl = this.getFocusEl())) { + focusEl.blur(); + } + return this; + }, + + getEl: function() { + return this.el; + }, + + + getResizeEl: function() { + return this.el; + }, + + + getPositionEl: function() { + return this.el; + }, + + + getActionEl: function() { + return this.el; + }, + + + getVisibilityEl: function() { + return this.el; + }, + + + onResize: Ext.emptyFn, + + + + + + + getBubbleTarget: function() { + return this.ownerCt || this.floatParent; + }, + + + getContentTarget: function() { + return this.el; + }, + + + cloneConfig: function(overrides) { + overrides = overrides || {}; + var id = overrides.id || Ext.id(), + cfg = Ext.applyIf(overrides, this.initialConfig), + self; + + cfg.id = id; + + self = Ext.getClass(this); + + + return new self(cfg); + }, + + + getXType: function() { + return this.self.xtype; + }, + + + findParentBy: function(fn) { + var p; + + + for (p = this.getBubbleTarget(); p && !fn(p, this); p = p.getBubbleTarget()) { + + } + return p || null; + }, + + + findParentByType: function(xtype) { + return Ext.isFunction(xtype) ? + this.findParentBy(function(p) { + return p.constructor === xtype; + }) + : + this.up(xtype); + }, + + + bubble: function(fn, scope, args) { + var p = this; + while (p) { + if (fn.apply(scope || p, args || [p]) === false) { + break; + } + p = p.getBubbleTarget(); + } + return this; + }, + + getProxy: function() { + var me = this, + target; + + if (!me.proxy) { + target = Ext.getBody(); + if (Ext.scopeResetCSS) { + me.proxyWrap = target = Ext.getBody().createChild({ + cls: Ext.resetCls + }); + } + me.proxy = me.el.createProxy(Ext.baseCSSPrefix + 'proxy-el', target, true); + } + return me.proxy; + } +}); + + +Ext.define('Ext.ElementLoader', { + + + + mixins: { + observable: 'Ext.util.Observable' + }, + + uses: [ + 'Ext.data.Connection', + 'Ext.Ajax' + ], + + statics: { + Renderer: { + Html: function(loader, response, active){ + loader.getTarget().update(response.responseText, active.scripts === true); + return true; + } + } + }, + + + + + url: null, + + + params: null, + + + baseParams: null, + + + autoLoad: false, + + + target: null, + + + loadMask: false, + + + ajaxOptions: null, + + + scripts: false, + + + + + + + + + + + + + isLoader: true, + + constructor: function(config) { + var me = this, + autoLoad; + + config = config || {}; + Ext.apply(me, config); + me.setTarget(me.target); + me.addEvents( + + 'beforeload', + + + 'exception', + + + 'load' + ); + + + me.mixins.observable.constructor.call(me); + + if (me.autoLoad) { + autoLoad = me.autoLoad; + if (autoLoad === true) { + autoLoad = {}; + } + me.load(autoLoad); + } + }, + + + setTarget: function(target){ + var me = this; + target = Ext.get(target); + if (me.target && me.target != target) { + me.abort(); + } + me.target = target; + }, + + + getTarget: function(){ + return this.target || null; + }, + + + abort: function(){ + var active = this.active; + if (active !== undefined) { + Ext.Ajax.abort(active.request); + if (active.mask) { + this.removeMask(); + } + delete this.active; + } + }, + + + removeMask: function(){ + this.target.unmask(); + }, + + + addMask: function(mask){ + this.target.mask(mask === true ? null : mask); + }, + + + load: function(options) { + + options = Ext.apply({}, options); + + var me = this, + target = me.target, + mask = Ext.isDefined(options.loadMask) ? options.loadMask : me.loadMask, + params = Ext.apply({}, options.params), + ajaxOptions = Ext.apply({}, options.ajaxOptions), + callback = options.callback || me.callback, + scope = options.scope || me.scope || me, + request; + + Ext.applyIf(ajaxOptions, me.ajaxOptions); + Ext.applyIf(options, ajaxOptions); + + Ext.applyIf(params, me.params); + Ext.apply(params, me.baseParams); + + Ext.applyIf(options, { + url: me.url + }); + + + Ext.apply(options, { + scope: me, + params: params, + callback: me.onComplete + }); + + if (me.fireEvent('beforeload', me, options) === false) { + return; + } + + if (mask) { + me.addMask(mask); + } + + request = Ext.Ajax.request(options); + me.active = { + request: request, + options: options, + mask: mask, + scope: scope, + callback: callback, + success: options.success || me.success, + failure: options.failure || me.failure, + renderer: options.renderer || me.renderer, + scripts: Ext.isDefined(options.scripts) ? options.scripts : me.scripts + }; + me.setOptions(me.active, options); + }, + + + setOptions: Ext.emptyFn, + + + onComplete: function(options, success, response) { + var me = this, + active = me.active, + scope = active.scope, + renderer = me.getRenderer(active.renderer); + + + if (success) { + success = renderer.call(me, me, response, active) !== false; + } + + if (success) { + Ext.callback(active.success, scope, [me, response, options]); + me.fireEvent('load', me, response, options); + } else { + Ext.callback(active.failure, scope, [me, response, options]); + me.fireEvent('exception', me, response, options); + } + Ext.callback(active.callback, scope, [me, success, response, options]); + + if (active.mask) { + me.removeMask(); + } + + delete me.active; + }, + + + getRenderer: function(renderer){ + if (Ext.isFunction(renderer)) { + return renderer; + } + return this.statics().Renderer.Html; + }, + + + startAutoRefresh: function(interval, options){ + var me = this; + me.stopAutoRefresh(); + me.autoRefresh = setInterval(function(){ + me.load(options); + }, interval); + }, + + + stopAutoRefresh: function(){ + clearInterval(this.autoRefresh); + delete this.autoRefresh; + }, + + + isAutoRefreshing: function(){ + return Ext.isDefined(this.autoRefresh); + }, + + + destroy: function(){ + var me = this; + me.stopAutoRefresh(); + delete me.target; + me.abort(); + me.clearListeners(); + } +}); + + +Ext.define('Ext.ComponentLoader', { + + + + extend: 'Ext.ElementLoader', + + statics: { + Renderer: { + Data: function(loader, response, active){ + var success = true; + try { + loader.getTarget().update(Ext.decode(response.responseText)); + } catch (e) { + success = false; + } + return success; + }, + + Component: function(loader, response, active){ + var success = true, + target = loader.getTarget(), + items = []; + + + try { + items = Ext.decode(response.responseText); + } catch (e) { + success = false; + } + + if (success) { + target.suspendLayouts(); + if (active.removeAll) { + target.removeAll(); + } + target.add(items); + target.resumeLayouts(true); + } + return success; + } + } + }, + + + + + target: null, + + + loadMask: false, + + + + + renderer: 'html', + + + setTarget: function(target){ + var me = this; + + if (Ext.isString(target)) { + target = Ext.getCmp(target); + } + + if (me.target && me.target != target) { + me.abort(); + } + me.target = target; + }, + + + removeMask: function(){ + this.target.setLoading(false); + }, + + + addMask: function(mask){ + this.target.setLoading(mask); + }, + + + setOptions: function(active, options){ + active.removeAll = Ext.isDefined(options.removeAll) ? options.removeAll : this.removeAll; + }, + + + getRenderer: function(renderer){ + if (Ext.isFunction(renderer)) { + return renderer; + } + + var renderers = this.statics().Renderer; + switch (renderer) { + case 'component': + return renderers.Component; + case 'data': + return renderers.Data; + default: + return Ext.ElementLoader.Renderer.Html; + } + } +}); + + +Ext.define('Ext.Template', { + + + + requires: ['Ext.dom.Helper', 'Ext.util.Format'], + + inheritableStatics: { + + from: function(el, config) { + el = Ext.getDom(el); + return new this(el.value || el.innerHTML, config || ''); + } + }, + + + + + constructor: function(html) { + var me = this, + args = arguments, + buffer = [], + i = 0, + length = args.length, + value; + + me.initialConfig = {}; + + + + + if (length === 1 && Ext.isArray(html)) { + args = html; + length = args.length; + } + + if (length > 1) { + for (; i < length; i++) { + value = args[i]; + if (typeof value == 'object') { + Ext.apply(me.initialConfig, value); + Ext.apply(me, value); + } else { + buffer.push(value); + } + } + } else { + buffer.push(html); + } + + + me.html = buffer.join(''); + + if (me.compiled) { + me.compile(); + } + }, + + + isTemplate: true, + + + + + disableFormats: false, + + re: /\{([\w\-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g, + + + apply: function(values) { + var me = this, + useFormat = me.disableFormats !== true, + fm = Ext.util.Format, + tpl = me, + ret; + + if (me.compiled) { + return me.compiled(values).join(''); + } + + function fn(m, name, format, args) { + if (format && useFormat) { + if (args) { + args = [values[name]].concat(Ext.functionFactory('return ['+ args +'];')()); + } else { + args = [values[name]]; + } + if (format.substr(0, 5) == "this.") { + return tpl[format.substr(5)].apply(tpl, args); + } + else { + return fm[format].apply(fm, args); + } + } + else { + return values[name] !== undefined ? values[name] : ""; + } + } + + ret = me.html.replace(me.re, fn); + return ret; + }, + + + applyOut: function(values, out) { + var me = this; + + if (me.compiled) { + out.push.apply(out, me.compiled(values)); + } else { + out.push(me.apply(values)); + } + + return out; + }, + + + applyTemplate: function () { + return this.apply.apply(this, arguments); + }, + + + set: function(html, compile) { + var me = this; + me.html = html; + me.compiled = null; + return compile ? me.compile() : me; + }, + + compileARe: /\\/g, + compileBRe: /(\r\n|\n)/g, + compileCRe: /'/g, + + /** + * Compiles the template into an internal function, eliminating the RegEx overhead. + * @return {Ext.Template} this + */ + compile: function() { + var me = this, + fm = Ext.util.Format, + useFormat = me.disableFormats !== true, + body, bodyReturn; + + function fn(m, name, format, args) { + if (format && useFormat) { + args = args ? ',' + args: ""; + if (format.substr(0, 5) != "this.") { + format = "fm." + format + '('; + } + else { + format = 'this.' + format.substr(5) + '('; + } + } + else { + args = ''; + format = "(values['" + name + "'] == undefined ? '' : "; + } + return "'," + format + "values['" + name + "']" + args + ") ,'"; + } + + bodyReturn = me.html.replace(me.compileARe, '\\\\').replace(me.compileBRe, '\\n').replace(me.compileCRe, "\\'").replace(me.re, fn); + body = "this.compiled = function(values){ return ['" + bodyReturn + "'];};"; + eval(body); + return me; + }, + + /** + * Applies the supplied values to the template and inserts the new node(s) as the first child of el. + * + * @param {String/HTMLElement/Ext.Element} el The context element + * @param {Object/Array} values The template values. See {@link #applyTemplate} for details. + * @param {Boolean} returnElement (optional) true to return a Ext.Element. + * @return {HTMLElement/Ext.Element} The new node or Element + */ + insertFirst: function(el, values, returnElement) { + return this.doInsert('afterBegin', el, values, returnElement); + }, + + /** + * Applies the supplied values to the template and inserts the new node(s) before el. + * + * @param {String/HTMLElement/Ext.Element} el The context element + * @param {Object/Array} values The template values. See {@link #applyTemplate} for details. + * @param {Boolean} returnElement (optional) true to return a Ext.Element. + * @return {HTMLElement/Ext.Element} The new node or Element + */ + insertBefore: function(el, values, returnElement) { + return this.doInsert('beforeBegin', el, values, returnElement); + }, + + /** + * Applies the supplied values to the template and inserts the new node(s) after el. + * + * @param {String/HTMLElement/Ext.Element} el The context element + * @param {Object/Array} values The template values. See {@link #applyTemplate} for details. + * @param {Boolean} returnElement (optional) true to return a Ext.Element. + * @return {HTMLElement/Ext.Element} The new node or Element + */ + insertAfter: function(el, values, returnElement) { + return this.doInsert('afterEnd', el, values, returnElement); + }, + + /** + * Applies the supplied `values` to the template and appends the new node(s) to the specified `el`. + * + * For example usage see {@link Ext.Template Ext.Template class docs}. + * + * @param {String/HTMLElement/Ext.Element} el The context element + * @param {Object/Array} values The template values. See {@link #applyTemplate} for details. + * @param {Boolean} returnElement (optional) true to return an Ext.Element. + * @return {HTMLElement/Ext.Element} The new node or Element + */ + append: function(el, values, returnElement) { + return this.doInsert('beforeEnd', el, values, returnElement); + }, + + doInsert: function(where, el, values, returnElement) { + var newNode = Ext.DomHelper.insertHtml(where, Ext.getDom(el), this.apply(values)); + return returnElement ? Ext.get(newNode) : newNode; + }, + + /** + * Applies the supplied values to the template and overwrites the content of el with the new node(s). + * + * @param {String/HTMLElement/Ext.Element} el The context element + * @param {Object/Array} values The template values. See {@link #applyTemplate} for details. + * @param {Boolean} returnElement (optional) true to return a Ext.Element. + * @return {HTMLElement/Ext.Element} The new node or Element + */ + overwrite: function(el, values, returnElement) { + var newNode = Ext.DomHelper.overwrite(Ext.getDom(el), this.apply(values)); + return returnElement ? Ext.get(newNode) : newNode; + } +}); + +/** + * This class parses the XTemplate syntax and calls abstract methods to process the parts. + * @private + */ +Ext.define('Ext.XTemplateParser', { + constructor: function (config) { + Ext.apply(this, config); + }, + + /** + * @property {Number} level The 'for' loop context level. This is adjusted up by one + * prior to calling {@link #doFor} and down by one after calling the corresponding + * {@link #doEnd} that closes the loop. This will be 1 on the first {@link #doFor} + * call. + */ + + /** + * This method is called to process a piece of raw text from the tpl. + * @param {String} text + * @method doText + */ + // doText: function (text) + + /** + * This method is called to process expressions (like `{[expr]}`). + * @param {String} expr The body of the expression (inside "{[" and "]}"). + * @method doExpr + */ + // doExpr: function (expr) + + /** + * This method is called to process simple tags (like `{tag}`). + * @method doTag + */ + // doTag: function (tag) + + /** + * This method is called to process ``. + * @method doElse + */ + // doElse: function () + + /** + * This method is called to process `{% text %}`. + * @param {String} text + * @method doEval + */ + // doEval: function (text) + + /** + * This method is called to process ``. If there are other attributes, + * these are passed in the actions object. + * @param {String} action + * @param {Object} actions Other actions keyed by the attribute name (such as 'exec'). + * @method doIf + */ + // doIf: function (action, actions) + + /** + * This method is called to process ``. If there are other attributes, + * these are passed in the actions object. + * @param {String} action + * @param {Object} actions Other actions keyed by the attribute name (such as 'exec'). + * @method doElseIf + */ + // doElseIf: function (action, actions) + + /** + * This method is called to process ``. If there are other attributes, + * these are passed in the actions object. + * @param {String} action + * @param {Object} actions Other actions keyed by the attribute name (such as 'exec'). + * @method doSwitch + */ + // doSwitch: function (action, actions) + + /** + * This method is called to process ``. If there are other attributes, + * these are passed in the actions object. + * @param {String} action + * @param {Object} actions Other actions keyed by the attribute name (such as 'exec'). + * @method doCase + */ + // doCase: function (action, actions) + + /** + * This method is called to process ``. + * @method doDefault + */ + // doDefault: function () + + /** + * This method is called to process ``. It is given the action type that started + * the tpl and the set of additional actions. + * @param {String} type The type of action that is being ended. + * @param {Object} actions The other actions keyed by the attribute name (such as 'exec'). + * @method doEnd + */ + // doEnd: function (type, actions) + + /** + * This method is called to process ``. If there are other attributes, + * these are passed in the actions object. + * @param {String} action + * @param {Object} actions Other actions keyed by the attribute name (such as 'exec'). + * @method doFor + */ + // doFor: function (action, actions) + + /** + * This method is called to process ``. If there are other attributes, + * these are passed in the actions object. + * @param {String} action + * @param {Object} actions Other actions keyed by the attribute name. + * @method doExec + */ + // doExec: function (action, actions) + + /** + * This method is called to process an empty ``. This is unlikely to need to be + * implemented, so a default (do nothing) version is provided. + * @method + */ + doTpl: Ext.emptyFn, + + parse: function (str) { + var me = this, + len = str.length, + aliases = { elseif: 'elif' }, + topRe = me.topRe, + actionsRe = me.actionsRe, + index, stack, s, m, t, prev, frame, subMatch, begin, end, actions, + prop; + + me.level = 0; + me.stack = stack = []; + + for (index = 0; index < len; index = end) { + topRe.lastIndex = index; + m = topRe.exec(str); + + if (!m) { + me.doText(str.substring(index, len)); + break; + } + + begin = m.index; + end = topRe.lastIndex; + + if (index < begin) { + me.doText(str.substring(index, begin)); + } + + if (m[1]) { + end = str.indexOf('%}', begin+2); + me.doEval(str.substring(begin+2, end)); + end += 2; + } else if (m[2]) { + end = str.indexOf(']}', begin+2); + me.doExpr(str.substring(begin+2, end)); + end += 2; + } else if (m[3]) { // if ('{' token) + me.doTag(m[3]); + } else if (m[4]) { // content of a tag + actions = null; + while ((subMatch = actionsRe.exec(m[4])) !== null) { + s = subMatch[2] || subMatch[3]; + if (s) { + s = Ext.String.htmlDecode(s); // decode attr value + t = subMatch[1]; + t = aliases[t] || t; + actions = actions || {}; + prev = actions[t]; + + if (typeof prev == 'string') { + actions[t] = [prev, s]; + } else if (prev) { + actions[t].push(s); + } else { + actions[t] = s; + } + } + } + + if (!actions) { + if (me.elseRe.test(m[4])) { + me.doElse(); + } else if (me.defaultRe.test(m[4])) { + me.doDefault(); + } else { + me.doTpl(); + stack.push({ type: 'tpl' }); + } + } + else if (actions['if']) { + me.doIf(actions['if'], actions); + stack.push({ type: 'if' }); + } + else if (actions['switch']) { + me.doSwitch(actions['switch'], actions); + stack.push({ type: 'switch' }); + } + else if (actions['case']) { + me.doCase(actions['case'], actions); + } + else if (actions['elif']) { + me.doElseIf(actions['elif'], actions); + } + else if (actions['for']) { + ++me.level; + + // Extract property name to use from indexed item + if (prop = me.propRe.exec(m[4])) { + actions.propName = prop[1] || prop[2]; + } + me.doFor(actions['for'], actions); + stack.push({ type: 'for', actions: actions }); + } + else if (actions.exec) { + me.doExec(actions.exec, actions); + stack.push({ type: 'exec', actions: actions }); + } + /* + else { + // todo - error + } + */ + } else if (m[0].length === 5) { + // if the length of m[0] is 5, assume that we're dealing with an opening tpl tag with no attributes (e.g. ...) + // in this case no action is needed other than pushing it on to the stack + stack.push({ type: 'tpl' }); + } else { + frame = stack.pop(); + me.doEnd(frame.type, frame.actions); + if (frame.type == 'for') { + --me.level; + } + } + } + }, + + // Internal regexes + + topRe: /(?:(\{\%)|(\{\[)|\{([^{}]*)\})|(?:]*)\>)|(?:<\/tpl>)/g, + actionsRe: /\s*(elif|elseif|if|for|exec|switch|case|eval)\s*\=\s*(?:(?:"([^"]*)")|(?:'([^']*)'))\s*/g, + propRe: /prop=(?:(?:"([^"]*)")|(?:'([^']*)'))/, + defaultRe: /^\s*default\s*$/, + elseRe: /^\s*else\s*$/ +}); + + +Ext.define('Ext.XTemplateCompiler', { + extend: 'Ext.XTemplateParser', + + + + + useEval: Ext.isGecko, + + + + + useIndex: Ext.isIE6 || Ext.isIE7, + + useFormat: true, + + propNameRe: /^[\w\d\$]*$/, + + compile: function (tpl) { + var me = this, + code = me.generate(tpl); + + + + + + return me.useEval ? me.evalTpl(code) : (new Function('Ext', code))(Ext); + }, + + generate: function (tpl) { + var me = this, + + definitions = 'var fm=Ext.util.Format,ts=Object.prototype.toString;', + code; + + + me.maxLevel = 0; + + me.body = [ + 'var c0=values, a0=' + me.createArrayTest(0) + ', p0=parent, n0=xcount, i0=xindex, v;\n' + ]; + if (me.definitions) { + if (typeof me.definitions === 'string') { + me.definitions = [me.definitions, definitions ]; + } else { + me.definitions.push(definitions); + } + } else { + me.definitions = [ definitions ]; + } + me.switches = []; + + me.parse(tpl); + + me.definitions.push( + (me.useEval ? '$=' : 'return') + ' function (' + me.fnArgs + ') {', + me.body.join(''), + '}' + ); + + code = me.definitions.join('\n'); + + + me.definitions.length = me.body.length = me.switches.length = 0; + delete me.definitions; + delete me.body; + delete me.switches; + + return code; + }, + + + + + doText: function (text) { + var me = this, + out = me.body; + + text = text.replace(me.aposRe, "\\'").replace(me.newLineRe, '\\n'); + if (me.useIndex) { + out.push('out[out.length]=\'', text, '\'\n'); + } else { + out.push('out.push(\'', text, '\')\n'); + } + }, + + doExpr: function (expr) { + var out = this.body; + out.push('if ((v=' + expr + ')!==undefined) out'); + + + + if (this.useIndex) { + out.push('[out.length]=v+\'\'\n'); + } else { + out.push('.push(v+\'\')\n'); + } + }, + + doTag: function (tag) { + this.doExpr(this.parseTag(tag)); + }, + + doElse: function () { + this.body.push('} else {\n'); + }, + + doEval: function (text) { + this.body.push(text, '\n'); + }, + + doIf: function (action, actions) { + var me = this; + + + if (action === '.') { + me.body.push('if (values) {\n'); + } else if (me.propNameRe.test(action)) { + me.body.push('if (', me.parseTag(action), ') {\n'); + } + + else { + me.body.push('if (', me.addFn(action), me.callFn, ') {\n'); + } + if (actions.exec) { + me.doExec(actions.exec); + } + }, + + doElseIf: function (action, actions) { + var me = this; + + + if (action === '.') { + me.body.push('else if (values) {\n'); + } else if (me.propNameRe.test(action)) { + me.body.push('} else if (', me.parseTag(action), ') {\n'); + } + + else { + me.body.push('} else if (', me.addFn(action), me.callFn, ') {\n'); + } + if (actions.exec) { + me.doExec(actions.exec); + } + }, + + doSwitch: function (action) { + var me = this; + + + if (action === '.') { + me.body.push('switch (values) {\n'); + } else if (me.propNameRe.test(action)) { + me.body.push('switch (', me.parseTag(action), ') {\n'); + } + + else { + me.body.push('switch (', me.addFn(action), me.callFn, ') {\n'); + } + me.switches.push(0); + }, + + doCase: function (action) { + var me = this, + cases = Ext.isArray(action) ? action : [action], + n = me.switches.length - 1, + match, i; + + if (me.switches[n]) { + me.body.push('break;\n'); + } else { + me.switches[n]++; + } + + for (i = 0, n = cases.length; i < n; ++i) { + match = me.intRe.exec(cases[i]); + cases[i] = match ? match[1] : ("'" + cases[i].replace(me.aposRe,"\\'") + "'"); + } + + me.body.push('case ', cases.join(': case '), ':\n'); + }, + + doDefault: function () { + var me = this, + n = me.switches.length - 1; + + if (me.switches[n]) { + me.body.push('break;\n'); + } else { + me.switches[n]++; + } + + me.body.push('default:\n'); + }, + + doEnd: function (type, actions) { + var me = this, + L = me.level-1; + + if (type == 'for') { + + if (actions.exec) { + me.doExec(actions.exec); + } + + me.body.push('}\n'); + me.body.push('parent=p',L,';values=r',L+1,';xcount=n',L,';xindex=i',L,'\n'); + } else if (type == 'if' || type == 'switch') { + me.body.push('}\n'); + } + }, + + doFor: function (action, actions) { + var me = this, + s, + L = me.level, + up = L-1, + pL = 'p' + L, + parentAssignment; + + + if (action === '.') { + s = 'values'; + } else if (me.propNameRe.test(action)) { + s = me.parseTag(action); + } + + else { + s = me.addFn(action) + me.callFn; + } + + + + + if (me.maxLevel < L) { + me.maxLevel = L; + me.body.push('var '); + } + + if (action == '.') { + parentAssignment = 'c' + L; + } else { + parentAssignment = 'a' + up + '?c' + up + '[i' + up + ']:p' + L; + } + + me.body.push('i',L,'=0,n', L, '=0,c',L,'=',s,',a',L,'=', me.createArrayTest(L), ',p',L,'=c',up,',r',L,'=values;\n', + 'parent=',parentAssignment,'\n', + 'if (c',L,'){if(a',L,'){n', L,'=c', L, '.length;}else if (c', L, '.isMixedCollection){c',L,'=c',L,'.items;n',L,'=c',L,'.length;}else if(c',L,'.isStore){c',L,'=c',L,'.data.items;n',L,'=c',L,'.length;}else{c',L,'=[c',L,'];n',L,'=1;}}\n', + 'for (xcount=n',L,';i',L,'... + * ... + * ... + * + * Using the sample data above: + * + * var tpl = new Ext.XTemplate( + * '

Kids: ', + * '', + * '

{#}. {name}

', + * '

' + * ); + * tpl.overwrite(panel.body, data.kids); + * + * An example illustrating how the **for** property can be leveraged to access specified members of the provided data + * object to populate the template: + * + * var tpl = new Ext.XTemplate( + * '

Name: {name}

', + * '

Title: {title}

', + * '

Company: {company}

', + * '

Kids: ', + * '', + * '

{name}

', + * '

' + * ); + * tpl.overwrite(panel.body, data); + * + * Flat arrays that contain values (and not objects) can be auto-rendered using the special **`{.}`** variable inside a + * loop. This variable will represent the value of the array at the current index: + * + * var tpl = new Ext.XTemplate( + * '

{name}\'s favorite beverages:

', + * '', + * '
- {.}
', + * '
' + * ); + * tpl.overwrite(panel.body, data); + * + * When processing a sub-template, for example while looping through a child array, you can access the parent object's + * members via the **parent** object: + * + * var tpl = new Ext.XTemplate( + * '

Name: {name}

', + * '

Kids: ', + * '', + * '', + * '

{name}

', + * '

Dad: {parent.name}

', + * '
', + * '

' + * ); + * tpl.overwrite(panel.body, data); + * + * # Conditional processing with basic comparison operators + * + * The **tpl** tag and the **if** operator are used to provide conditional checks for deciding whether or not to render + * specific parts of the template. + * + * Using the sample data above: + * + * var tpl = new Ext.XTemplate( + * '

Name: {name}

', + * '

Kids: ', + * '', + * '', + * '

{name}

', + * '
', + * '

' + * ); + * tpl.overwrite(panel.body, data); + * + * More advanced conditionals are also supported: + * + * var tpl = new Ext.XTemplate( + * '

Name: {name}

', + * '

Kids: ', + * '', + * '

{name} is a ', + * '', + * '

teenager

', + * '', + * '

kid

', + * '', + * '

baby

', + * '
', + * '

' + * ); + * + * var tpl = new Ext.XTemplate( + * '

Name: {name}

', + * '

Kids: ', + * '', + * '

{name} is a ', + * '', + * '', + * '

girl

', + * '', + * '

boy

', + * '
', + * '

' + * ); + * + * A `break` is implied between each case and default, however, multiple cases can be listed + * in a single <tpl> tag. + * + * # Using double quotes + * + * Examples: + * + * var tpl = new Ext.XTemplate( + * "Child", + * "Teenager", + * "...", + * '...', + * "", + * "Hello" + * ); + * + * # Basic math support + * + * The following basic math operators may be applied directly on numeric data values: + * + * + - * / + * + * For example: + * + * var tpl = new Ext.XTemplate( + * '

Name: {name}

', + * '

Kids: ', + * '', + * '', + * '

{#}: {name}

', + * '

In 5 Years: {age+5}

', + * '

Dad: {parent.name}

', + * '
', + * '

' + * ); + * tpl.overwrite(panel.body, data); + * + * # Execute arbitrary inline code with special built-in template variables + * + * Anything between `{[ ... ]}` is considered code to be executed in the scope of the template. + * The expression is evaluated and the result is included in the generated result. There are + * some special variables available in that code: + * + * - **out**: The output array into which the template is being appended (using `push` to later + * `join`). + * - **values**: The values in the current scope. If you are using scope changing sub-templates, + * you can change what values is. + * - **parent**: The scope (values) of the ancestor template. + * - **xindex**: If you are in a looping template, the index of the loop you are in (1-based). + * - **xcount**: If you are in a looping template, the total length of the array you are looping. + * + * This example demonstrates basic row striping using an inline code block and the xindex variable: + * + * var tpl = new Ext.XTemplate( + * '

Name: {name}

', + * '

Company: {[values.company.toUpperCase() + ", " + values.title]}

', + * '

Kids: ', + * '', + * '

', + * '{name}', + * '
', + * '

' + * ); + * + * Any code contained in "verbatim" blocks (using "{% ... %}") will be inserted directly in + * the generated code for the template. These blocks are not included in the output. This + * can be used for simple things like break/continue in a loop, or control structures or + * method calls (when they don't produce output). The `this` references the template instance. + * + * var tpl = new Ext.XTemplate( + * '

Name: {name}

', + * '

Company: {[values.company.toUpperCase() + ", " + values.title]}

', + * '

Kids: ', + * '', + * '{% if (xindex % 2 === 0) continue; %}', + * '{name}', + * '{% if (xindex > 100) break; %}', + * '', + * '

' + * ); + * + * # Template member functions + * + * One or more member functions can be specified in a configuration object passed into the XTemplate constructor for + * more complex processing: + * + * var tpl = new Ext.XTemplate( + * '

Name: {name}

', + * '

Kids: ', + * '', + * '', + * '

Girl: {name} - {age}

', + * '', + * '

Boy: {name} - {age}

', + * '
', + * '', + * '

{name} is a baby!

', + * '
', + * '

', + * { + * // XTemplate configuration: + * disableFormats: true, + * // member functions: + * isGirl: function(name){ + * return name == 'Aubrey' || name == 'Nikol'; + * }, + * isBaby: function(age){ + * return age < 1; + * } + * } + * ); + * tpl.overwrite(panel.body, data); + */ +Ext.define('Ext.XTemplate', { + extend: 'Ext.Template', + + requires: 'Ext.XTemplateCompiler', + + /** + * @private + */ + emptyObj: {}, + + /** + * @cfg {Boolean} compiled + * Only applies to {@link Ext.Template}, XTemplates are compiled automatically on the + * first call to {@link #apply} or {@link #applyOut}. + */ + + /** + * @cfg {String/Array} definitions + * Optional. A statement, or array of statements which set up `var`s which may then + * be accessed within the scope of the generated function. + */ + + apply: function(values, parent) { + return this.applyOut(values, [], parent).join(''); + }, + + applyOut: function(values, out, parent) { + var me = this, + compiler; + + if (!me.fn) { + compiler = new Ext.XTemplateCompiler({ + useFormat: me.disableFormats !== true, + definitions: me.definitions + }); + + me.fn = compiler.compile(me.html); + } + + try { + me.fn.call(me, out, values, parent || me.emptyObj, 1, 1); + } catch (e) { + } + + return out; + }, + + /** + * Does nothing. XTemplates are compiled automatically, so this function simply returns this. + * @return {Ext.XTemplate} this + */ + compile: function() { + return this; + }, + + statics: { + /** + * Gets an `XTemplate` from an object (an instance of an {@link Ext#define}'d class). + * Many times, templates are configured high in the class hierarchy and are to be + * shared by all classes that derive from that base. To further complicate matters, + * these templates are seldom actual instances but are rather configurations. For + * example: + * + * Ext.define('MyApp.Class', { + * someTpl: [ + * 'tpl text here' + * ] + * }); + * + * The goal being to share that template definition with all instances and even + * instances of derived classes, until `someTpl` is overridden. This method will + * "upgrade" these configurations to be real `XTemplate` instances *in place* (to + * avoid creating one instance per object). + * + * @param {Object} instance The object from which to get the `XTemplate` (must be + * an instance of an {@link Ext#define}'d class). + * @param {String} name The name of the property by which to get the `XTemplate`. + * @return {Ext.XTemplate} The `XTemplate` instance or null if not found. + * @protected + */ + getTpl: function (instance, name) { + var tpl = instance[name], // go for it! 99% of the time we will get it! + proto; + + if (tpl && !tpl.isTemplate) { // tpl is just a configuration (not an instance) + // create the template instance from the configuration: + tpl = Ext.ClassManager.dynInstantiate('Ext.XTemplate', tpl); + + // and replace the reference with the new instance: + if (instance.hasOwnProperty(name)) { // the tpl is on the instance + instance[name] = tpl; + } else { // must be somewhere in the prototype chain + for (proto = instance.self.prototype; proto; proto = proto.superclass) { + if (proto.hasOwnProperty(name)) { + proto[name] = tpl; + break; + } + } + } + } + // else !tpl (no such tpl) or the tpl is an instance already... either way, tpl + // is ready to return + + return tpl || null; + } + } +}); + +/** + * Base Layout class - extended by ComponentLayout and ContainerLayout + */ +Ext.define('Ext.layout.Layout', { + + requires: [ + 'Ext.XTemplate' + ], + + uses: [ 'Ext.layout.Context' ], + + /** + * @property {Boolean} isLayout + * `true` in this class to identify an object as an instantiated Layout, or subclass thereof. + */ + isLayout: true, + initialized: false, + running: false, + + autoSizePolicy: { + setsWidth: 0, + setsHeight: 0 + }, + + statics: { + layoutsByType: {}, + + create: function(layout, defaultType) { + var ClassManager = Ext.ClassManager, + layoutsByType = this.layoutsByType, + alias, className, config, layoutClass, type, load; + + if (!layout || typeof layout === 'string') { + type = layout || defaultType; + config = {}; + } else if (layout.isLayout) { + return layout; + } else { + config = layout; + type = layout.type || defaultType; + } + + if (!(layoutClass = layoutsByType[type])) { + alias = 'layout.' + type; + className = ClassManager.getNameByAlias(alias); + + // this is needed to support demand loading of the class + if (!className) { + load = true; + } + + layoutClass = ClassManager.get(className); + if (load || !layoutClass) { + return ClassManager.instantiateByAlias(alias, config || {}); + } + layoutsByType[type] = layoutClass; + } + + return new layoutClass(config); + } + }, + + constructor : function(config) { + var me = this; + + me.id = Ext.id(null, me.type + '-'); + Ext.apply(me, config); + me.layoutCount = 0; + }, + + /** + * @property {Boolean} done Used only during a layout run, this value indicates that a + * layout has finished its calculations. This flag is set to true prior to the call to + * {@link #calculate} and should be set to false if this layout has more work to do. + */ + + /** + * Called before any calculation cycles to prepare for layout. + * + * This is a write phase and DOM reads should be strictly avoided when overridding + * this method. + * + * @param {Ext.layout.ContextItem} ownerContext The context item for the layout's owner + * component. + * @method beginLayout + */ + beginLayout: Ext.emptyFn, + + + beginLayoutCycle: function (ownerContext) { + var me = this, + context = me.context, + changed; + + if (me.lastWidthModel != ownerContext.widthModel) { + if (me.lastWidthModel) { + changed = true; + } + me.lastWidthModel = ownerContext.widthModel; + } + + if (me.lastHeightModel != ownerContext.heightModel) { + if (me.lastWidthModel) { + changed = true; + } + me.lastHeightModel = ownerContext.heightModel; + } + + if (changed) { + (context = ownerContext.context).clearTriggers(me, false); + context.clearTriggers(me, true); + me.triggerCount = 0; + } + }, + + + + + + + + + finishedLayout: function () { + this.ownerContext = null; + }, + + + + redoLayout: Ext.emptyFn, + undoLayout: Ext.emptyFn, + + getAnimatePolicy: function() { + return this.animatePolicy; + }, + + + getItemSizePolicy: function (item) { + return this.autoSizePolicy; + }, + + isItemBoxParent: function (itemContext) { + return false; + }, + + isItemLayoutRoot: function (item) { + var sizeModel = item.getSizeModel(), + width = sizeModel.width, + height = sizeModel.height; + + + + if (!item.componentLayout.lastComponentSize && (width.calculated || height.calculated)) { + return false; + } + + + return !width.shrinkWrap && !height.shrinkWrap; + }, + + isItemShrinkWrap: function (item) { + return item.shrinkWrap; + }, + + isRunning: function () { + return !!this.ownerContext; + }, + + + + + + getItemsRenderTree: function (items, renderCfgs) { + var length = items.length, + i, item, itemConfig, result; + + if (length) { + result = []; + for (i = 0; i < length; ++i) { + item = items[i]; + + + + if (!item.rendered) { + + + + + + + if (renderCfgs && (renderCfgs[item.id] !== undefined)) { + itemConfig = renderCfgs[item.id]; + } else { + + this.configureItem(item); + itemConfig = item.getRenderTree(); + if (renderCfgs) { + renderCfgs[item.id] = itemConfig; + } + } + + + if (itemConfig) { + result.push(itemConfig); + } + } + } + } + + return result; + }, + + finishRender: Ext.emptyFn, + + finishRenderItems: function (target, items) { + var length = items.length, + i, item; + + for (i = 0; i < length; i++) { + item = items[i]; + + + if (item.rendering) { + + + item.finishRender(i); + + this.afterRenderItem(item); + } + } + }, + + renderChildren: function () { + var me = this, + items = me.getLayoutItems(), + target = me.getRenderTarget(); + + me.renderItems(items, target); + }, + + + renderItems : function(items, target) { + var me = this, + ln = items.length, + i = 0, + item; + + if (ln) { + Ext.suspendLayouts(); + for (; i < ln; i++) { + item = items[i]; + if (item && !item.rendered) { + me.renderItem(item, target, i); + } else if (!me.isValidParent(item, target, i)) { + me.moveItem(item, target, i); + } else { + + me.configureItem(item); + } + } + Ext.resumeLayouts(true); + } + }, + + + isValidParent : function(item, target, position) { + var itemDom = item.el ? item.el.dom : Ext.getDom(item), + targetDom = (target && target.dom) || target; + + + if (itemDom.parentNode && itemDom.parentNode.className.indexOf(Ext.baseCSSPrefix + 'resizable-wrap') !== -1) { + itemDom = itemDom.parentNode; + } + + + if (itemDom && targetDom) { + if (typeof position == 'number') { + return itemDom === targetDom.childNodes[position]; + } + return itemDom.parentNode === targetDom; + } + + return false; + }, + + + configureItem: function(item) { + item.ownerLayout = this; + }, + + + renderItem : function(item, target, position) { + var me = this; + if (!item.rendered) { + me.configureItem(item); + item.render(target, position); + me.afterRenderItem(item); + } + }, + + + moveItem : function(item, target, position) { + target = target.dom || target; + if (typeof position == 'number') { + position = target.childNodes[position]; + } + target.insertBefore(item.el.dom, position || null); + item.container = Ext.get(target); + this.configureItem(item); + }, + + + onContentChange: function () { + this.owner.updateLayout(); + return true; + }, + + + initLayout : function() { + this.initialized = true; + }, + + + setOwner : function(owner) { + this.owner = owner; + }, + + + getLayoutItems : function() { + return []; + }, + + + afterRenderItem: Ext.emptyFn, + onAdd : Ext.emptyFn, + onRemove : Ext.emptyFn, + onDestroy : Ext.emptyFn, + + + afterRemove : function(item) { + var me = this, + el = item.el, + owner = me.owner, + removeClasses; + + if (item.rendered) { + removeClasses = [].concat(me.itemCls || []); + if (owner.itemCls) { + removeClasses = Ext.Array.push(removeClasses, owner.itemCls); + } + if (removeClasses.length) { + el.removeCls(removeClasses); + } + } + + delete item.ownerLayout; + }, + + + destroy : function() { + var me = this, + target; + + if (me.targetCls) { + target = me.getTarget(); + if (target) { + target.removeCls(me.targetCls); + } + } + + me.onDestroy(); + }, + + sortWeightedItems: function (items, reverseProp) { + for (var i = 0, length = items.length; i < length; ++i) { + items[i].$i = i; + } + + Ext.Array.sort(items, function (item1, item2) { + var ret = item2.weight - item1.weight; + + if (!ret) { + ret = item1.$i - item2.$i; + if (item1[reverseProp]) { + ret = -ret; + } + } + + return ret; + }); + + for (i = 0; i < length; ++i) { + delete items[i].$i; + } + } +}, function () { + var Layout = this, + sizeModels = {}, + sizeModelsArray = [], + i, j, n, pairs, sizeModel; + + Layout.prototype.sizeModels = Layout.sizeModels = sizeModels; + + + var SizeModel = function (config) { + var me = this, + name = config.name; + + Ext.apply(Ext.apply(me, defaults), config); + + me[name] = true; + SizeModel[name] = sizeModels[name] = me; + + me.fixed = !(me.auto = me.natural || me.shrinkWrap); + + + me.ordinal = sizeModelsArray.length; + sizeModelsArray.push(me); + }; + + Ext.layout.SizeModel = SizeModel; + + var defaults = { + + + + + + calculated: false, + + + configured: false, + + + constrainedMax: false, + + + constrainedMin: false, + + + + + natural: false, + + + shrinkWrap: false, + + + calculatedFromConfigured: false, + + + calculatedFromNatural: false, + + + calculatedFromShrinkWrap: false, + + + names: null + }; + + + + + new SizeModel({ + name: 'calculated' + }); + + new SizeModel({ + name: 'configured', + names: { width: 'width', height: 'height' } + }); + + new SizeModel({ + name: 'natural' + }); + + new SizeModel({ + name: 'shrinkWrap' + }); + + + + + + new SizeModel({ + name: 'calculatedFromConfigured', + configured: true, + names: { width: 'width', height: 'height' } + }); + + new SizeModel({ + name: 'calculatedFromNatural', + natural: true + }); + + new SizeModel({ + name: 'calculatedFromShrinkWrap', + shrinkWrap: true + }); + + new SizeModel({ + name: 'constrainedMax', + configured: true, + constrained: true, + names: { width: 'maxWidth', height: 'maxHeight' } + }); + + new SizeModel({ + name: 'constrainedMin', + configured: true, + constrained: true, + names: { width: 'minWidth', height: 'minHeight' } + }); + + for (i = 0, n = sizeModelsArray.length; i < n; ++i) { + sizeModel = sizeModelsArray[i]; + + sizeModel.pairsByHeightOrdinal = pairs = []; + + for (j = 0; j < n; ++j) { + pairs.push({ + width: sizeModel, + height: sizeModelsArray[j] + }); + } + } +}); + + +Ext.define('Ext.layout.container.Container', { + + + + extend: 'Ext.layout.Layout', + + alternateClassName: 'Ext.layout.ContainerLayout', + + mixins: { + elementCt: 'Ext.util.ElementContainer' + }, + + requires: [ + 'Ext.XTemplate' + ], + + type: 'container', + + + + + + + manageOverflow: 0, + + + beginCollapse: Ext.emptyFn, + + + beginExpand: Ext.emptyFn, + + + animatePolicy: null, + + childEls: [ + + 'overflowPadderEl' + ], + + renderTpl: [ + '{%this.renderBody(out,values)%}' + ], + + usesContainerHeight: true, + usesContainerWidth: true, + usesHeight: true, + usesWidth: true, + + + + reserveScrollbar: false, + + + lastOverflowAdjust: { + width: 0, + height: 0 + }, + + constructor: function () { + this.callParent(arguments); + this.mixins.elementCt.constructor.call(this); + }, + + destroy : function() { + this.callParent(); + this.mixins.elementCt.destroy.call(this); + }, + + initLayout: function() { + var me = this, + scrollbarWidth = Ext.getScrollbarSize().width; + + me.callParent(); + + + + + if (scrollbarWidth && me.manageOverflow && !me.hasOwnProperty('lastOverflowAdjust')) { + if (me.owner.autoScroll || me.reserveScrollbar) { + me.lastOverflowAdjust = { + width: scrollbarWidth, + height: 0 + }; + } + } + }, + + + beginLayout: function (ownerContext) { + this.callParent(arguments); + + ownerContext.targetContext = ownerContext.getEl('getTarget', this); + + this.cacheChildItems(ownerContext); + }, + + beginLayoutCycle: function (ownerContext, firstCycle) { + var me = this, + padEl = me.overflowPadderEl; + + me.callParent(arguments); + + + + if (!ownerContext.state.overflowAdjust) { + ownerContext.state.overflowAdjust = me.lastOverflowAdjust; + } + + if (firstCycle) { + if (me.usesContainerHeight) { + ++ownerContext.consumersContainerHeight; + } + if (me.usesContainerWidth) { + ++ownerContext.consumersContainerWidth; + } + } + + if (padEl) { + padEl.setStyle('display', 'none'); + } + }, + + completeLayout: function (ownerContext) { + + this.lastOverflowAdjust = ownerContext.state.overflowAdjust; + }, + + cacheChildItems: function (ownerContext) { + var context = ownerContext.context, + childItems = [], + items = this.getVisibleItems(), + length = items.length, + i; + + ownerContext.childItems = childItems; + ownerContext.visibleItems = items; + + for (i = 0; i < length; ++i) { + childItems.push(context.getCmp(items[i])); + } + }, + + cacheElements: function () { + var owner = this.owner; + + this.applyChildEls(owner.el, owner.id); + }, + + calculateContentSize: function (ownerContext, dimensions) { + var me = this, + containerDimensions = (dimensions || 0) | me.manageOverflow | + ((ownerContext.widthModel.shrinkWrap ? 1 : 0) | + (ownerContext.heightModel.shrinkWrap ? 2 : 0)), + calcWidth = (containerDimensions & 1) || undefined, + calcHeight = (containerDimensions & 2) || undefined, + childItems = ownerContext.childItems, + length = childItems.length, + contentHeight = 0, + contentWidth = 0, + needed = 0, + props = ownerContext.props, + targetXY, targetX, targetY, targetPadding, + borders, child, childContext, childX, childY, height, i, margins, width, xy; + + if (calcWidth) { + if (isNaN(props.contentWidth)) { + ++needed; + } else { + calcWidth = undefined; + } + } + if (calcHeight) { + if (isNaN(props.contentHeight)) { + ++needed; + } else { + calcHeight = undefined; + } + } + + if (needed) { + + + + for (i = 0; i < length; ++i) { + childContext = childItems[i]; + child = childContext.target; + height = calcHeight && childContext.getProp('height'); + width = calcWidth && childContext.getProp('width'); + margins = childContext.getMarginInfo(); + + + + if ((calcWidth && isNaN(child.x)) || (calcHeight && isNaN(child.y))) { + xy = child.el.getXY(); + if (!targetXY) { + targetXY = ownerContext.targetContext.el.getXY(); + borders = ownerContext.targetContext.getBorderInfo(); + targetX = targetXY[0] + borders.left; + targetY = targetXY[1] + borders.top; + } + + childX = xy[0] - targetX; + childY = xy[1] - targetY; + } else { + + childX = child.x; + childY = child.y; + } + + + height += margins.bottom; + width += margins.right; + + contentHeight = Math.max(contentHeight, childY + height); + contentWidth = Math.max(contentWidth, childX + width); + + if (isNaN(contentHeight) && isNaN(contentWidth)) { + me.done = false; + return; + } + } + + if (calcWidth || calcHeight) { + targetPadding = ownerContext.targetContext.getPaddingInfo(); + } + if (calcWidth && !ownerContext.setContentWidth(contentWidth + targetPadding.right)) { + me.done = false; + } + if (calcHeight && !ownerContext.setContentHeight(contentHeight + targetPadding.bottom)) { + me.done = false; + } + + + } + }, + + + calculateOverflow: function (ownerContext, containerSize, dimensions) { + var me = this, + owner = me.owner, + manageOverflow = me.manageOverflow, + state = ownerContext.state, + overflowAdjust = state.overflowAdjust, + padWidth, padHeight, padElContext, padding, scrollRangeFlags, + overflow, scrollbarSize, contentW, contentH, ownerW, ownerH, scrollbars, + xauto, yauto; + + if (manageOverflow && !state.secondPass && !me.reserveScrollbar) { + + + if (owner.autoScroll) { + xauto = yauto = true; + } else { + if (owner.overflowX) { + xauto = owner.overflowX == 'auto'; + } else { + overflow = ownerContext.targetContext.getStyle('overflow-x'); + xauto = overflow && overflow != 'hidden' && overflow != 'scroll'; + } + + if (owner.overflowY) { + yauto = owner.overflowY == 'auto'; + } else { + overflow = ownerContext.targetContext.getStyle('overflow-y'); + yauto = overflow && overflow != 'hidden' && overflow != 'scroll'; + } + } + + + + + if (!containerSize.gotWidth) { + xauto = false; + } + if (!containerSize.gotHeight) { + yauto = false; + } + + if (xauto || yauto) { + scrollbarSize = Ext.getScrollbarSize(); + + + + contentW = ownerContext.peek('contentWidth'); + contentH = ownerContext.peek('contentHeight'); + ownerW = containerSize.width; + ownerH = containerSize.height; + + scrollbars = me.getScrollbarsNeeded(ownerW, ownerH, contentW, contentH); + state.overflowState = scrollbars; + + if (typeof dimensions == 'number') { + scrollbars &= ~dimensions; + } + + overflowAdjust = { + width: (xauto && (scrollbars & 2)) ? scrollbarSize.width : 0, + height: (yauto && (scrollbars & 1)) ? scrollbarSize.height : 0 + }; + + + + if (overflowAdjust.width !== me.lastOverflowAdjust.width || overflowAdjust.height !== me.lastOverflowAdjust.height) { + me.done = false; + + + + ownerContext.invalidate({ + state: { + overflowAdjust: overflowAdjust, + overflowState: state.overflowState, + secondPass: true + } + }); + } + } + } + + if (!me.done) { + return; + } + + padElContext = ownerContext.padElContext || + (ownerContext.padElContext = ownerContext.getEl('overflowPadderEl', me)); + + + + if (padElContext) { + scrollbars = state.overflowState; + padWidth = containerSize.width; + padHeight = 0; + + if (scrollbars) { + padding = ownerContext.targetContext.getPaddingInfo(); + scrollRangeFlags = me.scrollRangeFlags; + + if ((scrollbars & 2) && (scrollRangeFlags & 1)) { + padHeight += padding.bottom; + } + + if ((scrollbars & 1) && (scrollRangeFlags & 4)) { + padWidth += padding.right; + } + padElContext.setProp('display', ''); + padElContext.setSize(padWidth, padHeight); + } else { + padElContext.setProp('display', 'none'); + } + } + }, + + + configureItem: function(item) { + var me = this, + ownerItemCls = me.owner.itemCls, + addClasses = [].concat(me.itemCls || []); + + me.callParent(arguments); + + if (ownerItemCls) { + addClasses = Ext.Array.push(addClasses, ownerItemCls); + } + item.addCls(addClasses); + }, + + doRenderBody: function (out, renderData) { + + + + this.renderItems(out, renderData); + this.renderContent(out, renderData); + }, + + doRenderContainer: function (out, renderData) { + + + + var me = renderData.$comp.layout, + tpl = me.getRenderTpl(), + data = me.getRenderData(); + + tpl.applyOut(data, out); + }, + + doRenderItems: function (out, renderData) { + + + + var me = renderData.$layout, + tree = me.getRenderTree(); + + if (tree) { + Ext.DomHelper.generateMarkup(tree, out); + } + }, + + + doRenderPadder: function (out, renderData) { + + + + var me = renderData.$layout, + owner = me.owner, + scrollRangeFlags = me.getScrollRangeFlags(); + + if (me.manageOverflow == 2) { + if (scrollRangeFlags & 5) { + out.push('
'); + + me.scrollRangeFlags = scrollRangeFlags; + } + } + }, + + finishRender: function () { + var me = this, + target, items; + + me.callParent(); + + me.cacheElements(); + + target = me.getRenderTarget(); + items = me.getLayoutItems(); + + if (me.targetCls) { + me.getTarget().addCls(me.targetCls); + } + + me.finishRenderItems(target, items); + }, + + + notifyOwner: function() { + this.owner.afterLayout(this); + }, + + + getContainerSize : function(ownerContext, inDom) { + + + + + + + var targetContext = ownerContext.targetContext, + frameInfo = targetContext.getFrameInfo(), + padding = targetContext.getPaddingInfo(), + got = 0, + needed = 0, + overflowAdjust = ownerContext.state.overflowAdjust, + gotWidth, gotHeight, width, height; + + + + + + + + + + if (!ownerContext.widthModel.shrinkWrap) { + ++needed; + width = inDom ? targetContext.getDomProp('width') : targetContext.getProp('width'); + gotWidth = (typeof width == 'number'); + if (gotWidth) { + ++got; + width -= frameInfo.width + padding.width; + if (overflowAdjust) { + width -= overflowAdjust.width; + } + } + } + + if (!ownerContext.heightModel.shrinkWrap) { + ++needed; + height = inDom ? targetContext.getDomProp('height') : targetContext.getProp('height'); + gotHeight = (typeof height == 'number'); + if (gotHeight) { + ++got; + height -= frameInfo.height + padding.height; + if (overflowAdjust) { + height -= overflowAdjust.height; + } + } + } + + return { + width: width, + height: height, + needed: needed, + got: got, + gotAll: got == needed, + gotWidth: gotWidth, + gotHeight: gotHeight + }; + }, + + + getLayoutItems: function() { + var owner = this.owner, + items = owner && owner.items; + + return (items && items.items) || []; + }, + + getRenderData: function () { + var comp = this.owner; + + return { + $comp: comp, + $layout: this, + ownerId: comp.id + }; + }, + + + getRenderedItems: function() { + var me = this, + target = me.getRenderTarget(), + items = me.getLayoutItems(), + ln = items.length, + renderedItems = [], + i, item; + + for (i = 0; i < ln; i++) { + item = items[i]; + if (item.rendered && me.isValidParent(item, target, i)) { + renderedItems.push(item); + } + } + + return renderedItems; + }, + + + getRenderTarget: function() { + return this.owner.getTargetEl(); + }, + + + getElementTarget: function() { + return this.getRenderTarget(); + }, + + getRenderTpl: function () { + var me = this, + renderTpl = Ext.XTemplate.getTpl(this, 'renderTpl'); + + + + if (!renderTpl.renderContent) { + me.owner.setupRenderTpl(renderTpl); + } + + return renderTpl; + }, + + getRenderTree: function () { + var result, + items = this.owner.items, + itemsGen, + renderCfgs = {}; + + do { + itemsGen = items.generation; + result = this.getItemsRenderTree(this.getLayoutItems(), renderCfgs); + } while (items.generation !== itemsGen); + return result; + }, + + getScrollbarsNeeded: function (width, height, contentWidth, contentHeight) { + var scrollbarSize = Ext.getScrollbarSize(), + hasWidth = typeof width == 'number', + hasHeight = typeof height == 'number', + needHorz = 0, + needVert = 0; + + + if (!scrollbarSize.width) { + return 0; + } + if (hasHeight && height < contentHeight) { + needVert = 2; + width -= scrollbarSize.width; + } + + if (hasWidth && width < contentWidth) { + needHorz = 1; + if (!needVert && hasHeight) { + height -= scrollbarSize.height; + if (height < contentHeight) { + needVert = 2; + } + } + } + + return needVert + needHorz; + }, + + + getScrollRangeFlags: (function () { + var flags = -1; + + return function () { + if (flags < 0) { + var div = Ext.getBody().createChild({ + + cls: Ext.baseCSSPrefix + 'border-box', + style: { + width: '100px', height: '100px', padding: '10px', + overflow: 'auto' + }, + children: [{ + style: { + border: '1px solid red', + width: '150px', height: '150px', + margin: '0 5px 5px 0' + } + }] + }), + scrollHeight = div.dom.scrollHeight, + scrollWidth = div.dom.scrollWidth, + heightFlags = { + + 175: 0, + + 165: 1, + + 170: 2, + + 160: 3 + }, + widthFlags = { + + 175: 0, + + 165: 4, + + 170: 8, + + 160: 12 + }; + + flags = (heightFlags[scrollHeight] || 0) | (widthFlags[scrollWidth] || 0); + + div.remove(); + } + + return flags; + }; + }()), + + + getTarget: function() { + return this.owner.getTargetEl(); + }, + + + getVisibleItems: function() { + var target = this.getRenderTarget(), + items = this.getLayoutItems(), + ln = items.length, + visibleItems = [], + i, item; + + for (i = 0; i < ln; i++) { + item = items[i]; + if (item.rendered && this.isValidParent(item, target, i) && item.hidden !== true) { + visibleItems.push(item); + } + } + + return visibleItems; + }, + + setupRenderTpl: function (renderTpl) { + var me = this; + + renderTpl.renderBody = me.doRenderBody; + renderTpl.renderContainer = me.doRenderContainer; + renderTpl.renderItems = me.doRenderItems; + renderTpl.renderPadder = me.doRenderPadder; + } +}); + + +Ext.define('Ext.layout.container.Editor', { + + + + alias: 'layout.editor', + + extend: 'Ext.layout.container.Container', + + + + autoSizeDefault: { + width: 'field', + height: 'field' + }, + + getItemSizePolicy: function (item) { + var me = this, + autoSize = me.owner.autoSize; + + return me.sizePolicy || (me.sizePolicy = { + setsWidth: autoSize && autoSize.width === 'boundEl' ? 1 : 0, + setsHeight: autoSize && autoSize.height === 'boundEl' ? 1 : 0 + }); + }, + + calculate: function(ownerContext) { + var me = this, + owner = me.owner, + autoSize = owner.autoSize, + fieldWidth, + fieldHeight; + + if (autoSize === true) { + autoSize = me.autoSizeDefault; + } + + + if (autoSize) { + fieldWidth = me.getDimension(owner, autoSize.width, 'getWidth', owner.width); + fieldHeight = me.getDimension(owner, autoSize.height, 'getHeight', owner.height); + } + + + ownerContext.childItems[0].setSize(fieldWidth, fieldHeight); + + + ownerContext.setWidth(fieldWidth); + ownerContext.setHeight(fieldHeight); + + + ownerContext.setContentSize(fieldWidth || owner.field.getWidth(), + fieldHeight || owner.field.getHeight()); + }, + + getDimension: function(owner, type, getMethod, ownerSize){ + switch (type) { + + case 'boundEl': + return owner.boundEl[getMethod](); + + + case 'field': + return undefined; + + + default: + return ownerSize; + } + } +}); + + +Ext.define('Ext.layout.component.Component', { + + + + extend: 'Ext.layout.Layout', + + + + type: 'component', + + isComponentLayout: true, + + nullBox: {}, + + usesContentHeight: true, + usesContentWidth: true, + usesHeight: true, + usesWidth: true, + + beginLayoutCycle: function (ownerContext, firstCycle) { + var me = this, + owner = me.owner, + ownerCtContext = ownerContext.ownerCtContext, + heightModel = ownerContext.heightModel, + widthModel = ownerContext.widthModel, + body = owner.el.dom === document.body, + lastBox = owner.lastBox || me.nullBox, + lastSize = owner.el.lastBox || me.nullBox, + dirty = !body, + ownerLayout, v, widthName, heightName; + + me.callParent(arguments); + + if (firstCycle) { + if (me.usesContentWidth) { + ++ownerContext.consumersContentWidth; + } + if (me.usesContentHeight) { + ++ownerContext.consumersContentHeight; + } + if (me.usesWidth) { + ++ownerContext.consumersWidth; + } + if (me.usesHeight) { + ++ownerContext.consumersHeight; + } + + if (ownerCtContext && !ownerCtContext.hasRawContent) { + ownerLayout = owner.ownerLayout; + + if (ownerLayout.usesWidth) { + ++ownerContext.consumersWidth; + } + if (ownerLayout.usesHeight) { + ++ownerContext.consumersHeight; + } + } + } + + + + + if (widthModel.configured) { + + + + + widthName = widthModel.names.width; + + if (!body) { + dirty = firstCycle ? owner[widthName] !== lastSize.width + : widthModel.constrained; + } + + ownerContext.setWidth(owner[widthName], dirty); + } else if (ownerContext.isTopLevel) { + if (widthModel.calculated) { + v = lastBox.width; + ownerContext.setWidth(v, v != lastSize.width); + } + + v = lastBox.x; + ownerContext.setProp('x', v, v != lastSize.x); + } + + if (heightModel.configured) { + heightName = heightModel.names.height; + + if (!body) { + dirty = firstCycle ? owner[heightName] !== lastSize.height + : heightModel.constrained; + } + + ownerContext.setHeight(owner[heightName], dirty); + } else if (ownerContext.isTopLevel) { + if (heightModel.calculated) { + v = lastBox.height; + ownerContext.setHeight(v, v != lastSize.height); + } + + v = lastBox.y; + ownerContext.setProp('y', v, v != lastSize.y); + } + }, + + finishedLayout: function(ownerContext) { + var me = this, + elementChildren = ownerContext.children, + owner = me.owner, + len, i, elContext, lastBox, props, v; + + + + + + if (elementChildren) { + len = elementChildren.length; + for (i = 0; i < len; i++) { + elContext = elementChildren[i]; + elContext.el.lastBox = elContext.props; + } + } + + + ownerContext.previousSize = me.lastComponentSize; + + + me.lastComponentSize = owner.el.lastBox = props = ownerContext.props; + + + + owner.lastBox = lastBox = {}; + + v = props.x; + if (v !== undefined) { + lastBox.x = v; + } + v = props.y; + if (v !== undefined) { + lastBox.y = v; + } + v = props.width; + if (v !== undefined) { + lastBox.width = v; + } + v = props.height; + if (v !== undefined) { + lastBox.height = v; + } + + me.callParent(arguments); + }, + + notifyOwner: function(ownerContext) { + var me = this, + currentSize = me.lastComponentSize, + prevSize = ownerContext.previousSize, + args = [currentSize.width, currentSize.height]; + + if (prevSize) { + args.push(prevSize.width, prevSize.height); + } + + + me.owner.afterComponentLayout.apply(me.owner, args); + }, + + + getTarget : function() { + return this.owner.el; + }, + + + getRenderTarget : function() { + return this.owner.el; + }, + + cacheTargetInfo: function(ownerContext) { + var me = this, + targetInfo = me.targetInfo, + target; + + if (!targetInfo) { + target = ownerContext.getEl('getTarget', me); + + me.targetInfo = targetInfo = { + padding: target.getPaddingInfo(), + border: target.getBorderInfo() + }; + } + + return targetInfo; + }, + + measureAutoDimensions: function (ownerContext, dimensions) { + + + + + + + var me = this, + owner = me.owner, + containerLayout = owner.layout, + heightModel = ownerContext.heightModel, + widthModel = ownerContext.widthModel, + boxParent = ownerContext.boxParent, + isBoxParent = ownerContext.isBoxParent, + props = ownerContext.props, + isContainer, + ret = { + gotWidth: false, + gotHeight: false, + isContainer: (isContainer = !ownerContext.hasRawContent) + }, + hv = dimensions || 3, + zeroWidth, zeroHeight, + needed = 0, + got = 0, + ready, size, temp; + + + + + + + + if (widthModel.shrinkWrap && ownerContext.consumersContentWidth) { + ++needed; + zeroWidth = !(hv & 1); + + if (isContainer) { + + + if (zeroWidth) { + ret.contentWidth = 0; + ret.gotWidth = true; + ++got; + } else if ((ret.contentWidth = ownerContext.getProp('contentWidth')) !== undefined) { + ret.gotWidth = true; + ++got; + } + } else { + size = props.contentWidth; + + if (typeof size == 'number') { + ret.contentWidth = size; + ret.gotWidth = true; + ++got; + } else { + if (zeroWidth) { + ready = true; + } else if (!ownerContext.hasDomProp('containerChildrenDone')) { + ready = false; + } else if (isBoxParent || !boxParent || boxParent.widthModel.shrinkWrap) { + + + + ready = true; + } else { + + + + ready = boxParent.hasDomProp('width'); + } + + if (ready) { + if (zeroWidth) { + temp = 0; + } else if (containerLayout && containerLayout.measureContentWidth) { + + + temp = containerLayout.measureContentWidth(ownerContext); + } else { + temp = me.measureContentWidth(ownerContext); + } + + if (!isNaN(ret.contentWidth = temp)) { + ownerContext.setContentWidth(temp, true); + ret.gotWidth = true; + ++got; + } + } + } + } + } else if (widthModel.natural && ownerContext.consumersWidth) { + ++needed; + size = props.width; + + + if (typeof size == 'number') { + ret.width = size; + ret.gotWidth = true; + ++got; + } else { + if (isBoxParent || !boxParent) { + ready = true; + } else { + + + + ready = boxParent.hasDomProp('width'); + } + + if (ready) { + if (!isNaN(ret.width = me.measureOwnerWidth(ownerContext))) { + ownerContext.setWidth(ret.width, false); + ret.gotWidth = true; + ++got; + } + } + } + } + + + + + if (heightModel.shrinkWrap && ownerContext.consumersContentHeight) { + ++needed; + zeroHeight = !(hv & 2); + + if (isContainer) { + + if (zeroHeight) { + ret.contentHeight = 0; + ret.gotHeight = true; + ++got; + } else if ((ret.contentHeight = ownerContext.getProp('contentHeight')) !== undefined) { + ret.gotHeight = true; + ++got; + } + } else { + size = props.contentHeight; + + if (typeof size == 'number') { + ret.contentHeight = size; + ret.gotHeight = true; + ++got; + } else { + if (zeroHeight) { + ready = true; + } else if (!ownerContext.hasDomProp('containerChildrenDone')) { + ready = false; + } else if (owner.noWrap) { + ready = true; + } else if (!widthModel.shrinkWrap) { + + ready = (ownerContext.bodyContext || ownerContext).hasDomProp('width'); + } else if (isBoxParent || !boxParent || boxParent.widthModel.shrinkWrap) { + + + + ready = true; + } else { + + + + ready = boxParent.hasDomProp('width'); + } + + if (ready) { + if (zeroHeight) { + temp = 0; + } else if (containerLayout && containerLayout.measureContentHeight) { + + + temp = containerLayout.measureContentHeight(ownerContext); + } else { + temp = me.measureContentHeight(ownerContext); + } + + if (!isNaN(ret.contentHeight = temp)) { + ownerContext.setContentHeight(temp, true); + ret.gotHeight = true; + ++got; + } + } + } + } + } else if (heightModel.natural && ownerContext.consumersHeight) { + ++needed; + size = props.height; + + + if (typeof size == 'number') { + ret.height = size; + ret.gotHeight = true; + ++got; + } else { + if (isBoxParent || !boxParent) { + ready = true; + } else { + + + + ready = boxParent.hasDomProp('width'); + } + + if (ready) { + if (!isNaN(ret.height = me.measureOwnerHeight(ownerContext))) { + ownerContext.setHeight(ret.height, false); + ret.gotHeight = true; + ++got; + } + } + } + } + + if (boxParent) { + ownerContext.onBoxMeasured(); + } + + ret.gotAll = got == needed; + + return ret; + }, + + measureContentWidth: function (ownerContext) { + + return ownerContext.el.getWidth() - ownerContext.getFrameInfo().width; + }, + + measureContentHeight: function (ownerContext) { + + return ownerContext.el.getHeight() - ownerContext.getFrameInfo().height; + }, + + measureOwnerHeight: function (ownerContext) { + return ownerContext.el.getHeight(); + }, + + measureOwnerWidth: function (ownerContext) { + return ownerContext.el.getWidth(); + } +}); + + +Ext.define('Ext.layout.component.Auto', { + + + + alias: 'layout.autocomponent', + + extend: 'Ext.layout.component.Component', + + + + type: 'autocomponent', + + + setHeightInDom: false, + + + setWidthInDom: false, + + waitForOuterHeightInDom: false, + waitForOuterWidthInDom: false, + + beginLayoutCycle: function(ownerContext, firstCycle){ + var me = this, + lastWidthModel = me.lastWidthModel, + lastHeightModel = me.lastHeightModel, + owner = me.owner; + + me.callParent(arguments); + + if (lastWidthModel && lastWidthModel.fixed && ownerContext.widthModel.shrinkWrap) { + owner.el.setWidth(null); + } + + if (lastHeightModel && lastHeightModel.fixed && ownerContext.heightModel.shrinkWrap) { + owner.el.setHeight(null); + } + }, + + calculate: function(ownerContext) { + var me = this, + measurement = me.measureAutoDimensions(ownerContext), + heightModel = ownerContext.heightModel, + widthModel = ownerContext.widthModel, + width, height; + + + + if (measurement.gotWidth) { + if (widthModel.shrinkWrap) { + me.publishOwnerWidth(ownerContext, measurement.contentWidth); + } else if (me.publishInnerWidth) { + me.publishInnerWidth(ownerContext, measurement.width); + } + } else if (!widthModel.auto && me.publishInnerWidth) { + width = me.waitForOuterWidthInDom ? ownerContext.getDomProp('width') + : ownerContext.getProp('width'); + if (width === undefined) { + me.done = false; + } else { + me.publishInnerWidth(ownerContext, width); + } + } + + if (measurement.gotHeight) { + if (heightModel.shrinkWrap) { + me.publishOwnerHeight(ownerContext, measurement.contentHeight); + } else if (me.publishInnerHeight) { + me.publishInnerHeight(ownerContext, measurement.height); + } + } else if (!heightModel.auto && me.publishInnerHeight) { + height = me.waitForOuterHeightInDom ? ownerContext.getDomProp('height') + : ownerContext.getProp('height'); + if (height === undefined) { + me.done = false; + } else { + me.publishInnerHeight(ownerContext, height); + } + } + + if (!measurement.gotAll) { + me.done = false; + } + }, + + calculateOwnerHeightFromContentHeight: function (ownerContext, contentHeight) { + return contentHeight + ownerContext.getFrameInfo().height; + }, + + calculateOwnerWidthFromContentWidth: function (ownerContext, contentWidth) { + return contentWidth + ownerContext.getFrameInfo().width; + }, + + publishOwnerHeight: function (ownerContext, contentHeight) { + var me = this, + owner = me.owner, + height = me.calculateOwnerHeightFromContentHeight(ownerContext, contentHeight), + constrainedHeight, dirty, heightModel; + + if (isNaN(height)) { + me.done = false; + } else { + constrainedHeight = Ext.Number.constrain(height, owner.minHeight, owner.maxHeight); + + if (constrainedHeight == height) { + dirty = me.setHeightInDom; + } else { + heightModel = me.sizeModels[ + (constrainedHeight < height) ? 'constrainedMax' : 'constrainedMin']; + height = constrainedHeight; + + if (ownerContext.heightModel.calculatedFromShrinkWrap) { + + + + ownerContext.heightModel = heightModel; + } else { + ownerContext.invalidate({ heightModel: heightModel }); + } + } + + ownerContext.setHeight(height, dirty); + } + }, + + publishOwnerWidth: function (ownerContext, contentWidth) { + var me = this, + owner = me.owner, + width = me.calculateOwnerWidthFromContentWidth(ownerContext, contentWidth), + constrainedWidth, dirty, widthModel; + + if (isNaN(width)) { + me.done = false; + } else { + constrainedWidth = Ext.Number.constrain(width, owner.minWidth, owner.maxWidth); + + if (constrainedWidth == width) { + dirty = me.setWidthInDom; + } else { + widthModel = me.sizeModels[ + (constrainedWidth < width) ? 'constrainedMax' : 'constrainedMin']; + width = constrainedWidth; + + if (ownerContext.widthModel.calculatedFromShrinkWrap) { + + + + ownerContext.widthModel = widthModel; + } else { + ownerContext.invalidate({ widthModel: widthModel }); + } + } + + ownerContext.setWidth(width, dirty); + } + } +}); + + +Ext.define('Ext.layout.container.Auto', { + + + + alias: ['layout.auto', 'layout.autocontainer'], + + extend: 'Ext.layout.container.Container', + + + + type: 'autocontainer', + + childEls: [ + 'clearEl' + ], + + renderTpl: [ + '{%this.renderBody(out,values)%}', + + '' + ], + + + + calculate: function(ownerContext) { + var me = this, + containerSize; + + if (!ownerContext.hasDomProp('containerChildrenDone')) { + me.done = false; + } else { + + containerSize = me.getContainerSize(ownerContext); + if (!containerSize.gotAll) { + me.done = false; + } + + me.calculateContentSize(ownerContext); + } + } +}); + + +Ext.define('Ext.util.Filter', { + + + + + + + + + + anyMatch: false, + + + exactMatch: false, + + + caseSensitive: false, + + + + + constructor: function(config) { + var me = this; + Ext.apply(me, config); + + + + me.filter = me.filter || me.filterFn; + + if (me.filter === undefined) { + if (me.property === undefined || me.value === undefined) { + + + + + } else { + me.filter = me.createFilterFn(); + } + + me.filterFn = me.filter; + } + }, + + + createFilterFn: function() { + var me = this, + matcher = me.createValueMatcher(), + property = me.property; + + return function(item) { + var value = me.getRoot.call(me, item)[property]; + return matcher === null ? value === null : matcher.test(value); + }; + }, + + + getRoot: function(item) { + var root = this.root; + return root === undefined ? item : item[root]; + }, + + + createValueMatcher : function() { + var me = this, + value = me.value, + anyMatch = me.anyMatch, + exactMatch = me.exactMatch, + caseSensitive = me.caseSensitive, + escapeRe = Ext.String.escapeRegex; + + if (value === null) { + return value; + } + + if (!value.exec) { + value = String(value); + + if (anyMatch === true) { + value = escapeRe(value); + } else { + value = '^' + escapeRe(value); + if (exactMatch === true) { + value += '$'; + } + } + value = new RegExp(value, caseSensitive ? '' : 'i'); + } + + return value; + } +}); + + +Ext.define('Ext.util.AbstractMixedCollection', { + requires: ['Ext.util.Filter'], + + mixins: { + observable: 'Ext.util.Observable' + }, + + + isMixedCollection: true, + + + generation: 0, + + constructor: function(allowFunctions, keyFn) { + var me = this; + + me.items = []; + me.map = {}; + me.keys = []; + me.length = 0; + + + + + + + + + me.allowFunctions = allowFunctions === true; + + if (keyFn) { + me.getKey = keyFn; + } + + me.mixins.observable.constructor.call(me); + }, + + + allowFunctions : false, + + + add : function(key, obj){ + var me = this, + myObj = obj, + myKey = key, + old; + + if (arguments.length == 1) { + myObj = myKey; + myKey = me.getKey(myObj); + } + if (typeof myKey != 'undefined' && myKey !== null) { + old = me.map[myKey]; + if (typeof old != 'undefined') { + return me.replace(myKey, myObj); + } + me.map[myKey] = myObj; + } + me.generation++; + me.length++; + me.items.push(myObj); + me.keys.push(myKey); + if (me.hasListeners.add) { + me.fireEvent('add', me.length - 1, myObj, myKey); + } + return myObj; + }, + + + getKey : function(o){ + return o.id; + }, + + + replace : function(key, o){ + var me = this, + old, + index; + + if (arguments.length == 1) { + o = arguments[0]; + key = me.getKey(o); + } + old = me.map[key]; + if (typeof key == 'undefined' || key === null || typeof old == 'undefined') { + return me.add(key, o); + } + me.generation++; + index = me.indexOfKey(key); + me.items[index] = o; + me.map[key] = o; + if (me.hasListeners.replace) { + me.fireEvent('replace', key, old, o); + } + return o; + }, + + + addAll : function(objs){ + var me = this, + i = 0, + args, + len, + key; + + if (arguments.length > 1 || Ext.isArray(objs)) { + args = arguments.length > 1 ? arguments : objs; + for (len = args.length; i < len; i++) { + me.add(args[i]); + } + } else { + for (key in objs) { + if (objs.hasOwnProperty(key)) { + if (me.allowFunctions || typeof objs[key] != 'function') { + me.add(key, objs[key]); + } + } + } + } + }, + + + each : function(fn, scope){ + var items = [].concat(this.items), + i = 0, + len = items.length, + item; + + for (; i < len; i++) { + item = items[i]; + if (fn.call(scope || item, item, i, len) === false) { + break; + } + } + }, + + + eachKey : function(fn, scope){ + var keys = this.keys, + items = this.items, + i = 0, + len = keys.length; + + for (; i < len; i++) { + fn.call(scope || window, keys[i], items[i], i, len); + } + }, + + + findBy : function(fn, scope) { + var keys = this.keys, + items = this.items, + i = 0, + len = items.length; + + for (; i < len; i++) { + if (fn.call(scope || window, items[i], keys[i])) { + return items[i]; + } + } + return null; + }, + + find : function() { + if (Ext.isDefined(Ext.global.console)) { + Ext.global.console.warn('Ext.util.MixedCollection: find has been deprecated. Use findBy instead.'); + } + return this.findBy.apply(this, arguments); + }, + + + insert : function(index, key, obj){ + var me = this, + myKey = key, + myObj = obj; + + if (arguments.length == 2) { + myObj = myKey; + myKey = me.getKey(myObj); + } + if (me.containsKey(myKey)) { + me.suspendEvents(); + me.removeAtKey(myKey); + me.resumeEvents(); + } + if (index >= me.length) { + return me.add(myKey, myObj); + } + me.generation++; + me.length++; + Ext.Array.splice(me.items, index, 0, myObj); + if (typeof myKey != 'undefined' && myKey !== null) { + me.map[myKey] = myObj; + } + Ext.Array.splice(me.keys, index, 0, myKey); + if (me.hasListeners.add) { + me.fireEvent('add', index, myObj, myKey); + } + return myObj; + }, + + + remove : function(o) { + this.generation++; + return this.removeAt(this.indexOf(o)); + }, + + + removeAll : function(items) { + items = [].concat(items); + var i, iLen = items.length; + for (i = 0; i < iLen; i++) { + this.remove(items[i]); + } + + return this; + }, + + + removeAt : function(index) { + var me = this, + o, + key; + + if (index < me.length && index >= 0) { + me.length--; + o = me.items[index]; + Ext.Array.erase(me.items, index, 1); + key = me.keys[index]; + if (typeof key != 'undefined') { + delete me.map[key]; + } + Ext.Array.erase(me.keys, index, 1); + if (me.hasListeners.remove) { + me.fireEvent('remove', o, key); + } + me.generation++; + return o; + } + return false; + }, + + + removeAtKey : function(key){ + return this.removeAt(this.indexOfKey(key)); + }, + + + getCount : function(){ + return this.length; + }, + + + indexOf : function(o){ + return Ext.Array.indexOf(this.items, o); + }, + + + indexOfKey : function(key){ + return Ext.Array.indexOf(this.keys, key); + }, + + + get : function(key) { + var me = this, + mk = me.map[key], + item = mk !== undefined ? mk : (typeof key == 'number') ? me.items[key] : undefined; + return typeof item != 'function' || me.allowFunctions ? item : null; + }, + + + getAt : function(index) { + return this.items[index]; + }, + + + getByKey : function(key) { + return this.map[key]; + }, + + + contains : function(o){ + return typeof this.map[this.getKey(o)] != 'undefined'; + }, + + + containsKey : function(key){ + return typeof this.map[key] != 'undefined'; + }, + + + clear : function(){ + var me = this; + + me.length = 0; + me.items = []; + me.keys = []; + me.map = {}; + me.generation++; + if (me.hasListeners.clear) { + me.fireEvent('clear'); + } + }, + + + first : function() { + return this.items[0]; + }, + + + last : function() { + return this.items[this.length - 1]; + }, + + + sum: function(property, root, start, end) { + var values = this.extractValues(property, root), + length = values.length, + sum = 0, + i; + + start = start || 0; + end = (end || end === 0) ? end : length - 1; + + for (i = start; i <= end; i++) { + sum += values[i]; + } + + return sum; + }, + + + collect: function(property, root, allowNull) { + var values = this.extractValues(property, root), + length = values.length, + hits = {}, + unique = [], + value, strValue, i; + + for (i = 0; i < length; i++) { + value = values[i]; + strValue = String(value); + + if ((allowNull || !Ext.isEmpty(value)) && !hits[strValue]) { + hits[strValue] = true; + unique.push(value); + } + } + + return unique; + }, + + + extractValues: function(property, root) { + var values = this.items; + + if (root) { + values = Ext.Array.pluck(values, root); + } + + return Ext.Array.pluck(values, property); + }, + + + getRange : function(start, end){ + var me = this, + items = me.items, + range = [], + i; + + if (items.length < 1) { + return range; + } + + start = start || 0; + end = Math.min(typeof end == 'undefined' ? me.length - 1 : end, me.length - 1); + if (start <= end) { + for (i = start; i <= end; i++) { + range[range.length] = items[i]; + } + } else { + for (i = start; i >= end; i--) { + range[range.length] = items[i]; + } + } + return range; + }, + + + filter : function(property, value, anyMatch, caseSensitive) { + var filters = [], + filterFn; + + + if (Ext.isString(property)) { + filters.push(new Ext.util.Filter({ + property : property, + value : value, + anyMatch : anyMatch, + caseSensitive: caseSensitive + })); + } else if (Ext.isArray(property) || property instanceof Ext.util.Filter) { + filters = filters.concat(property); + } + + + + filterFn = function(record) { + var isMatch = true, + length = filters.length, + i, + filter, + fn, + scope; + + + for (i = 0; i < length; i++) { + filter = filters[i]; + fn = filter.filterFn; + scope = filter.scope; + + isMatch = isMatch && fn.call(scope, record); + } + + return isMatch; + }; + + return this.filterBy(filterFn); + }, + + + filterBy : function(fn, scope) { + var me = this, + newMC = new this.self(), + keys = me.keys, + items = me.items, + length = items.length, + i; + + newMC.getKey = me.getKey; + + for (i = 0; i < length; i++) { + if (fn.call(scope || me, items[i], keys[i])) { + newMC.add(keys[i], items[i]); + } + } + + return newMC; + }, + + + findIndex : function(property, value, start, anyMatch, caseSensitive){ + if(Ext.isEmpty(value, false)){ + return -1; + } + value = this.createValueMatcher(value, anyMatch, caseSensitive); + return this.findIndexBy(function(o){ + return o && value.test(o[property]); + }, null, start); + }, + + + findIndexBy : function(fn, scope, start){ + var me = this, + keys = me.keys, + items = me.items, + i = start || 0, + len = items.length; + + for (; i < len; i++) { + if (fn.call(scope || me, items[i], keys[i])) { + return i; + } + } + return -1; + }, + + + createValueMatcher : function(value, anyMatch, caseSensitive, exactMatch) { + if (!value.exec) { + var er = Ext.String.escapeRegex; + value = String(value); + + if (anyMatch === true) { + value = er(value); + } else { + value = '^' + er(value); + if (exactMatch === true) { + value += '$'; + } + } + value = new RegExp(value, caseSensitive ? '' : 'i'); + } + return value; + }, + + + clone : function() { + var me = this, + copy = new this.self(), + keys = me.keys, + items = me.items, + i = 0, + len = items.length; + + for(; i < len; i++){ + copy.add(keys[i], items[i]); + } + copy.getKey = me.getKey; + return copy; + } +}); + + +Ext.define('Ext.util.Sorter', { + + + + + + + + + + + direction: "ASC", + + constructor: function(config) { + var me = this; + + Ext.apply(me, config); + + + me.updateSortFunction(); + }, + + + createSortFunction: function(sorterFn) { + var me = this, + property = me.property, + direction = me.direction || "ASC", + modifier = direction.toUpperCase() == "DESC" ? -1 : 1; + + + + return function(o1, o2) { + return modifier * sorterFn.call(me, o1, o2); + }; + }, + + + defaultSorterFn: function(o1, o2) { + var me = this, + transform = me.transform, + v1 = me.getRoot(o1)[me.property], + v2 = me.getRoot(o2)[me.property]; + + if (transform) { + v1 = transform(v1); + v2 = transform(v2); + } + + return v1 > v2 ? 1 : (v1 < v2 ? -1 : 0); + }, + + + getRoot: function(item) { + return this.root === undefined ? item : item[this.root]; + }, + + + setDirection: function(direction) { + var me = this; + me.direction = direction ? direction.toUpperCase() : direction; + me.updateSortFunction(); + }, + + + toggle: function() { + var me = this; + me.direction = Ext.String.toggle(me.direction, "ASC", "DESC"); + me.updateSortFunction(); + }, + + + updateSortFunction: function(fn) { + var me = this; + fn = fn || me.sorterFn || me.defaultSorterFn; + me.sort = me.createSortFunction(fn); + } +}); + + +Ext.define("Ext.util.Sortable", { + + isSortable: true, + + + defaultSortDirection: "ASC", + + requires: [ + 'Ext.util.Sorter' + ], + + + + + initSortable: function() { + var me = this, + sorters = me.sorters; + + + me.sorters = new Ext.util.AbstractMixedCollection(false, function(item) { + return item.id || item.property; + }); + + if (sorters) { + me.sorters.addAll(me.decodeSorters(sorters)); + } + }, + + + sort: function(sorters, direction, where, doSort) { + var me = this, + sorter, sorterFn, + newSorters; + + if (Ext.isArray(sorters)) { + doSort = where; + where = direction; + newSorters = sorters; + } + else if (Ext.isObject(sorters)) { + doSort = where; + where = direction; + newSorters = [sorters]; + } + else if (Ext.isString(sorters)) { + sorter = me.sorters.get(sorters); + + if (!sorter) { + sorter = { + property : sorters, + direction: direction + }; + newSorters = [sorter]; + } + else if (direction === undefined) { + sorter.toggle(); + } + else { + sorter.setDirection(direction); + } + } + + if (newSorters && newSorters.length) { + newSorters = me.decodeSorters(newSorters); + if (Ext.isString(where)) { + if (where === 'prepend') { + sorters = me.sorters.clone().items; + + me.sorters.clear(); + me.sorters.addAll(newSorters); + me.sorters.addAll(sorters); + } + else { + me.sorters.addAll(newSorters); + } + } + else { + me.sorters.clear(); + me.sorters.addAll(newSorters); + } + } + + if (doSort !== false) { + me.onBeforeSort(newSorters); + + sorters = me.sorters.items; + if (sorters.length) { + + me.doSort(me.generateComparator()); + } + } + + return sorters; + }, + + + generateComparator: function() { + var sorters = this.sorters.getRange(); + return sorters.length ? this.createComparator(sorters) : this.emptyComparator; + }, + + createComparator: function(sorters) { + return function(r1, r2) { + var result = sorters[0].sort(r1, r2), + length = sorters.length, + i = 1; + + + for (; i < length; i++) { + result = result || sorters[i].sort.call(this, r1, r2); + } + return result; + }; + }, + + emptyComparator: function(){ + return 0; + }, + + onBeforeSort: Ext.emptyFn, + + + decodeSorters: function(sorters) { + if (!Ext.isArray(sorters)) { + if (sorters === undefined) { + sorters = []; + } else { + sorters = [sorters]; + } + } + + var length = sorters.length, + Sorter = Ext.util.Sorter, + fields = this.model ? this.model.prototype.fields : null, + field, + config, i; + + for (i = 0; i < length; i++) { + config = sorters[i]; + + if (!(config instanceof Sorter)) { + if (Ext.isString(config)) { + config = { + property: config + }; + } + + Ext.applyIf(config, { + root : this.sortRoot, + direction: "ASC" + }); + + + if (config.fn) { + config.sorterFn = config.fn; + } + + + if (typeof config == 'function') { + config = { + sorterFn: config + }; + } + + + if (fields && !config.transform) { + field = fields.get(config.property); + config.transform = field ? field.sortType : undefined; + } + sorters[i] = new Ext.util.Sorter(config); + } + } + + return sorters; + }, + + getSorters: function() { + return this.sorters.items; + }, + + + getFirstSorter: function(){ + var sorters = this.sorters.items, + len = sorters.length, + i = 0, + sorter; + + for (; i < len; ++i) { + sorter = sorters[i]; + if (!sorter.isGrouper) { + return sorter; + } + } + return null; + } +}); + + +Ext.define('Ext.util.MixedCollection', { + extend: 'Ext.util.AbstractMixedCollection', + mixins: { + sortable: 'Ext.util.Sortable' + }, + + + constructor: function() { + var me = this; + me.callParent(arguments); + me.addEvents('sort'); + me.mixins.sortable.initSortable.call(me); + }, + + doSort: function(sorterFn) { + this.sortBy(sorterFn); + }, + + + _sort : function(property, dir, fn){ + var me = this, + i, len, + dsc = String(dir).toUpperCase() == 'DESC' ? -1 : 1, + + + c = [], + keys = me.keys, + items = me.items; + + + fn = fn || function(a, b) { + return a - b; + }; + + + for(i = 0, len = items.length; i < len; i++){ + c[c.length] = { + key : keys[i], + value: items[i], + index: i + }; + } + + + Ext.Array.sort(c, function(a, b){ + var v = fn(a[property], b[property]) * dsc; + if(v === 0){ + v = (a.index < b.index ? -1 : 1); + } + return v; + }); + + + for(i = 0, len = c.length; i < len; i++){ + items[i] = c[i].value; + keys[i] = c[i].key; + } + + me.fireEvent('sort', me); + }, + + + sortBy: function(sorterFn) { + var me = this, + items = me.items, + keys = me.keys, + length = items.length, + temp = [], + i; + + + for (i = 0; i < length; i++) { + temp[i] = { + key : keys[i], + value: items[i], + index: i + }; + } + + Ext.Array.sort(temp, function(a, b) { + var v = sorterFn(a.value, b.value); + if (v === 0) { + v = (a.index < b.index ? -1 : 1); + } + + return v; + }); + + + for (i = 0; i < length; i++) { + items[i] = temp[i].value; + keys[i] = temp[i].key; + } + + me.fireEvent('sort', me, items, keys); + }, + + + findInsertionIndex: function(newItem, sorterFn) { + var me = this, + items = me.items, + start = 0, + end = items.length - 1, + middle, + comparison; + + if (!sorterFn) { + sorterFn = me.generateComparator(); + } + while (start <= end) { + middle = (start + end) >> 1; + comparison = sorterFn(newItem, items[middle]); + if (comparison >= 0) { + start = middle + 1; + } else if (comparison < 0) { + end = middle - 1; + } + } + return start; + }, + + + reorder: function(mapping) { + var me = this, + items = me.items, + index = 0, + length = items.length, + order = [], + remaining = [], + oldIndex; + + me.suspendEvents(); + + + for (oldIndex in mapping) { + order[mapping[oldIndex]] = items[oldIndex]; + } + + for (index = 0; index < length; index++) { + if (mapping[index] == undefined) { + remaining.push(items[index]); + } + } + + for (index = 0; index < length; index++) { + if (order[index] == undefined) { + order[index] = remaining.shift(); + } + } + + me.clear(); + me.addAll(order); + + me.resumeEvents(); + me.fireEvent('sort', me); + }, + + + sortByKey : function(dir, fn){ + this._sort('key', dir, fn || function(a, b){ + var v1 = String(a).toUpperCase(), v2 = String(b).toUpperCase(); + return v1 > v2 ? 1 : (v1 < v2 ? -1 : 0); + }); + } +}); + + +Ext.define('Ext.ZIndexManager', { + alternateClassName: 'Ext.WindowGroup', + + statics: { + zBase : 9000 + }, + + constructor: function(container) { + var me = this; + + me.list = {}; + me.zIndexStack = []; + me.front = null; + + if (container) { + + + if (container.isContainer) { + container.on('resize', me._onContainerResize, me); + me.zseed = Ext.Number.from(me.rendered ? container.getEl().getStyle('zIndex') : undefined, me.getNextZSeed()); + + me.targetEl = container.getTargetEl(); + me.container = container; + } + + else { + Ext.EventManager.onWindowResize(me._onContainerResize, me); + me.zseed = me.getNextZSeed(); + me.targetEl = Ext.get(container); + } + } + + + else { + Ext.EventManager.onWindowResize(me._onContainerResize, me); + me.zseed = me.getNextZSeed(); + Ext.onDocumentReady(function() { + me.targetEl = Ext.getBody(); + }); + } + }, + + getNextZSeed: function() { + return (Ext.ZIndexManager.zBase += 10000); + }, + + setBase: function(baseZIndex) { + this.zseed = baseZIndex; + var result = this.assignZIndices(); + this._activateLast(); + return result; + }, + + + assignZIndices: function() { + var a = this.zIndexStack, + len = a.length, + i = 0, + zIndex = this.zseed, + comp; + + for (; i < len; i++) { + comp = a[i]; + if (comp && !comp.hidden) { + + + + + + + + + zIndex = comp.setZIndex(zIndex); + } + } + + + this._activateLast(); + return zIndex; + }, + + + _setActiveChild: function(comp, oldFront) { + var front = this.front; + if (comp !== front) { + + if (front && !front.destroying) { + front.setActive(false, comp); + } + this.front = comp; + if (comp && comp != oldFront) { + comp.setActive(true); + if (comp.modal) { + this._showModalMask(comp); + } + } + } + }, + + onComponentHide: function(comp){ + comp.setActive(false); + this._activateLast(); + }, + + + _activateLast: function() { + var me = this, + stack = me.zIndexStack, + i = stack.length - 1, + oldFront = me.front, + comp; + + + me.front = undefined; + + + + + for (; i >= 0 && stack[i].hidden; --i); + if ((comp = stack[i])) { + me._setActiveChild(comp, oldFront); + if (comp.modal) { + return; + } + } + + + + for (; i >= 0; --i) { + comp = stack[i]; + + if (comp.isVisible() && comp.modal) { + me._showModalMask(comp); + return; + } + } + + + + me._hideModalMask(); + }, + + _showModalMask: function(comp) { + var me = this, + zIndex = comp.el.getStyle('zIndex') - 4, + maskTarget = comp.floatParent ? comp.floatParent.getTargetEl() : comp.container, + viewSize = maskTarget.getBox(); + + if (maskTarget.dom === document.body) { + viewSize.height = Math.max(document.body.scrollHeight, Ext.dom.Element.getDocumentHeight()); + viewSize.width = Math.max(document.body.scrollWidth, viewSize.width); + } + if (!me.mask) { + me.mask = Ext.getBody().createChild({ + cls: Ext.baseCSSPrefix + 'mask' + }); + me.mask.setVisibilityMode(Ext.Element.DISPLAY); + me.mask.on('click', me._onMaskClick, me); + } + me.mask.maskTarget = maskTarget; + maskTarget.addCls(Ext.baseCSSPrefix + 'body-masked'); + me.mask.setStyle('zIndex', zIndex); + + + + me.mask.show(); + me.mask.setBox(viewSize); + }, + + _hideModalMask: function() { + var mask = this.mask; + if (mask && mask.isVisible()) { + mask.maskTarget.removeCls(Ext.baseCSSPrefix + 'body-masked'); + mask.maskTarget = undefined; + mask.hide(); + } + }, + + _onMaskClick: function() { + if (this.front) { + this.front.focus(); + } + }, + + _onContainerResize: function() { + var mask = this.mask, + maskTarget, + viewSize; + + if (mask && mask.isVisible()) { + + + + mask.hide(); + maskTarget = mask.maskTarget; + + if (maskTarget.dom === document.body) { + viewSize = { + height: Math.max(document.body.scrollHeight, Ext.dom.Element.getDocumentHeight()), + width: Math.max(document.body.scrollWidth, document.documentElement.clientWidth) + }; + } else { + viewSize = maskTarget.getViewSize(true); + } + mask.setSize(viewSize); + mask.show(); + } + }, + + + register : function(comp) { + var me = this; + + if (comp.zIndexManager) { + comp.zIndexManager.unregister(comp); + } + comp.zIndexManager = me; + + me.list[comp.id] = comp; + me.zIndexStack.push(comp); + comp.on('hide', me.onComponentHide, me); + }, + + + unregister : function(comp) { + var me = this, + list = me.list; + + delete comp.zIndexManager; + if (list && list[comp.id]) { + delete list[comp.id]; + comp.un('hide', me.onComponentHide); + Ext.Array.remove(me.zIndexStack, comp); + + + me._activateLast(); + } + }, + + + get : function(id) { + return id.isComponent ? id : this.list[id]; + }, + + + bringToFront : function(comp) { + var me = this, + result = false, + zIndexStack = me.zIndexStack; + + comp = me.get(comp); + if (comp !== me.front) { + Ext.Array.remove(zIndexStack, comp); + if (comp.preventBringToFront) { + + zIndexStack.unshift(comp); + } else { + + zIndexStack.push(comp); + } + + me.assignZIndices(); + result = true; + this.front = comp; + } + if (result && comp.modal) { + me._showModalMask(comp); + } + return result; + }, + + + sendToBack : function(comp) { + var me = this; + + comp = me.get(comp); + Ext.Array.remove(me.zIndexStack, comp); + me.zIndexStack.unshift(comp); + me.assignZIndices(); + this._activateLast(); + return comp; + }, + + + hideAll : function() { + var list = this.list, + item, + id; + + for (id in list) { + if (list.hasOwnProperty(id)) { + item = list[id]; + if (item.isComponent && item.isVisible()) { + item.hide(); + } + } + } + }, + + + hide: function() { + var me = this, + mask = me.mask, + i = 0, + stack = me.zIndexStack, + len = stack.length, + comp; + + me.tempHidden = me.tempHidden||[]; + for (; i < len; i++) { + comp = stack[i]; + if (comp.isVisible()) { + me.tempHidden.push(comp); + comp.el.hide(); + } + } + + + if (mask) { + mask.hide(); + } + }, + + + show: function() { + var me = this, + mask = me.mask, + i = 0, + tempHidden = me.tempHidden, + len = tempHidden ? tempHidden.length : 0, + comp; + + for (; i < len; i++) { + comp = tempHidden[i]; + comp.el.show(); + comp.setPosition(comp.x, comp.y); + } + me.tempHidden.length = 0; + + + if (mask) { + mask.show(); + mask.alignTo(mask.maskTarget, 'tl-tl'); + } + }, + + + getActive : function() { + return this.front; + }, + + + getBy : function(fn, scope) { + var r = [], + i = 0, + stack = this.zIndexStack, + len = stack.length, + comp; + + for (; i < len; i++) { + comp = stack[i]; + if (fn.call(scope||comp, comp) !== false) { + r.push(comp); + } + } + return r; + }, + + + each : function(fn, scope) { + var list = this.list, + id, + comp; + + for (id in list) { + if (list.hasOwnProperty(id)) { + comp = list[id]; + if (comp.isComponent && fn.call(scope || comp, comp) === false) { + return; + } + } + } + }, + + + eachBottomUp: function (fn, scope) { + var stack = this.zIndexStack, + i = 0, + len = stack.length, + comp; + + for (; i < len; i++) { + comp = stack[i]; + if (comp.isComponent && fn.call(scope || comp, comp) === false) { + return; + } + } + }, + + + eachTopDown: function (fn, scope) { + var stack = this.zIndexStack, + i = stack.length, + comp; + + for (; i-- > 0; ) { + comp = stack[i]; + if (comp.isComponent && fn.call(scope || comp, comp) === false) { + return; + } + } + }, + + destroy: function() { + var me = this, + list = me.list, + comp, + id; + + for (id in list) { + if (list.hasOwnProperty(id)) { + comp = list[id]; + + if (comp.isComponent) { + comp.destroy(); + } + } + } + + delete me.zIndexStack; + delete me.list; + delete me.container; + delete me.targetEl; + } +}, function() { + + Ext.WindowManager = Ext.WindowMgr = new this(); +}); + + +Ext.define('Ext.container.AbstractContainer', { + + + + extend: 'Ext.Component', + + requires: [ + 'Ext.util.MixedCollection', + 'Ext.layout.container.Auto', + 'Ext.ZIndexManager' + ], + + + + renderTpl: '{%this.renderContainer(out,values)%}', + + + + + + + + + + + suspendLayout : false, + + + autoDestroy : true, + + + defaultType: 'panel', + + + detachOnRemove: true, + + + isContainer : true, + + + layoutCounter : 0, + + baseCls: Ext.baseCSSPrefix + 'container', + + + bubbleEvents: ['add', 'remove'], + + defaultLayoutType: 'auto', + + + initComponent : function(){ + var me = this; + me.addEvents( + + 'afterlayout', + + 'beforeadd', + + 'beforeremove', + + 'add', + + 'remove' + ); + + me.callParent(); + + me.getLayout(); + me.initItems(); + }, + + + initItems : function() { + var me = this, + items = me.items; + + + me.items = new Ext.util.AbstractMixedCollection(false, me.getComponentId); + + if (items) { + if (!Ext.isArray(items)) { + items = [items]; + } + + me.add(items); + } + }, + + + getFocusEl: function() { + return this.getTargetEl(); + }, + + finishRenderChildren: function () { + this.callParent(); + + var layout = this.getLayout(); + + if (layout) { + layout.finishRender(); + } + }, + + beforeRender: function () { + var me = this, + layout = me.getLayout(); + + me.callParent(); + + if (!layout.initialized) { + layout.initLayout(); + } + }, + + setupRenderTpl: function (renderTpl) { + var layout = this.getLayout(); + + this.callParent(arguments); + + layout.setupRenderTpl(renderTpl); + }, + + + setLayout : function(layout) { + var currentLayout = this.layout; + + if (currentLayout && currentLayout.isLayout && currentLayout != layout) { + currentLayout.setOwner(null); + } + + this.layout = layout; + layout.setOwner(this); + }, + + + getLayout : function() { + var me = this; + if (!me.layout || !me.layout.isLayout) { + + me.setLayout(Ext.layout.Layout.create(me.layout, me.self.prototype.layout || 'autocontainer')); + } + + return me.layout; + }, + + + doLayout : function() { + this.updateLayout(); + return this; + }, + + + afterLayout : function(layout) { + var me = this; + ++me.layoutCounter; + if (me.hasListeners.afterlayout) { + me.fireEvent('afterlayout', me, layout); + } + }, + + + prepareItems : function(items, applyDefaults) { + + + if (Ext.isArray(items)) { + items = items.slice(); + } else { + items = [items]; + } + + + var me = this, + i = 0, + len = items.length, + item; + + for (; i < len; i++) { + item = items[i]; + if (item == null) { + Ext.Array.erase(items, i, 1); + --i; + --len; + } else { + if (applyDefaults) { + item = this.applyDefaults(item); + } + + + item.isContained = me; + items[i] = me.lookupComponent(item); + delete item.isContained; + } + } + + return items; + }, + + + applyDefaults : function(config) { + var defaults = this.defaults; + + if (defaults) { + if (Ext.isFunction(defaults)) { + defaults = defaults.call(this, config); + } + + if (Ext.isString(config)) { + config = Ext.ComponentManager.get(config); + } + Ext.applyIf(config, defaults); + } + return config; + }, + + + lookupComponent : function(comp) { + return (typeof comp == 'string') ? Ext.ComponentManager.get(comp) + : Ext.ComponentManager.create(comp, this.defaultType); + }, + + + getComponentId : function(comp) { + return comp.getItemId(); + }, + + + add : function() { + var me = this, + args = Ext.Array.slice(arguments), + index = (typeof args[0] == 'number') ? args.shift() : -1, + layout = me.getLayout(), + addingArray, items, i, length, item, pos, ret; + + if (args.length == 1 && Ext.isArray(args[0])) { + items = args[0]; + addingArray = true; + } else { + items = args; + } + + ret = items = me.prepareItems(items, true); + length = items.length; + + if (me.rendered) { + Ext.suspendLayouts(); + } + + if (!addingArray && length == 1) { + ret = items[0]; + } + + + for (i = 0; i < length; i++) { + item = items[i]; + + pos = (index < 0) ? me.items.length : (index + i); + + + if (item.floating) { + me.floatingItems = me.floatingItems || new Ext.util.MixedCollection(); + me.floatingItems.add(item); + item.onAdded(me, pos); + } else if ((!me.hasListeners.beforeadd || me.fireEvent('beforeadd', me, item, pos) !== false) && me.onBeforeAdd(item) !== false) { + me.items.insert(pos, item); + item.onAdded(me, pos); + me.onAdd(item, pos); + layout.onAdd(item, pos); + + if (me.hasListeners.add) { + me.fireEvent('add', me, item, pos); + } + } + } + + + me.updateLayout(); + if (me.rendered) { + Ext.resumeLayouts(true); + } + + return ret; + }, + + + onAdd : Ext.emptyFn, + + + onRemove : Ext.emptyFn, + + + insert : function(index, comp) { + return this.add(index, comp); + }, + + + move : function(fromIdx, toIdx) { + var items = this.items, + item; + item = items.removeAt(fromIdx); + if (item === false) { + return false; + } + items.insert(toIdx, item); + this.doLayout(); + return item; + }, + + + onBeforeAdd : function(item) { + var me = this, + border = item.border; + + + if (item.ownerCt && item.ownerCt !== me) { + item.ownerCt.remove(item, false); + } + + if (me.border === false || me.border === 0) { + + item.border = Ext.isDefined(border) && border !== false && border !== 0; + } + }, + + + remove : function(comp, autoDestroy) { + var me = this, + c = me.getComponent(comp); + + if (c && (!me.hasListeners.beforeremove || me.fireEvent('beforeremove', me, c) !== false)) { + me.doRemove(c, autoDestroy); + if (me.hasListeners.remove) { + me.fireEvent('remove', me, c); + } + + if (!me.destroying) { + me.doLayout(); + } + } + + return c; + }, + + + doRemove : function(component, autoDestroy) { + var me = this, + layout = me.layout, + hasLayout = layout && me.rendered, + destroying = autoDestroy === true || (autoDestroy !== false && me.autoDestroy); + + autoDestroy = autoDestroy === true || (autoDestroy !== false && me.autoDestroy); + me.items.remove(component); + + + if (hasLayout) { + + if (layout.running) { + Ext.AbstractComponent.cancelLayout(component, destroying); + } + layout.onRemove(component, destroying); + } + + component.onRemoved(destroying); + + me.onRemove(component, destroying); + + + if (destroying) { + component.destroy(); + } + + else { + if (hasLayout) { + layout.afterRemove(component); + } + if (me.detachOnRemove && component.rendered) { + Ext.getDetachedBody().appendChild(component.getEl()); + } + } + }, + + + removeAll : function(autoDestroy) { + var me = this, + removeItems = me.items.items.slice(), + items = [], + i = 0, + len = removeItems.length, + item; + + + me.suspendLayouts(); + for (; i < len; i++) { + item = removeItems[i]; + me.remove(item, autoDestroy); + + if (item.ownerCt !== me) { + items.push(item); + } + } + + + me.resumeLayouts(!!len); + return items; + }, + + + + + + + + + + getRefItems : function(deep) { + var me = this, + items = me.items.items, + len = items.length, + i = 0, + item, + result = []; + + for (; i < len; i++) { + item = items[i]; + result.push(item); + if (deep && item.getRefItems) { + result.push.apply(result, item.getRefItems(true)); + } + } + + + if (me.floatingItems) { + result.push.apply(result, me.floatingItems.items); + } + + return result; + }, + + + cascade : function(fn, scope, origArgs){ + var me = this, + cs = me.items ? me.items.items : [], + len = cs.length, + i = 0, + c, + args = origArgs ? origArgs.concat(me) : [me], + componentIndex = args.length - 1; + + if (fn.apply(scope || me, args) !== false) { + for (; i < len; i++){ + c = cs[i]; + if (c.cascade) { + c.cascade(fn, scope, origArgs); + } else { + args[componentIndex] = c; + fn.apply(scope || cs, args); + } + } + } + return this; + }, + + + isAncestor: function(possibleDescendant) { + while (possibleDescendant) { + if (possibleDescendant.ownerCt === this) { + return true; + } + possibleDescendant = possibleDescendant.ownerCt; + } + }, + + + getComponent : function(comp) { + if (Ext.isObject(comp)) { + comp = comp.getItemId(); + } + + return this.items.get(comp); + }, + + + query : function(selector) { + selector = selector || '*'; + return Ext.ComponentQuery.query(selector, this); + }, + + + queryBy: function(fn, scope) { + var out = [], + items = this.getRefItems(true), + i = 0, + len = items.length, + item; + + for (; i < len; ++i) { + item = items[i]; + if (fn.call(scope || item, item) !== false) { + out.push(item); + } + } + return out; + }, + + + queryById: function(id){ + return this.down('#' + id); + }, + + + child : function(selector) { + selector = selector || ''; + return this.query('> ' + selector)[0] || null; + }, + + nextChild: function(child, selector) { + var me = this, + result, + childIndex = me.items.indexOf(child); + + if (childIndex !== -1) { + result = selector ? Ext.ComponentQuery(selector, me.items.items.slice(childIndex + 1)) : me.items.getAt(childIndex + 1); + if (!result && me.ownerCt) { + result = me.ownerCt.nextChild(me, selector); + } + } + return result; + }, + + prevChild: function(child, selector) { + var me = this, + result, + childIndex = me.items.indexOf(child); + + if (childIndex !== -1) { + result = selector ? Ext.ComponentQuery(selector, me.items.items.slice(childIndex + 1)) : me.items.getAt(childIndex + 1); + if (!result && me.ownerCt) { + result = me.ownerCt.nextChild(me, selector); + } + } + return result; + }, + + + down : function(selector) { + return this.query(selector)[0] || null; + }, + + + + + enable: function() { + this.callParent(arguments); + + var itemsToDisable = this.getChildItemsToDisable(), + length = itemsToDisable.length, + item, i; + + for (i = 0; i < length; i++) { + item = itemsToDisable[i]; + + if (item.resetDisable) { + item.enable(); + } + } + + return this; + }, + + + + + disable: function() { + this.callParent(arguments); + + var itemsToDisable = this.getChildItemsToDisable(), + length = itemsToDisable.length, + item, i; + + for (i = 0; i < length; i++) { + item = itemsToDisable[i]; + + if (item.resetDisable !== false && !item.disabled) { + item.disable(); + item.resetDisable = true; + } + } + + return this; + }, + + + getChildItemsToDisable: function(){ + return this.query('[isFormField],button'); + }, + + + beforeLayout: function() { + return true; + }, + + + beforeDestroy : function() { + var me = this, + items = me.items, + c; + + if (items) { + while ((c = items.first())) { + me.doRemove(c, true); + } + } + + Ext.destroy( + me.layout + ); + me.callParent(); + } +}); + + +Ext.define('Ext.container.Container', { + extend: 'Ext.container.AbstractContainer', + alias: 'widget.container', + alternateClassName: 'Ext.Container', + + + fireHierarchyEvent: function (ename) { + this.hierarchyEventSource.fireEvent(ename, this); + }, + + + afterHide: function() { + this.callParent(arguments); + this.fireHierarchyEvent('hide'); + }, + + afterShow: function(){ + this.callParent(arguments); + this.fireHierarchyEvent('show'); + }, + + onAdded: function() { + this.callParent(arguments); + if (this.hierarchyEventSource.hasListeners.added) { + this.fireHierarchyEvent('added'); + } + }, + + + getChildByElement: function(el, deep) { + var item, + itemEl, + i = 0, + it = this.getRefItems(), + ln = it.length; + + el = Ext.getDom(el); + for (; i < ln; i++) { + item = it[i]; + itemEl = item.getEl(); + if (itemEl && ((itemEl.dom === el) || itemEl.contains(el))) { + return (deep && item.getChildByElement) ? item.getChildByElement(el, deep) : item; + } + } + return null; + } +}, function () { + + this.hierarchyEventSource = this.prototype.hierarchyEventSource = new Ext.util.Observable({ events: { + hide: true, + show: true, + collapse: true, + expand: true, + added: true + }}); +}); + + +Ext.define('Ext.Editor', { + + + + extend: 'Ext.container.Container', + + alias: 'widget.editor', + + requires: ['Ext.layout.container.Editor'], + + + + layout: 'editor', + + + + + allowBlur: true, + + + + + revertInvalid: true, + + + + + + + value : '', + + + alignment: 'c-c?', + + + offsets: [0, 0], + + + shadow : 'frame', + + + constrain : false, + + + swallowKeys : true, + + + completeOnEnter : true, + + + cancelOnEsc : true, + + + updateEl : false, + + + + + hidden: true, + baseCls: Ext.baseCSSPrefix + 'editor', + + initComponent : function() { + var me = this, + field = me.field = Ext.ComponentManager.create(me.field, 'textfield'); + + Ext.apply(field, { + inEditor: true, + msgTarget: field.msgTarget == 'title' ? 'title' : 'qtip' + }); + me.mon(field, { + scope: me, + blur: { + fn: me.onFieldBlur, + + delay: 1 + }, + specialkey: me.onSpecialKey + }); + + if (field.grow) { + me.mon(field, 'autosize', me.onFieldAutosize, me, {delay: 1}); + } + me.floating = { + constrain: me.constrain + }; + me.items = field; + + me.callParent(arguments); + + me.addEvents( + + 'beforestartedit', + + + 'startedit', + + + 'beforecomplete', + + 'complete', + + 'canceledit', + + 'specialkey' + ); + }, + + + onFieldAutosize: function(){ + this.updateLayout(); + }, + + + afterRender : function(ct, position) { + var me = this, + field = me.field, + inputEl = field.inputEl; + + me.callParent(arguments); + + + if (inputEl) { + inputEl.dom.name = ''; + if (me.swallowKeys) { + inputEl.swallowEvent([ + 'keypress', + 'keydown' + ]); + } + } + }, + + + onSpecialKey : function(field, event) { + var me = this, + key = event.getKey(), + complete = me.completeOnEnter && key == event.ENTER, + cancel = me.cancelOnEsc && key == event.ESC; + + if (complete || cancel) { + event.stopEvent(); + + + Ext.defer(function() { + if (complete) { + me.completeEdit(); + } else { + me.cancelEdit(); + } + if (field.triggerBlur) { + field.triggerBlur(event); + } + }, 10); + } + + me.fireEvent('specialkey', me, field, event); + }, + + + startEdit : function(el, value) { + var me = this, + field = me.field; + + me.completeEdit(); + me.boundEl = Ext.get(el); + value = Ext.isDefined(value) ? value : Ext.String.trim(me.boundEl.dom.innerText || me.boundEl.dom.innerHTML); + + if (!me.rendered) { + me.render(me.parentEl || document.body); + } + + if (me.fireEvent('beforestartedit', me, me.boundEl, value) !== false) { + me.startValue = value; + me.show(); + + field.suspendEvents(); + field.reset(); + field.setValue(value); + field.resumeEvents(); + me.realign(true); + field.focus(false, 10); + if (field.autoSize) { + field.autoSize(); + } + me.editing = true; + } + }, + + + realign : function(autoSize) { + var me = this; + if (autoSize === true) { + me.updateLayout(); + } + me.alignTo(me.boundEl, me.alignment, me.offsets); + }, + + + completeEdit : function(remainVisible) { + var me = this, + field = me.field, + value; + + if (!me.editing) { + return; + } + + + if (field.assertValue) { + field.assertValue(); + } + + value = me.getValue(); + if (!field.isValid()) { + if (me.revertInvalid !== false) { + me.cancelEdit(remainVisible); + } + return; + } + + if (String(value) === String(me.startValue) && me.ignoreNoChange) { + me.hideEdit(remainVisible); + return; + } + + if (me.fireEvent('beforecomplete', me, value, me.startValue) !== false) { + + value = me.getValue(); + if (me.updateEl && me.boundEl) { + me.boundEl.update(value); + } + me.hideEdit(remainVisible); + me.fireEvent('complete', me, value, me.startValue); + } + }, + + + onShow : function() { + var me = this; + + me.callParent(arguments); + if (me.hideEl !== false) { + me.boundEl.hide(); + } + me.fireEvent('startedit', me, me.boundEl, me.startValue); + }, + + + cancelEdit : function(remainVisible) { + var me = this, + startValue = me.startValue, + field = me.field, + value; + + if (me.editing) { + value = me.getValue(); + + field.suspendEvents(); + me.setValue(startValue); + field.resumeEvents(); + me.hideEdit(remainVisible); + me.fireEvent('canceledit', me, value, startValue); + } + }, + + + hideEdit: function(remainVisible) { + if (remainVisible !== true) { + this.editing = false; + this.hide(); + } + }, + + + onFieldBlur : function(field, e) { + var me = this, + target; + + + if(me.allowBlur === true && me.editing && me.selectSameEditor !== true) { + me.completeEdit(); + } + + + if (e && Ext.fly(target = e.getTarget()).focusable()) { + target.focus(); + } + }, + + + onHide : function() { + var me = this, + field = me.field; + + if (me.editing) { + me.completeEdit(); + return; + } + if (field.hasFocus) { + field.blur(); + } + if (field.collapse) { + field.collapse(); + } + + + if (me.hideEl !== false) { + me.boundEl.show(); + } + me.callParent(arguments); + }, + + + setValue : function(value) { + this.field.setValue(value); + }, + + + getValue : function() { + return this.field.getValue(); + }, + + beforeDestroy : function() { + var me = this; + + Ext.destroy(me.field); + delete me.field; + delete me.parentEl; + delete me.boundEl; + + me.callParent(arguments); + } +}); + + +Ext.define('Ext.util.KeyMap', { + alternateClassName: 'Ext.KeyMap', + + + + + + + + + + + eventName: 'keydown', + + constructor: function(config) { + var me = this; + + + + if ((arguments.length !== 1) || (typeof config === 'string') || config.dom || config.tagName || config === document || config.isComponent) { + me.legacyConstructor.apply(me, arguments); + return; + } + + Ext.apply(me, config); + me.bindings = []; + + if (!me.target.isComponent) { + me.target = Ext.get(me.target); + } + + if (me.binding) { + me.addBinding(me.binding); + } else if (config.key) { + me.addBinding(config); + } + me.enable(); + }, + + + legacyConstructor: function(el, binding, eventName){ + var me = this; + + Ext.apply(me, { + target: Ext.get(el), + eventName: eventName || me.eventName, + bindings: [] + }); + if (binding) { + me.addBinding(binding); + } + me.enable(); + }, + + + addBinding : function(binding){ + var keyCode = binding.key, + processed = false, + key, + keys, + keyString, + i, + len; + + if (Ext.isArray(binding)) { + for (i = 0, len = binding.length; i < len; i++) { + this.addBinding(binding[i]); + } + return; + } + + if (Ext.isString(keyCode)) { + keys = []; + keyString = keyCode.toUpperCase(); + + for (i = 0, len = keyString.length; i < len; ++i){ + keys.push(keyString.charCodeAt(i)); + } + keyCode = keys; + processed = true; + } + + if (!Ext.isArray(keyCode)) { + keyCode = [keyCode]; + } + + if (!processed) { + for (i = 0, len = keyCode.length; i < len; ++i) { + key = keyCode[i]; + if (Ext.isString(key)) { + keyCode[i] = key.toUpperCase().charCodeAt(0); + } + } + } + + this.bindings.push(Ext.apply({ + keyCode: keyCode + }, binding)); + }, + + + handleTargetEvent: (function() { + var tagRe = /input|textarea/i; + + return function(event) { + var me = this, + bindings, i, len, + target, contentEditable; + + if (this.enabled) { + bindings = this.bindings; + i = 0; + len = bindings.length; + + + event = me.processEvent.apply(me||me.processEventScope, arguments); + + + if (me.ignoreInputFields) { + target = event.target; + contentEditable = target.contentEditable; + + + + if (tagRe.test(target.tagName) || (contentEditable === '' || contentEditable === 'true')) { + return; + } + } + + + + if (!event.getKey) { + return event; + } + for(; i < len; ++i){ + this.processBinding(bindings[i], event); + } + } + } + }()), + + + processEvent: function(event){ + return event; + }, + + + processBinding: function(binding, event){ + if (this.checkModifiers(binding, event)) { + var key = event.getKey(), + handler = binding.fn || binding.handler, + scope = binding.scope || this, + keyCode = binding.keyCode, + defaultEventAction = binding.defaultEventAction, + i, + len, + keydownEvent = new Ext.EventObjectImpl(event); + + + for (i = 0, len = keyCode.length; i < len; ++i) { + if (key === keyCode[i]) { + if (handler.call(scope, key, event) !== true && defaultEventAction) { + keydownEvent[defaultEventAction](); + } + break; + } + } + } + }, + + + checkModifiers: function(binding, e) { + var keys = ['shift', 'ctrl', 'alt'], + i = 0, + len = keys.length, + val, key; + + for (; i < len; ++i){ + key = keys[i]; + val = binding[key]; + if (!(val === undefined || (val === e[key + 'Key']))) { + return false; + } + } + return true; + }, + + + on: function(key, fn, scope) { + var keyCode, shift, ctrl, alt; + if (Ext.isObject(key) && !Ext.isArray(key)) { + keyCode = key.key; + shift = key.shift; + ctrl = key.ctrl; + alt = key.alt; + } else { + keyCode = key; + } + this.addBinding({ + key: keyCode, + shift: shift, + ctrl: ctrl, + alt: alt, + fn: fn, + scope: scope + }); + }, + + + isEnabled : function() { + return this.enabled; + }, + + + enable: function() { + var me = this; + + if (!me.enabled) { + me.target.on(me.eventName, me.handleTargetEvent, me); + me.enabled = true; + } + }, + + + disable: function() { + var me = this; + + if (me.enabled) { + me.target.removeListener(me.eventName, me.handleTargetEvent, me); + me.enabled = false; + } + }, + + + setDisabled : function(disabled) { + if (disabled) { + this.disable(); + } else { + this.enable(); + } + }, + + + destroy: function(removeTarget) { + var me = this, + target = me.target; + + me.bindings = []; + me.disable(); + if (removeTarget === true) { + if (target.isComponent) { + target.destroy(); + } else { + target.remove(); + } + } + delete me.target; + } +}); + + +Ext.define('Ext.util.KeyNav', { + alternateClassName: 'Ext.KeyNav', + + requires: ['Ext.util.KeyMap'], + + statics: { + keyOptions: { + left: 37, + right: 39, + up: 38, + down: 40, + space: 32, + pageUp: 33, + pageDown: 34, + del: 46, + backspace: 8, + home: 36, + end: 35, + enter: 13, + esc: 27, + tab: 9 + } + }, + + constructor: function(config) { + var me = this; + if (arguments.length === 2) { + me.legacyConstructor.apply(me, arguments); + return; + } + me.setConfig(config); + }, + + + legacyConstructor: function(el, config) { + this.setConfig(Ext.apply({ + target: el + }, config)); + }, + + + setConfig: function(config) { + var me = this, + keymapCfg = { + target: config.target, + ignoreInputFields: config.ignoreInputFields, + eventName: me.getKeyEvent('forceKeyDown' in config ? config.forceKeyDown : me.forceKeyDown, config.eventName) + }, + map, keyCodes, defaultScope, keyName, binding; + + if (me.map) { + me.map.destroy(); + } + + if (config.processEvent) { + keymapCfg.processEvent = config.processEvent; + keymapCfg.processEventScope = config.processEventScope||me; + } + map = me.map = new Ext.util.KeyMap(keymapCfg); + keyCodes = Ext.util.KeyNav.keyOptions; + defaultScope = config.scope || me; + + for (keyName in keyCodes) { + if (keyCodes.hasOwnProperty(keyName)) { + + + + if (binding = config[keyName]) { + if (typeof binding === 'function') { + binding = { + handler: binding, + defaultAction: (config.defaultEventAction !== undefined) ? config.defaultEventAction : me.defaultEventAction + }; + } + map.addBinding({ + key: keyCodes[keyName], + handler: Ext.Function.bind(me.handleEvent, binding.scope||defaultScope, binding.handler||binding.fn, true), + defaultEventAction: (binding.defaultEventAction !== undefined) ? binding.defaultAction : me.defaultEventAction + }); + } + } + } + + map.disable(); + if (!config.disabled) { + map.enable(); + } + }, + + + handleEvent: function(keyCode, event, handler){ + return handler.call(this, event); + }, + + + disabled: false, + + + defaultEventAction: "stopEvent", + + + forceKeyDown: false, + + + + + eventName: 'keypress', + + + + + + + + + destroy: function(removeEl) { + this.map.destroy(removeEl); + delete this.map; + }, + + + enable: function() { + this.map.enable(); + this.disabled = false; + }, + + + disable: function() { + this.map.disable(); + this.disabled = true; + }, + + + setDisabled : function(disabled) { + this.map.setDisabled(disabled); + this.disabled = disabled; + }, + + + getKeyEvent: function(forceKeyDown, configuredEventName) { + if (forceKeyDown || (Ext.EventManager.useKeyDown && !configuredEventName)) { + return 'keydown'; + } else { + return configuredEventName||this.eventName; + } + } +}); + + +Ext.define('Ext.FocusManager', { + singleton: true, + alternateClassName: ['Ext.FocusMgr' ], + + mixins: { + observable: 'Ext.util.Observable' + }, + + requires: [ + 'Ext.AbstractComponent', + 'Ext.Component', + 'Ext.ComponentManager', + 'Ext.ComponentQuery', + 'Ext.util.HashMap', + 'Ext.util.KeyNav' + ], + + + enabled: false, + + + + focusElementCls: Ext.baseCSSPrefix + 'focus-element', + + focusFrameCls: Ext.baseCSSPrefix + 'focus-frame', + + + whitelist: [ + 'textfield' + ], + + constructor: function(config) { + var me = this, + CQ = Ext.ComponentQuery; + + me.mixins.observable.constructor.call(me, config); + + me.addEvents( + + 'beforecomponentfocus', + + + 'componentfocus', + + + 'disable', + + + 'enable' + ); + + me.focusTask = new Ext.util.DelayedTask(me.handleComponentFocus, me); + + + Ext.override(Ext.AbstractComponent, { + onFocus: function() { + this.callParent(arguments); + if (me.enabled && this.hasFocus) { + Array.prototype.unshift.call(arguments, this); + me.onComponentFocus.apply(me, arguments); + } + }, + onBlur: function() { + this.callParent(arguments); + if (me.enabled && !this.hasFocus) { + Array.prototype.unshift.call(arguments, this); + me.onComponentBlur.apply(me, arguments); + } + }, + onDestroy: function() { + this.callParent(arguments); + if (me.enabled) { + Array.prototype.unshift.call(arguments, this); + me.onComponentDestroy.apply(me, arguments); + } + } + }); + Ext.override(Ext.Component, { + afterHide: function() { + this.callParent(arguments); + if (me.enabled) { + Array.prototype.unshift.call(arguments, this); + me.onComponentHide.apply(me, arguments); + } + } + }); + + + me.keyNav = new Ext.util.KeyNav(Ext.getDoc(), { + disabled: true, + scope: me, + + backspace: me.focusLast, + enter: me.navigateIn, + esc: me.navigateOut, + tab: me.navigateSiblings, + space: me.navigateIn, + del: me.focusLast, + left: me.navigateSiblings, + right: me.navigateSiblings, + down: me.navigateSiblings, + up: me.navigateSiblings + }); + + me.focusData = {}; + me.subscribers = new Ext.util.HashMap(); + me.focusChain = {}; + + + Ext.apply(CQ.pseudos, { + focusable: function(cmps) { + var len = cmps.length, + results = [], + i = 0, + c; + + for (; i < len; i++) { + c = cmps[i]; + if (c.isFocusable()) { + results.push(c); + } + } + + return results; + }, + + + nextFocus: function(cmps, idx, step) { + step = step || 1; + idx = parseInt(idx, 10); + + var len = cmps.length, + i = idx, c; + + for (;;) { + + if ((i += step) >= len) { + i = 0; + } else if (i < 0) { + i = len - 1; + } + + + if (i === idx) { + return []; + } + + + if ((c = cmps[i]).isFocusable()) { + return [c]; + } + } + + return []; + }, + + prevFocus: function(cmps, idx) { + return this.nextFocus(cmps, idx, -1); + }, + + root: function(cmps) { + var len = cmps.length, + results = [], + i = 0, + c; + + for (; i < len; i++) { + c = cmps[i]; + if (!c.ownerCt) { + results.push(c); + } + } + + return results; + } + }); + }, + + + addXTypeToWhitelist: function(xtype) { + var me = this; + + if (Ext.isArray(xtype)) { + Ext.Array.forEach(xtype, me.addXTypeToWhitelist, me); + return; + } + + if (!Ext.Array.contains(me.whitelist, xtype)) { + me.whitelist.push(xtype); + } + }, + + clearComponent: function(cmp) { + clearTimeout(this.cmpFocusDelay); + if (!cmp.isDestroyed) { + cmp.blur(); + } + }, + + + disable: function() { + var me = this; + + if (!me.enabled) { + return; + } + + delete me.options; + me.enabled = false; + + me.removeDOM(); + + + me.keyNav.disable(); + + me.fireEvent('disable', me); + }, + + + enable: function(options) { + var me = this; + + if (options === true) { + options = { focusFrame: true }; + } + me.options = options = options || {}; + + if (me.enabled) { + return; + } + + + me.enabled = true; + me.initDOM(options); + + + me.keyNav.enable(); + + + me.focusEl.focus(); + delete me.focusedCmp; + + me.fireEvent('enable', me); + }, + + focusLast: function(e) { + var me = this; + + if (me.isWhitelisted(me.focusedCmp)) { + return true; + } + + + if (me.previousFocusedCmp) { + me.previousFocusedCmp.focus(); + } + }, + + getRootComponents: function() { + var me = this, + CQ = Ext.ComponentQuery, + inline = CQ.query(':focusable:root:not([floating])'), + floating = CQ.query(':focusable:root[floating]'); + + + + floating.sort(function(a, b) { + return a.el.getZIndex() > b.el.getZIndex(); + }); + + return floating.concat(inline); + }, + + initDOM: function(options) { + var me = this, + cls = me.focusFrameCls, + needListeners = Ext.ComponentQuery.query('{getFocusEl()}:not([focusListenerAdded])'), + i = 0, len = needListeners.length; + + if (!Ext.isReady) { + return Ext.onReady(me.initDOM, me); + } + + + + + for (; i < len; i++) { + needListeners[i].addFocusListener(); + } + + + if (!me.focusEl) { + me.focusEl = Ext.getBody(); + me.focusEl.dom.tabIndex = -1; + } + + + if (!me.focusFrame && options.focusFrame) { + me.focusFrame = Ext.getBody().createChild({ + cls: cls, + children: [ + { cls: cls + '-top' }, + { cls: cls + '-bottom' }, + { cls: cls + '-left' }, + { cls: cls + '-right' } + ], + style: 'top: -100px; left: -100px;' + }); + me.focusFrame.setVisibilityMode(Ext.Element.DISPLAY); + me.focusFrame.hide().setLeftTop(0, 0); + } + }, + + isWhitelisted: function(cmp) { + return cmp && Ext.Array.some(this.whitelist, function(x) { + return cmp.isXType(x); + }); + }, + + navigateIn: function(e) { + var me = this, + focusedCmp = me.focusedCmp, + defaultRoot, + firstChild; + + if (me.isWhitelisted(focusedCmp)) { + return true; + } + + if (!focusedCmp) { + + defaultRoot = me.getRootComponents()[0]; + if (defaultRoot) { + + + if (defaultRoot.getFocusEl() === me.focusEl) { + me.focusEl.blur(); + } + defaultRoot.focus(); + } + } else { + + + firstChild = focusedCmp.hasFocus ? Ext.ComponentQuery.query('>:focusable', focusedCmp)[0] : focusedCmp; + if (firstChild) { + firstChild.focus(); + } else { + + if (Ext.isFunction(focusedCmp.onClick)) { + e.button = 0; + focusedCmp.onClick(e); + if (focusedCmp.isVisible(true)) { + focusedCmp.focus(); + } else { + me.navigateOut(); + } + } + } + } + }, + + navigateOut: function(e) { + var me = this, + parent; + + if (!me.focusedCmp || !(parent = me.focusedCmp.up(':focusable'))) { + me.focusEl.focus(); + } else { + parent.focus(); + } + + + + + return true; + }, + + navigateSiblings: function(e, source, parent) { + var me = this, + src = source || me, + key = e.getKey(), + EO = Ext.EventObject, + goBack = e.shiftKey || key == EO.LEFT || key == EO.UP, + checkWhitelist = key == EO.LEFT || key == EO.RIGHT || key == EO.UP || key == EO.DOWN, + nextSelector = goBack ? 'prev' : 'next', + idx, next, focusedCmp, siblings; + + focusedCmp = (src.focusedCmp && src.focusedCmp.comp) || src.focusedCmp; + if (!focusedCmp && !parent) { + return true; + } + + if (checkWhitelist && me.isWhitelisted(focusedCmp)) { + return true; + } + + + if (!focusedCmp || focusedCmp.is(':root')) { + siblings = me.getRootComponents(); + } else { + + parent = parent || focusedCmp.up(); + if (parent) { + siblings = parent.getRefItems(); + } + } + + + + if (siblings) { + idx = focusedCmp ? Ext.Array.indexOf(siblings, focusedCmp) : -1; + next = Ext.ComponentQuery.query(':' + nextSelector + 'Focus(' + idx + ')', siblings)[0]; + if (next && focusedCmp !== next) { + next.focus(); + return next; + } + } + }, + + onComponentBlur: function(cmp, e) { + var me = this; + + if (me.focusedCmp === cmp) { + me.previousFocusedCmp = cmp; + delete me.focusedCmp; + } + + if (me.focusFrame) { + me.focusFrame.hide(); + } + }, + + onComponentFocus: function(cmp, e) { + var me = this, + chain = me.focusChain, + parent; + + if (!cmp.isFocusable()) { + me.clearComponent(cmp); + + + + + + if (chain[cmp.id]) { + return; + } + + + parent = cmp.up(); + if (parent) { + + + + chain[cmp.id] = true; + parent.focus(); + } + + return; + } + + me.focusChain = {}; + + + + + me.focusTask.delay(10, null, null, [cmp, cmp.getFocusEl()]); + }, + + handleComponentFocus: function(cmp, focusEl) { + var me = this, + cls, + ff, + fw, + box, + bt, + bl, + bw, + bh, + ft, + fb, + fl, + fr; + + if (me.fireEvent('beforecomponentfocus', me, cmp, me.previousFocusedCmp) === false) { + me.clearComponent(cmp); + return; + } + + me.focusedCmp = cmp; + + + if (me.shouldShowFocusFrame(cmp)) { + cls = '.' + me.focusFrameCls + '-'; + ff = me.focusFrame; + box = focusEl.getPageBox(); + + + + + bt = box.top; + bl = box.left; + bw = box.width; + bh = box.height; + ft = ff.child(cls + 'top'); + fb = ff.child(cls + 'bottom'); + fl = ff.child(cls + 'left'); + fr = ff.child(cls + 'right'); + + ft.setWidth(bw).setLeftTop(bl, bt); + fb.setWidth(bw).setLeftTop(bl, bt + bh - 2); + fl.setHeight(bh - 2).setLeftTop(bl, bt + 2); + fr.setHeight(bh - 2).setLeftTop(bl + bw - 2, bt + 2); + + ff.show(); + } + + me.fireEvent('componentfocus', me, cmp, me.previousFocusedCmp); + }, + + onComponentHide: function(cmp) { + var me = this, + cmpHadFocus = false, + focusedCmp = me.focusedCmp, + parent; + + if (focusedCmp) { + + + cmpHadFocus = cmp.hasFocus || (cmp.isContainer && cmp.isAncestor(me.focusedCmp)); + } + + me.clearComponent(cmp); + + + if (cmpHadFocus && (parent = cmp.up(':focusable'))) { + parent.focus(); + } else { + me.focusEl.focus(); + } + }, + + onComponentDestroy: function() { + + }, + + removeDOM: function() { + var me = this; + + + + if (me.enabled || me.subscribers.length) { + return; + } + + Ext.destroy( + me.focusFrame + ); + delete me.focusEl; + delete me.focusFrame; + }, + + + removeXTypeFromWhitelist: function(xtype) { + var me = this; + + if (Ext.isArray(xtype)) { + Ext.Array.forEach(xtype, me.removeXTypeFromWhitelist, me); + return; + } + + Ext.Array.remove(me.whitelist, xtype); + }, + + setupSubscriberKeys: function(container, keys) { + var me = this, + el = container.getFocusEl(), + scope = keys.scope, + handlers = { + backspace: me.focusLast, + enter: me.navigateIn, + esc: me.navigateOut, + scope: me + }, + + navSiblings = function(e) { + if (me.focusedCmp === container) { + + + + return me.navigateSiblings(e, me, container); + } else { + return me.navigateSiblings(e); + } + }; + + Ext.iterate(keys, function(key, cb) { + handlers[key] = function(e) { + var ret = navSiblings(e); + + if (Ext.isFunction(cb) && cb.call(scope || container, e, ret) === true) { + return true; + } + + return ret; + }; + }, me); + + return new Ext.util.KeyNav(el, handlers); + }, + + shouldShowFocusFrame: function(cmp) { + var me = this, + opts = me.options || {}, + cmpFocusEl = cmp.getFocusEl(), + cmpFocusElTag = Ext.getDom(cmpFocusEl).tagName; + + + + + if (!me.focusFrame || !cmp) { + return false; + } + + + if (opts.focusFrame) { + return true; + } + + if (me.focusData[cmp.id].focusFrame) { + return true; + } + + return false; + } +}); + + +Ext.define('Ext.Img', { + extend: 'Ext.Component', + alias: ['widget.image', 'widget.imagecomponent'], + + autoEl: 'img', + + + src: '', + + + alt: '', + + + imgCls: '', + + getElConfig: function() { + var me = this, + config = me.callParent(), + img; + + + + if (me.autoEl == 'img') { + img = config; + } else { + config.cn = [img = { + tag: 'img', + id: me.id + '-img' + }]; + } + + if (me.imgCls) { + img.cls = (img.cls ? img.cls + ' ' : '') + me.imgCls; + } + + img.src = me.src || Ext.BLANK_IMAGE_URL; + if (me.alt) { + img.alt = me.alt; + } + + return config; + }, + + onRender: function () { + var me = this, + el; + + me.callParent(arguments); + + el = me.el; + me.imgEl = (me.autoEl == 'img') ? el : el.getById(me.id + '-img'); + }, + + onDestroy: function () { + Ext.destroy(this.imgEl); + this.imgEl = null; + this.callParent(); + }, + + + setSrc: function(src) { + var me = this, + imgEl = me.imgEl; + + me.src = src; + + if (imgEl) { + imgEl.dom.src = src || Ext.BLANK_IMAGE_URL; + } + } +}); + + +Ext.define('Ext.Layer', { + extend: 'Ext.Element', + uses: ['Ext.Shadow'], + + + + + + + + + + + + + + + + + + + + + + + statics: { + shims: [] + }, + + isLayer: true, + + + constructor: function(config, existingEl) { + config = config || {}; + var me = this, + dh = Ext.DomHelper, + cp = config.parentEl, + pel = cp ? Ext.getDom(cp) : document.body, + hm = config.hideMode; + + if (existingEl) { + me.dom = Ext.getDom(existingEl); + } + if (!me.dom) { + me.dom = dh.append(pel, config.dh || { + tag: 'div', + cls: Ext.baseCSSPrefix + 'layer' + }); + } else { + me.addCls(Ext.baseCSSPrefix + 'layer'); + if (!me.dom.parentNode) { + pel.appendChild(me.dom); + } + } + + if (config.id) { + me.id = me.dom.id = config.id; + } else { + me.id = Ext.id(me.dom); + } + + Ext.Element.addToCache(me); + + if (config.cls) { + me.addCls(config.cls); + } + me.constrain = config.constrain !== false; + + + + + if (hm) { + me.setVisibilityMode(Ext.Element[hm.toUpperCase()]); + if (me.visibilityMode == Ext.Element.ASCLASS) { + me.visibilityCls = config.visibilityCls; + } + } else if (config.useDisplay) { + me.setVisibilityMode(Ext.Element.DISPLAY); + } else { + me.setVisibilityMode(Ext.Element.VISIBILITY); + } + + if (config.shadow) { + me.shadowOffset = config.shadowOffset || 4; + me.shadow = new Ext.Shadow({ + offset: me.shadowOffset, + mode: config.shadow + }); + me.disableShadow(); + } else { + me.shadowOffset = 0; + } + me.useShim = config.shim !== false && Ext.useShims; + if (config.hidden === true) { + me.hide(); + } else { + me.show(); + } + }, + + getZIndex: function() { + return parseInt((this.getShim() || this).getStyle('z-index'), 10); + }, + + getShim: function() { + var me = this, + shim, pn; + + if (!me.useShim) { + return null; + } + if (!me.shim) { + shim = me.self.shims.shift(); + if (!shim) { + shim = me.createShim(); + shim.enableDisplayMode('block'); + shim.hide(); + } + pn = me.dom.parentNode; + if (shim.dom.parentNode != pn) { + pn.insertBefore(shim.dom, me.dom); + } + me.shim = shim; + } + return me.shim; + }, + + hideShim: function() { + var me = this; + + if (me.shim) { + me.shim.setDisplayed(false); + me.self.shims.push(me.shim); + delete me.shim; + } + }, + + disableShadow: function() { + var me = this; + + if (me.shadow && !me.shadowDisabled) { + me.shadowDisabled = true; + me.shadow.hide(); + me.lastShadowOffset = me.shadowOffset; + me.shadowOffset = 0; + } + }, + + enableShadow: function(show) { + var me = this; + + if (me.shadow && me.shadowDisabled) { + me.shadowDisabled = false; + me.shadowOffset = me.lastShadowOffset; + delete me.lastShadowOffset; + if (show) { + me.sync(true); + } + } + }, + + + sync: function(doShow) { + var me = this, + shadow = me.shadow, + shadowPos, shimStyle, shadowSize, + shim, l, t, w, h, shimIndex; + + if (!me.updating && me.isVisible() && (shadow || me.useShim)) { + shim = me.getShim(); + l = me.getLocalX(); + t = me.getLocalY(); + w = me.dom.offsetWidth; + h = me.dom.offsetHeight; + + if (shadow && !me.shadowDisabled) { + if (doShow && !shadow.isVisible()) { + shadow.show(me); + } else { + shadow.realign(l, t, w, h); + } + if (shim) { + + shimIndex = shim.getStyle('z-index'); + if (shimIndex > me.zindex) { + me.shim.setStyle('z-index', me.zindex - 2); + } + shim.show(); + + if (shadow.isVisible()) { + shadowPos = shadow.el.getXY(); + shimStyle = shim.dom.style; + shadowSize = shadow.el.getSize(); + if (Ext.supports.CSS3BoxShadow) { + shadowSize.height += 6; + shadowSize.width += 4; + shadowPos[0] -= 2; + shadowPos[1] -= 4; + } + shimStyle.left = (shadowPos[0]) + 'px'; + shimStyle.top = (shadowPos[1]) + 'px'; + shimStyle.width = (shadowSize.width) + 'px'; + shimStyle.height = (shadowSize.height) + 'px'; + } else { + shim.setSize(w, h); + shim.setLeftTop(l, t); + } + } + } else if (shim) { + + shimIndex = shim.getStyle('z-index'); + if (shimIndex > me.zindex) { + me.shim.setStyle('z-index', me.zindex - 2); + } + shim.show(); + shim.setSize(w, h); + shim.setLeftTop(l, t); + } + } + return me; + }, + + remove: function() { + this.hideUnders(); + this.callParent(); + }, + + + beginUpdate: function() { + this.updating = true; + }, + + + endUpdate: function() { + this.updating = false; + this.sync(true); + }, + + + hideUnders: function() { + if (this.shadow) { + this.shadow.hide(); + } + this.hideShim(); + }, + + + constrainXY: function() { + if (this.constrain) { + var vw = Ext.Element.getViewWidth(), + vh = Ext.Element.getViewHeight(), + s = Ext.getDoc().getScroll(), + xy = this.getXY(), + x = xy[0], + y = xy[1], + so = this.shadowOffset, + w = this.dom.offsetWidth + so, + h = this.dom.offsetHeight + so, + moved = false; + + if ((x + w) > vw + s.left) { + x = vw - w - so; + moved = true; + } + if ((y + h) > vh + s.top) { + y = vh - h - so; + moved = true; + } + + if (x < s.left) { + x = s.left; + moved = true; + } + if (y < s.top) { + y = s.top; + moved = true; + } + if (moved) { + Ext.Layer.superclass.setXY.call(this, [x, y]); + this.sync(); + } + } + return this; + }, + + getConstrainOffset: function() { + return this.shadowOffset; + }, + + + setVisible: function(visible, animate, duration, callback, easing) { + var me = this, + cb; + + + cb = function() { + if (visible) { + me.sync(true); + } + if (callback) { + callback(); + } + }; + + + if (!visible) { + me.hideUnders(true); + } + me.callParent([visible, animate, duration, callback, easing]); + if (!animate) { + cb(); + } + return me; + }, + + + beforeFx: function() { + this.beforeAction(); + return this.callParent(arguments); + }, + + + afterFx: function() { + this.callParent(arguments); + this.sync(this.isVisible()); + }, + + + beforeAction: function() { + if (!this.updating && this.shadow) { + this.shadow.hide(); + } + }, + + + setLeft: function(left) { + this.callParent(arguments); + return this.sync(); + }, + + setTop: function(top) { + this.callParent(arguments); + return this.sync(); + }, + + setLeftTop: function(left, top) { + this.callParent(arguments); + return this.sync(); + }, + + setXY: function(xy, animate, duration, callback, easing) { + var me = this; + + + callback = me.createCB(callback); + + me.fixDisplay(); + me.beforeAction(); + me.callParent([xy, animate, duration, callback, easing]); + if (!animate) { + callback(); + } + return me; + }, + + + createCB: function(callback) { + var me = this, + showShadow = me.shadow && me.shadow.isVisible(); + + return function() { + me.constrainXY(); + me.sync(showShadow); + if (callback) { + callback(); + } + }; + }, + + + setX: function(x, animate, duration, callback, easing) { + this.setXY([x, this.getY()], animate, duration, callback, easing); + return this; + }, + + + setY: function(y, animate, duration, callback, easing) { + this.setXY([this.getX(), y], animate, duration, callback, easing); + return this; + }, + + + setSize: function(w, h, animate, duration, callback, easing) { + var me = this; + + + callback = me.createCB(callback); + + me.beforeAction(); + me.callParent([w, h, animate, duration, callback, easing]); + if (!animate) { + callback(); + } + return me; + }, + + + setWidth: function(w, animate, duration, callback, easing) { + var me = this; + + + callback = me.createCB(callback); + + me.beforeAction(); + me.callParent([w, animate, duration, callback, easing]); + if (!animate) { + callback(); + } + return me; + }, + + + setHeight: function(h, animate, duration, callback, easing) { + var me = this; + + + callback = me.createCB(callback); + + me.beforeAction(); + me.callParent([h, animate, duration, callback, easing]); + if (!animate) { + callback(); + } + return me; + }, + + + setBounds: function(x, y, width, height, animate, duration, callback, easing) { + var me = this; + + + callback = me.createCB(callback); + + me.beforeAction(); + if (!animate) { + Ext.Layer.superclass.setXY.call(me, [x, y]); + Ext.Layer.superclass.setSize.call(me, width, height); + callback(); + } else { + me.callParent([x, y, width, height, animate, duration, callback, easing]); + } + return me; + }, + + + setZIndex: function(zindex) { + var me = this; + + me.zindex = zindex; + if (me.getShim()) { + me.shim.setStyle('z-index', zindex++); + } + if (me.shadow) { + me.shadow.setZIndex(zindex++); + } + return me.setStyle('z-index', zindex); + }, + + onOpacitySet: function(opacity){ + var shadow = this.shadow; + if (shadow) { + shadow.setOpacity(opacity); + } + } +}); + + +Ext.define('Ext.util.Bindable', { + + + bindStore: function(store, initial){ + var me = this, + oldStore = me.store; + + if (!initial && me.store) { + + me.onUnbindStore(oldStore, initial); + + if (store !== oldStore && oldStore.autoDestroy) { + oldStore.destroyStore(); + } else { + me.unbindStoreListeners(oldStore); + } + } + if (store) { + store = Ext.data.StoreManager.lookup(store); + me.bindStoreListeners(store); + me.onBindStore(store, initial); + } + me.store = store || null; + return me; + }, + + + getStore: function(){ + return this.store; + }, + + + unbindStoreListeners: function(store) { + + var listeners = this.storeListeners; + if (listeners) { + store.un(listeners); + } + }, + + + bindStoreListeners: function(store) { + + var me = this, + listeners = Ext.apply({}, me.getStoreListeners()); + + if (!listeners.scope) { + listeners.scope = me; + } + me.storeListeners = listeners; + store.on(listeners); + }, + + + getStoreListeners: Ext.emptyFn, + + + onUnbindStore: Ext.emptyFn, + + + onBindStore: Ext.emptyFn +}); + + +Ext.define('Ext.LoadMask', { + + extend: 'Ext.Component', + + alias: 'widget.loadmask', + + + + mixins: { + floating: 'Ext.util.Floating', + bindable: 'Ext.util.Bindable' + }, + + uses: ['Ext.data.StoreManager'], + + + + + + + + msg : 'Loading...', + + + + msgCls : Ext.baseCSSPrefix + 'mask-loading', + + + maskCls: Ext.baseCSSPrefix + 'mask', + + + useMsg: true, + + + useTargetEl: false, + + baseCls: Ext.baseCSSPrefix + 'mask-msg', + + childEls: [ + 'msgEl' + ], + + renderTpl: '
', + + + floating: { + shadow: 'frame' + }, + + + focusOnToFront: false, + + + + bringParentToFront: false, + + + constructor : function(comp, config) { + var me = this; + + + if (!comp.isComponent) { + comp = Ext.get(comp); + this.isElement = true; + } + + me.ownerCt = comp; + if (!this.isElement) { + me.bindComponent(comp); + } + me.callParent([config]); + + if (me.store) { + me.bindStore(me.store, true); + } + }, + + bindComponent: function(comp){ + var me = this, + listeners = { + scope: this, + resize: me.sizeMask, + added: me.onComponentAdded, + removed: me.onComponentRemoved + }, + hierarchyEventSource = Ext.container.Container.hierarchyEventSource; + + if (comp.floating) { + listeners.move = me.sizeMask; + me.activeOwner = comp; + } else if (comp.ownerCt) { + me.onComponentAdded(comp.ownerCt); + } else { + + me.preventBringToFront = true; + } + + me.mon(comp, listeners); + + + me.mon(hierarchyEventSource, { + show: me.onContainerShow, + hide: me.onContainerHide, + expand: me.onContainerExpand, + collapse: me.onContainerCollapse, + scope: me + }); + }, + + onComponentAdded: function(owner){ + var me = this; + delete me.activeOwner; + me.floatParent = owner; + if (!owner.floating) { + owner = owner.up('[floating]'); + } + if (owner) { + me.activeOwner = owner; + me.mon(owner, 'move', me.sizeMask, me); + } + owner = me.floatParent.ownerCt; + if (me.rendered && me.isVisible() && owner) { + me.floatOwner = owner; + me.mon(owner, 'afterlayout', me.sizeMask, me, {single: true}); + } + }, + + onComponentRemoved: function(owner){ + var me = this, + activeOwner = me.activeOwner, + floatOwner = me.floatOwner; + + if (activeOwner) { + me.mun(activeOwner, 'move', me.sizeMask, me); + } + if (floatOwner) { + me.mun(floatOwner, 'afterlayout', me.sizeMask, me); + } + delete me.activeOwner; + delete me.floatOwner; + }, + + afterRender: function() { + this.callParent(arguments); + this.container = this.floatParent.getContentTarget(); + }, + + onContainerShow: function(container){ + if (this.isActiveContainer(container)) { + this.onComponentShow(); + } + }, + + onContainerHide: function(container){ + if (this.isActiveContainer(container)) { + this.onComponentHide(); + } + }, + + onContainerExpand: function(container){ + if (this.isActiveContainer(container)) { + this.onComponentShow(); + } + }, + + onContainerCollapse: function(container){ + if (this.isActiveContainer(container)) { + this.onComponentHide(); + } + }, + + isActiveContainer: function(container){ + return this.isDescendantOf(container); + }, + + onComponentHide: function(){ + var me = this; + + if (me.rendered && me.isVisible()) { + me.hide(); + me.showNext = true; + } + }, + + onComponentShow: function(){ + if (this.showNext) { + this.show(); + } + delete this.showNext; + }, + + + sizeMask: function() { + var me = this, + target; + + if (me.rendered && me.isVisible()) { + me.center(); + + target = me.getMaskTarget(); + me.getMaskEl().show().setSize(target.getSize()).alignTo(target, 'tl-tl'); + + } + }, + + + bindStore : function(store, initial) { + var me = this; + me.mixins.bindable.bindStore.apply(me, arguments); + store = me.store; + if (store && store.isLoading()) { + me.onBeforeLoad(); + } + }, + + getStoreListeners: function(){ + return { + beforeload: this.onBeforeLoad, + load: this.onLoad, + exception: this.onLoad, + + + cachemiss: this.onBeforeLoad, + + + cachefilled: this.onLoad + }; + }, + + onDisable : function() { + this.callParent(arguments); + if (this.loading) { + this.onLoad(); + } + }, + + getOwner: function(){ + return this.ownerCt || this.floatParent; + }, + + getMaskTarget: function(){ + var owner = this.getOwner(); + return this.useTargetEl ? owner.getTargetEl() : owner.getEl(); + }, + + + onBeforeLoad : function() { + var me = this, + owner = me.getOwner(), + origin; + + if (!me.disabled) { + me.loading = true; + + + if (owner.componentLayoutCounter) { + me.maybeShow(); + } else { + + origin = owner.afterComponentLayout; + owner.afterComponentLayout = function() { + owner.afterComponentLayout = origin; + origin.apply(owner, arguments); + me.maybeShow(); + }; + } + } + }, + + maybeShow: function(){ + var me = this, + owner = me.getOwner(); + + if (!owner.isVisible(true)) { + me.showNext = true; + } + else if (me.loading && owner.rendered) { + me.show(); + } + }, + + getMaskEl: function(){ + var me = this; + return me.maskEl || (me.maskEl = me.el.insertSibling({ + cls: me.maskCls, + style: { + zIndex: me.el.getStyle('zIndex') - 2 + } + }, 'before')); + }, + + onShow: function() { + var me = this, + msgEl = me.msgEl; + + me.callParent(arguments); + me.loading = true; + + if (me.useMsg) { + msgEl.show().update(me.msg); + } else { + msgEl.parent().hide(); + } + }, + + hide: function(){ + + if (this.isElement) { + this.ownerCt.unmask(); + this.fireEvent('hide', this); + return; + } + delete this.showNext; + return this.callParent(arguments); + }, + + onHide: function(){ + this.callParent(); + this.getMaskEl().hide(); + }, + + show: function(){ + + if (this.isElement) { + this.ownerCt.mask(this.useMsg ? this.msg : '', this.msgCls); + this.fireEvent('show', this); + return; + } + return this.callParent(arguments); + }, + + afterShow: function() { + this.callParent(arguments); + this.sizeMask(); + }, + + setZIndex: function(index) { + var me = this, + owner = me.activeOwner; + + if (owner) { + + + + index = parseInt(owner.el.getStyle('zIndex'), 10) + 1; + } + + me.getMaskEl().setStyle('zIndex', index - 1); + return me.mixins.floating.setZIndex.apply(me, arguments); + }, + + + onLoad : function() { + this.loading = false; + this.hide(); + }, + + onDestroy: function(){ + var me = this; + + if (me.isElement) { + me.ownerCt.unmask(); + } + + Ext.destroy(me.maskEl); + me.callParent(); + } +}); + + +Ext.define('Ext.data.association.Association', { + alternateClassName: 'Ext.data.Association', + + + + + + + + primaryKey: 'id', + + + + + + defaultReaderType: 'json', + + isAssociation: true, + + initialConfig: null, + + statics: { + AUTO_ID: 1000, + + create: function(association){ + if (Ext.isString(association)) { + association = { + type: association + }; + } + + switch (association.type) { + case 'belongsTo': + return new Ext.data.association.BelongsTo(association); + case 'hasMany': + return new Ext.data.association.HasMany(association); + case 'hasOne': + return new Ext.data.association.HasOne(association); + + + + default: + } + return association; + } + }, + + + constructor: function(config) { + Ext.apply(this, config); + + var me = this, + types = Ext.ModelManager.types, + ownerName = config.ownerModel, + associatedName = config.associatedModel, + ownerModel = types[ownerName], + associatedModel = types[associatedName]; + + me.initialConfig = config; + + + me.ownerModel = ownerModel; + me.associatedModel = associatedModel; + + + + + + Ext.applyIf(me, { + ownerName : ownerName, + associatedName: associatedName + }); + + me.associationId = 'association' + (++me.statics().AUTO_ID); + }, + + + getReader: function(){ + var me = this, + reader = me.reader, + model = me.associatedModel; + + if (reader) { + if (Ext.isString(reader)) { + reader = { + type: reader + }; + } + if (reader.isReader) { + reader.setModel(model); + } else { + Ext.applyIf(reader, { + model: model, + type : me.defaultReaderType + }); + } + me.reader = Ext.createByAlias('reader.' + reader.type, reader); + } + return me.reader || null; + } +}); + + +Ext.define('Ext.ModelManager', { + extend: 'Ext.AbstractManager', + alternateClassName: 'Ext.ModelMgr', + requires: ['Ext.data.association.Association'], + + singleton: true, + + typeName: 'mtype', + + + associationStack: [], + + + registerType: function(name, config) { + var proto = config.prototype, + model; + if (proto && proto.isModel) { + + model = config; + } else { + + if (!config.extend) { + config.extend = 'Ext.data.Model'; + } + model = Ext.define(name, config); + } + this.types[name] = model; + return model; + }, + + + onModelDefined: function(model) { + var stack = this.associationStack, + length = stack.length, + create = [], + association, i, created; + + for (i = 0; i < length; i++) { + association = stack[i]; + + if (association.associatedModel == model.modelName) { + create.push(association); + } + } + + for (i = 0, length = create.length; i < length; i++) { + created = create[i]; + this.types[created.ownerModel].prototype.associations.add(Ext.data.association.Association.create(created)); + Ext.Array.remove(stack, created); + } + }, + + + registerDeferredAssociation: function(association){ + this.associationStack.push(association); + }, + + + getModel: function(id) { + var model = id; + if (typeof model == 'string') { + model = this.types[model]; + } + return model; + }, + + + create: function(config, name, id) { + var Con = typeof name == 'function' ? name : this.types[name || config.name]; + + return new Con(config, id); + } +}, function() { + + + Ext.regModel = function() { + return this.ModelManager.registerType.apply(this.ModelManager, arguments); + }; +}); + + +Ext.define('Ext.PluginManager', { + extend: 'Ext.AbstractManager', + alternateClassName: 'Ext.PluginMgr', + singleton: true, + typeName: 'ptype', + + + create : function(config, defaultType){ + if (config.init) { + return config; + } else { + return Ext.createByAlias('plugin.' + (config.ptype || defaultType), config); + } + + + + + + + + + }, + + + + + + + + + + + + + + + + + + + + + findByType: function(type, defaultsOnly) { + var matches = [], + types = this.types, + name, + item; + + for (name in types) { + if (!types.hasOwnProperty(name)) { + continue; + } + item = types[name]; + + if (item.type == type && (!defaultsOnly || (defaultsOnly === true && item.isDefault))) { + matches.push(item); + } + } + + return matches; + } +}, function() { + + Ext.preg = function() { + return Ext.PluginManager.registerType.apply(Ext.PluginManager, arguments); + }; +}); + + +Ext.define('Ext.layout.component.ProgressBar', { + + + + alias: ['layout.progressbar'], + + extend: 'Ext.layout.component.Auto', + + + + type: 'progressbar', + + beginLayout: function (ownerContext) { + var me = this, + i, textEls; + + me.callParent(arguments); + + if (!ownerContext.textEls) { + textEls = me.owner.textEl; + + if (textEls.isComposite) { + ownerContext.textEls = []; + textEls = textEls.elements; + for (i = textEls.length; i--; ) { + ownerContext.textEls[i] = ownerContext.getEl(Ext.get(textEls[i])); + } + } else { + ownerContext.textEls = [ ownerContext.getEl('textEl') ]; + } + } + }, + + calculate: function(ownerContext) { + var me = this, + i, textEls, width; + + me.callParent(arguments); + + if (Ext.isNumber(width = ownerContext.getProp('width'))) { + width -= ownerContext.getBorderInfo().width; + textEls = ownerContext.textEls; + + for (i = textEls.length; i--; ) { + textEls[i].setWidth(width); + } + } else { + me.done = false; + } + } +}); + +//@tag dom,core + + +Ext.define('Ext.dom.CompositeElement', { + alternateClassName: 'Ext.CompositeElement', + + extend: 'Ext.dom.CompositeElementLite', + + + getElement: function(el) { + + return el; + }, + + + transformElement: function(el) { + return Ext.get(el); + } + +}, function() { + + + Ext.dom.Element.select = function(selector, unique, root) { + var elements; + + if (typeof selector == "string") { + elements = Ext.dom.Element.selectorFunction(selector, root); + } + else if (selector.length !== undefined) { + elements = selector; + } + else { + } + return (unique === true) ? new Ext.CompositeElement(elements) : new Ext.CompositeElementLite(elements); + }; +}); + + +Ext.select = Ext.Element.select; + + +Ext.define('Ext.ProgressBar', { + extend: 'Ext.Component', + alias: 'widget.progressbar', + + requires: [ + 'Ext.Template', + 'Ext.CompositeElement', + 'Ext.TaskManager', + 'Ext.layout.component.ProgressBar' + ], + + uses: ['Ext.fx.Anim'], + + + + + + + + + baseCls: Ext.baseCSSPrefix + 'progress', + + + animate: false, + + + text: '', + + + waitTimer: null, + + childEls: [ + 'bar' + ], + + renderTpl: [ + '', + '
{text}
', + '
', + '
', + '', + '
', + '
{text}
', + '
', + '
', + '
' + ], + + componentLayout: 'progressbar', + + + initComponent: function() { + this.callParent(); + + this.addEvents( + + "update" + ); + }, + + initRenderData: function() { + var me = this; + return Ext.apply(me.callParent(), { + internalText : !me.hasOwnProperty('textEl'), + text : me.text || ' ', + percentage : me.value ? me.value * 100 : 0 + }); + }, + + onRender : function() { + var me = this; + + me.callParent(arguments); + + + if (me.textEl) { + me.textEl = Ext.get(me.textEl); + me.updateText(me.text); + } + + else { + + + me.textEl = me.el.select('.' + me.baseCls + '-text'); + } + }, + + + updateProgress: function(value, text, animate) { + var me = this, + oldValue = me.value; + + me.value = value || 0; + if (text) { + me.updateText(text); + } + if (me.rendered && !me.isDestroyed) { + if (animate === true || (animate !== false && me.animate)) { + me.bar.stopAnimation(); + me.bar.animate(Ext.apply({ + from: { + width: (oldValue * 100) + '%' + }, + to: { + width: (me.value * 100) + '%' + } + }, me.animate)); + } else { + me.bar.setStyle('width', (me.value * 100) + '%'); + } + } + me.fireEvent('update', me, me.value, text); + return me; + }, + + + updateText: function(text) { + var me = this; + + me.text = text; + if (me.rendered) { + me.textEl.update(me.text); + } + return me; + }, + + applyText : function(text) { + this.updateText(text); + }, + + getText: function(){ + return this.text; + }, + + + wait: function(o) { + var me = this, scope; + + if (!me.waitTimer) { + scope = me; + o = o || {}; + me.updateText(o.text); + me.waitTimer = Ext.TaskManager.start({ + run: function(i){ + var inc = o.increment || 10; + i -= 1; + me.updateProgress(((((i+inc)%inc)+1)*(100/inc))*0.01, null, o.animate); + }, + interval: o.interval || 1000, + duration: o.duration, + onStop: function(){ + if (o.fn) { + o.fn.apply(o.scope || me); + } + me.reset(); + }, + scope: scope + }); + } + return me; + }, + + + isWaiting: function(){ + return this.waitTimer !== null; + }, + + + reset: function(hide){ + var me = this; + + me.updateProgress(0); + me.clearTimer(); + if (hide === true) { + me.hide(); + } + return me; + }, + + + clearTimer: function(){ + var me = this; + + if (me.waitTimer) { + me.waitTimer.onStop = null; + Ext.TaskManager.stop(me.waitTimer); + me.waitTimer = null; + } + }, + + onDestroy: function(){ + var me = this; + + me.clearTimer(); + if (me.rendered) { + if (me.textEl.isComposite) { + me.textEl.clear(); + } + Ext.destroyMembers(me, 'textEl', 'progressBar'); + } + me.callParent(); + } +}); + + +Ext.define('Ext.ShadowPool', { + singleton: true, + requires: ['Ext.DomHelper'], + + markup: (function() { + return Ext.String.format( + '', + Ext.baseCSSPrefix, + Ext.isIE && !Ext.supports.CSS3BoxShadow ? 'ie' : 'css' + ); + }()), + + shadows: [], + + pull: function() { + var sh = this.shadows.shift(); + if (!sh) { + sh = Ext.get(Ext.DomHelper.insertHtml("beforeBegin", document.body.firstChild, this.markup)); + sh.autoBoxAdjust = false; + } + return sh; + }, + + push: function(sh) { + this.shadows.push(sh); + }, + + reset: function() { + var shadows = [].concat(this.shadows), + s, + sLen = shadows.length; + + for (s = 0; s < sLen; s++) { + shadows[s].remove(); + } + + this.shadows = []; + } +}); + + +Ext.define('Ext.Shadow', { + requires: ['Ext.ShadowPool'], + + + constructor: function(config) { + var me = this, + adjusts, + offset, + rad; + + Ext.apply(me, config); + if (!Ext.isString(me.mode)) { + me.mode = me.defaultMode; + } + offset = me.offset; + rad = Math.floor(offset / 2); + me.opacity = 50; + switch (me.mode.toLowerCase()) { + + case "drop": + if (Ext.supports.CSS3BoxShadow) { + adjusts = { + t: offset, + l: offset, + h: -offset, + w: -offset + }; + } + else { + adjusts = { + t: -rad, + l: -rad, + h: -rad, + w: -rad + }; + } + break; + case "sides": + if (Ext.supports.CSS3BoxShadow) { + adjusts = { + t: offset, + l: 0, + h: -offset, + w: 0 + }; + } + else { + adjusts = { + t: - (1 + rad), + l: 1 + rad - 2 * offset, + h: -1, + w: rad - 1 + }; + } + break; + case "frame": + if (Ext.supports.CSS3BoxShadow) { + adjusts = { + t: 0, + l: 0, + h: 0, + w: 0 + }; + } + else { + adjusts = { + t: 1 + rad - 2 * offset, + l: 1 + rad - 2 * offset, + h: offset - rad - 1, + w: offset - rad - 1 + }; + } + break; + } + me.adjusts = adjusts; + }, + + + getShadowSize: function() { + var me = this, + offset = me.el ? me.offset : 0, + result = [offset, offset, offset, offset], + mode = me.mode.toLowerCase(); + + + if (me.el && mode !== 'frame') { + result[0] = 0; + if (mode == 'drop') { + result[3] = 0; + } + } + return result; + }, + + + + + offset: 4, + + + defaultMode: "drop", + + + boxShadowProperty: (function() { + var property = 'boxShadow', + style = document.documentElement.style; + + if (!('boxShadow' in style)) { + if ('WebkitBoxShadow' in style) { + + property = 'WebkitBoxShadow'; + } + else if ('MozBoxShadow' in style) { + + property = 'MozBoxShadow'; + } + } + + return property; + }()), + + + show: function(target) { + var me = this, + index; + + target = Ext.get(target); + if (!me.el) { + me.el = Ext.ShadowPool.pull(); + if (me.el.dom.nextSibling != target.dom) { + me.el.insertBefore(target); + } + } + index = (parseInt(target.getStyle("z-index"), 10) - 1) || 0; + me.el.setStyle("z-index", me.zIndex || index); + if (Ext.isIE && !Ext.supports.CSS3BoxShadow) { + me.el.dom.style.filter = "progid:DXImageTransform.Microsoft.alpha(opacity=" + me.opacity + ") progid:DXImageTransform.Microsoft.Blur(pixelradius=" + (me.offset) + ")"; + } + me.realign( + target.getLocalX(), + target.getLocalY(), + target.dom.offsetWidth, + target.dom.offsetHeight + ); + me.el.dom.style.display = "block"; + }, + + + isVisible: function() { + return this.el ? true: false; + }, + + + realign: function(l, t, targetWidth, targetHeight) { + if (!this.el) { + return; + } + var adjusts = this.adjusts, + d = this.el.dom, + targetStyle = d.style, + shadowWidth, + shadowHeight, + sws, + shs; + + targetStyle.left = (l + adjusts.l) + "px"; + targetStyle.top = (t + adjusts.t) + "px"; + shadowWidth = Math.max(targetWidth + adjusts.w, 0); + shadowHeight = Math.max(targetHeight + adjusts.h, 0); + sws = shadowWidth + "px"; + shs = shadowHeight + "px"; + if (targetStyle.width != sws || targetStyle.height != shs) { + targetStyle.width = sws; + targetStyle.height = shs; + + if (Ext.supports.CSS3BoxShadow) { + targetStyle[this.boxShadowProperty] = '0 0 ' + this.offset + 'px #888'; + } + } + }, + + + hide: function() { + var me = this; + + if (me.el) { + me.el.dom.style.display = "none"; + Ext.ShadowPool.push(me.el); + delete me.el; + } + }, + + + setZIndex: function(z) { + this.zIndex = z; + if (this.el) { + this.el.setStyle("z-index", z); + } + }, + + + setOpacity: function(opacity){ + if (this.el) { + if (Ext.isIE && !Ext.supports.CSS3BoxShadow) { + opacity = Math.floor(opacity * 100 / 2) / 100; + } + this.opacity = opacity; + this.el.setOpacity(opacity); + } + } +}); + + +Ext.define('Ext.app.Controller', { + + mixins: { + observable: 'Ext.util.Observable' + }, + + + + + + + + + + + + onClassExtended: function(cls, data, hooks) { + var className = Ext.getClassName(cls), + match = className.match(/^(.*)\.controller\./), + namespace, + onBeforeClassCreated, + requires, + modules, + namespaceAndModule; + + if (match !== null) { + namespace = Ext.Loader.getPrefix(className) || match[1]; + onBeforeClassCreated = hooks.onBeforeCreated; + requires = []; + modules = ['model', 'view', 'store']; + + hooks.onBeforeCreated = function(cls, data) { + var i, ln, module, + items, j, subLn, item; + + for (i = 0,ln = modules.length; i < ln; i++) { + module = modules[i]; + namespaceAndModule = namespace + '.' + module + '.'; + + items = Ext.Array.from(data[module + 's']); + + for (j = 0,subLn = items.length; j < subLn; j++) { + item = items[j]; + + + + + + + + if (item.indexOf('.') !== -1 && (Ext.ClassManager.isCreated(item) || Ext.Loader.isAClassNameWithAKnownPrefix(item))) { + requires.push(item); + } else { + requires.push(namespaceAndModule + item); + } + } + } + + Ext.require(requires, Ext.Function.pass(onBeforeClassCreated, arguments, this)); + }; + } + }, + + + constructor: function(config) { + this.mixins.observable.constructor.call(this, config); + + Ext.apply(this, config || {}); + this.createGetters('model', this.models); + this.createGetters('store', this.stores); + this.createGetters('view', this.views); + + if (this.refs) { + this.ref(this.refs); + } + }, + + + init: Ext.emptyFn, + + + onLaunch: Ext.emptyFn, + + createGetters: function(type, refs) { + type = Ext.String.capitalize(type); + + var i = 0, + length = (refs) ? refs.length : 0, + fn, ref, parts, x, numParts; + + for (; i < length; i++) { + fn = 'get'; + ref = refs[i]; + parts = ref.split('.'); + numParts = parts.length; + + + for (x = 0 ; x < numParts; x++) { + fn += Ext.String.capitalize(parts[x]); + } + + fn += type; + + if (!this[fn]) { + this[fn] = Ext.Function.pass(this['get' + type], [ref], this); + } + + this[fn](ref); + } + }, + + ref: function(refs) { + refs = Ext.Array.from(refs); + + var me = this, + i = 0, + length = refs.length, + info, ref, fn; + + me.references = me.references || []; + + for (; i < length; i++) { + info = refs[i]; + ref = info.ref; + fn = 'get' + Ext.String.capitalize(ref); + + if (!me[fn]) { + me[fn] = Ext.Function.pass(me.getRef, [ref, info], me); + } + me.references.push(ref.toLowerCase()); + } + }, + + + addRef: function(ref) { + return this.ref([ref]); + }, + + getRef: function(ref, info, config) { + this.refCache = this.refCache || {}; + info = info || {}; + config = config || {}; + + Ext.apply(info, config); + + if (info.forceCreate) { + return Ext.ComponentManager.create(info, 'component'); + } + + var me = this, + cached = me.refCache[ref]; + + if (!cached) { + me.refCache[ref] = cached = Ext.ComponentQuery.query(info.selector)[0]; + if (!cached && info.autoCreate) { + me.refCache[ref] = cached = Ext.ComponentManager.create(info, 'component'); + } + if (cached) { + cached.on('beforedestroy', function() { + me.refCache[ref] = null; + }); + } + } + + return cached; + }, + + + hasRef: function(ref) { + return this.references && this.references.indexOf(ref.toLowerCase()) !== -1; + }, + + + control: function(selectors, listeners) { + this.application.control(selectors, listeners, this); + }, + + + getController: function(name) { + return this.application.getController(name); + }, + + + getStore: function(name) { + return this.application.getStore(name); + }, + + + getModel: function(model) { + return this.application.getModel(model); + }, + + + getView: function(view) { + return this.application.getView(view); + } +}); + + +Ext.define('Ext.data.IdGenerator', { + + + isGenerator: true, + + + constructor: function(config) { + var me = this; + + Ext.apply(me, config); + + if (me.id) { + Ext.data.IdGenerator.all[me.id] = me; + } + }, + + + + getRecId: function (rec) { + return rec.modelName + '-' + rec.internalId; + }, + + + + statics: { + + all: {}, + + + get: function (config) { + var generator, + id, + type; + + if (typeof config == 'string') { + id = type = config; + config = null; + } else if (config.isGenerator) { + return config; + } else { + id = config.id || config.type; + type = config.type; + } + + generator = this.all[id]; + if (!generator) { + generator = Ext.create('idgen.' + type, config); + } + + return generator; + } + } +}); + + +Ext.define('Ext.data.SortTypes', { + + singleton: true, + + + none : function(s) { + return s; + }, + + + stripTagsRE : /<\/?[^>]+>/gi, + + + asText : function(s) { + return String(s).replace(this.stripTagsRE, ""); + }, + + + asUCText : function(s) { + return String(s).toUpperCase().replace(this.stripTagsRE, ""); + }, + + + asUCString : function(s) { + return String(s).toUpperCase(); + }, + + + asDate : function(s) { + if(!s){ + return 0; + } + if(Ext.isDate(s)){ + return s.getTime(); + } + return Date.parse(String(s)); + }, + + + asFloat : function(s) { + var val = parseFloat(String(s).replace(/,/g, "")); + return isNaN(val) ? 0 : val; + }, + + + asInt : function(s) { + var val = parseInt(String(s).replace(/,/g, ""), 10); + return isNaN(val) ? 0 : val; + } +}); + + +Ext.define('Ext.data.Types', { + singleton: true, + requires: ['Ext.data.SortTypes'] +}, function() { + var st = Ext.data.SortTypes; + + Ext.apply(Ext.data.Types, { + + stripRe: /[\$,%]/g, + + + AUTO: { + sortType: st.none, + type: 'auto' + }, + + + STRING: { + convert: function(v) { + var defaultValue = this.useNull ? null : ''; + return (v === undefined || v === null) ? defaultValue : String(v); + }, + sortType: st.asUCString, + type: 'string' + }, + + + INT: { + convert: function(v) { + return v !== undefined && v !== null && v !== '' ? + parseInt(String(v).replace(Ext.data.Types.stripRe, ''), 10) : (this.useNull ? null : 0); + }, + sortType: st.none, + type: 'int' + }, + + + FLOAT: { + convert: function(v) { + return v !== undefined && v !== null && v !== '' ? + parseFloat(String(v).replace(Ext.data.Types.stripRe, ''), 10) : (this.useNull ? null : 0); + }, + sortType: st.none, + type: 'float' + }, + + + BOOL: { + convert: function(v) { + if (this.useNull && (v === undefined || v === null || v === '')) { + return null; + } + return v === true || v === 'true' || v == 1; + }, + sortType: st.none, + type: 'bool' + }, + + + DATE: { + convert: function(v) { + var df = this.dateFormat, + parsed; + + if (!v) { + return null; + } + if (Ext.isDate(v)) { + return v; + } + if (df) { + if (df == 'timestamp') { + return new Date(v*1000); + } + if (df == 'time') { + return new Date(parseInt(v, 10)); + } + return Ext.Date.parse(v, df); + } + + parsed = Date.parse(v); + return parsed ? new Date(parsed) : null; + }, + sortType: st.asDate, + type: 'date' + } + }); + + Ext.apply(Ext.data.Types, { + + BOOLEAN: this.BOOL, + + + INTEGER: this.INT, + + + NUMBER: this.FLOAT + }); +}); + + +Ext.define('Ext.data.Field', { + requires: ['Ext.data.Types', 'Ext.data.SortTypes'], + alias: 'data.field', + + isField: true, + + constructor : function(config) { + var me = this, + types = Ext.data.Types, + st; + + if (Ext.isString(config)) { + config = {name: config}; + } + Ext.apply(me, config); + + st = me.sortType; + + if (me.type) { + if (Ext.isString(me.type)) { + me.type = types[me.type.toUpperCase()] || types.AUTO; + } + } else { + me.type = types.AUTO; + } + + + if (Ext.isString(st)) { + me.sortType = Ext.data.SortTypes[st]; + } else if(Ext.isEmpty(st)) { + me.sortType = me.type.sortType; + } + + + if (!config.hasOwnProperty('convert')) { + me.convert = me.type.convert; + } else if (!me.convert && me.type.convert && !config.hasOwnProperty('defaultValue')) { + + + me.defaultValue = me.type.convert(me.defaultValue); + } + + if (config.convert) { + me.hasCustomConvert = true; + } + }, + + + + + + + + + + + dateFormat: null, + + + useNull: false, + + + defaultValue: "", + + + mapping: null, + + + sortType : null, + + + sortDir : "ASC", + + + allowBlank : true, + + + persist: true +}); + + +Ext.define('Ext.data.Errors', { + extend: 'Ext.util.MixedCollection', + + + isValid: function() { + return this.length === 0; + }, + + + getByField: function(fieldName) { + var errors = [], + error, field, i; + + for (i = 0; i < this.length; i++) { + error = this.items[i]; + + if (error.field == fieldName) { + errors.push(error); + } + } + + return errors; + } +}); + + +Ext.define('Ext.data.Operation', { + + synchronous: true, + + + action: undefined, + + + filters: undefined, + + + sorters: undefined, + + + groupers: undefined, + + + start: undefined, + + + limit: undefined, + + + batch: undefined, + + + + + callback: undefined, + + + scope: undefined, + + + started: false, + + + running: false, + + + complete: false, + + + success: undefined, + + + exception: false, + + + error: undefined, + + + actionCommitRecordsRe: /^(?:create|update)$/i, + + + actionSkipSyncRe: /^destroy$/i, + + + constructor: function(config) { + Ext.apply(this, config || {}); + }, + + + commitRecords: function (serverRecords) { + var me = this, + mc, index, clientRecords, serverRec, clientRec, i, len; + + if (!me.actionSkipSyncRe.test(me.action)) { + clientRecords = me.records; + + if (clientRecords && clientRecords.length) { + if (clientRecords.length > 1) { + + + + + if (me.action == 'update' || clientRecords[0].clientIdProperty) { + mc = new Ext.util.MixedCollection(); + mc.addAll(serverRecords); + + for (index = clientRecords.length; index--; ) { + clientRec = clientRecords[index]; + serverRec = mc.findBy(me.matchClientRec, clientRec); + + + clientRec.copyFrom(serverRec); + } + } else { + for (i = 0, len = clientRecords.length; i < len; ++i) { + clientRec = clientRecords[i]; + serverRec = serverRecords[i]; + if (clientRec && serverRec) { + me.updateRecord(clientRec, serverRec); + } + } + } + } else { + + this.updateRecord(clientRecords[0], serverRecords[0]); + } + + if (me.actionCommitRecordsRe.test(me.action)) { + for (index = clientRecords.length; index--; ) { + clientRecords[index].commit(); + } + } + } + } + }, + + updateRecord: function(clientRec, serverRec) { + + if(serverRec && (clientRec.phantom || clientRec.getId() === serverRec.getId())) { + clientRec.copyFrom(serverRec); + } + }, + + + + + matchClientRec: function(record) { + var clientRec = this, + clientRecordId = clientRec.getId(); + + if(clientRecordId && record.getId() === clientRecordId) { + return true; + } + + + + return record.internalId === clientRec.internalId; + }, + + + setStarted: function() { + this.started = true; + this.running = true; + }, + + + setCompleted: function() { + this.complete = true; + this.running = false; + }, + + + setSuccessful: function() { + this.success = true; + }, + + + setException: function(error) { + this.exception = true; + this.success = false; + this.running = false; + this.error = error; + }, + + + hasException: function() { + return this.exception === true; + }, + + + getError: function() { + return this.error; + }, + + + getRecords: function() { + var resultSet = this.getResultSet(); + return this.records || (resultSet ? resultSet.records : null); + }, + + + getResultSet: function() { + return this.resultSet; + }, + + + isStarted: function() { + return this.started === true; + }, + + + isRunning: function() { + return this.running === true; + }, + + + isComplete: function() { + return this.complete === true; + }, + + + wasSuccessful: function() { + return this.isComplete() && this.success === true; + }, + + + setBatch: function(batch) { + this.batch = batch; + }, + + + allowWrite: function() { + return this.action != 'read'; + } +}); + + +Ext.define('Ext.data.validations', { + singleton: true, + + + presenceMessage: 'must be present', + + + lengthMessage: 'is the wrong length', + + + formatMessage: 'is the wrong format', + + + inclusionMessage: 'is not included in the list of acceptable values', + + + exclusionMessage: 'is not an acceptable value', + + + emailMessage: 'is not a valid email address', + + + emailRe: /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/, + + + presence: function(config, value) { + + if (arguments.length === 1) { + value = config; + } + + + return !!value || value === 0; + }, + + + length: function(config, value) { + if (value === undefined || value === null) { + return false; + } + + var length = value.length, + min = config.min, + max = config.max; + + if ((min && length < min) || (max && length > max)) { + return false; + } else { + return true; + } + }, + + + email: function(config, email) { + return Ext.data.validations.emailRe.test(email); + }, + + + format: function(config, value) { + return !!(config.matcher && config.matcher.test(value)); + }, + + + inclusion: function(config, value) { + return config.list && Ext.Array.indexOf(config.list,value) != -1; + }, + + + exclusion: function(config, value) { + return config.list && Ext.Array.indexOf(config.list,value) == -1; + } +}); + + +Ext.define('Ext.data.Model', { + alternateClassName: 'Ext.data.Record', + + mixins: { + observable: 'Ext.util.Observable' + }, + + requires: [ + 'Ext.ModelManager', + 'Ext.data.IdGenerator', + 'Ext.data.Field', + 'Ext.data.Errors', + 'Ext.data.Operation', + 'Ext.data.validations', + 'Ext.util.MixedCollection' + ], + + compareConvertFields: function(f1, f2) { + var f1SpecialConvert = f1.convert && f1.type && f1.convert !== f1.type.convert, + f2SpecialConvert = f2.convert && f2.type && f2.convert !== f2.type.convert; + + if (f1SpecialConvert && !f2SpecialConvert) { + return 1; + } + + if (!f1SpecialConvert && f2SpecialConvert) { + return -1; + } + return 0; + }, + + itemNameFn: function(item) { + return item.name; + }, + + onClassExtended: function(cls, data, hooks) { + var onBeforeClassCreated = hooks.onBeforeCreated; + + hooks.onBeforeCreated = function(cls, data) { + var me = this, + name = Ext.getClassName(cls), + prototype = cls.prototype, + superCls = cls.prototype.superclass, + + validations = data.validations || [], + fields = data.fields || [], + field, + associationsConfigs = data.associations || [], + addAssociations = function(items, type) { + var i = 0, + len, + item; + + if (items) { + items = Ext.Array.from(items); + + for (len = items.length; i < len; ++i) { + item = items[i]; + + if (!Ext.isObject(item)) { + item = {model: item}; + } + + item.type = type; + associationsConfigs.push(item); + } + } + }, + idgen = data.idgen, + + fieldsMixedCollection = new Ext.util.MixedCollection(false, prototype.itemNameFn), + + associationsMixedCollection = new Ext.util.MixedCollection(false, prototype.itemNameFn), + + superValidations = superCls.validations, + superFields = superCls.fields, + superAssociations = superCls.associations, + + associationConfig, i, ln, + dependencies = [], + idProperty = data.idProperty || cls.prototype.idProperty, + + + onFieldAddReplace = function(arg0, arg1, arg2) { + var newField, + pos; + + if (fieldsMixedCollection.events.add.firing) { + + pos = arg0; + newField = arg1; + } else { + + newField = arg2; + pos = arg1.originalIndex; + } + + + + newField.originalIndex = pos; + + + + + if (newField.mapping === idProperty || (newField.mapping == null && newField.name === idProperty)) { + newField.defaultValue = undefined; + } + }, + + + clsProxy = data.proxy || cls.prototype.proxy || cls.prototype.defaultProxyType, + + + fieldConvertSortFn = function() { + fieldsMixedCollection.sortBy(prototype.compareConvertFields); + }; + + + cls.modelName = name; + prototype.modelName = name; + + + if (superValidations) { + validations = superValidations.concat(validations); + } + + data.validations = validations; + + + if (superFields) { + fields = superFields.items.concat(fields); + } + + fieldsMixedCollection.on({ + add: onFieldAddReplace, + replace: onFieldAddReplace + }); + + for (i = 0, ln = fields.length; i < ln; ++i) { + field = fields[i]; + fieldsMixedCollection.add(field.isField ? field : new Ext.data.Field(field)); + } + if (!fieldsMixedCollection.get(idProperty)) { + fieldsMixedCollection.add(new Ext.data.Field(idProperty)); + } + + + fieldConvertSortFn(); + fieldsMixedCollection.on({ + add: fieldConvertSortFn, + replace: fieldConvertSortFn + }); + + data.fields = fieldsMixedCollection; + + if (idgen) { + data.idgen = Ext.data.IdGenerator.get(idgen); + } + + + + addAssociations(data.belongsTo, 'belongsTo'); + delete data.belongsTo; + addAssociations(data.hasMany, 'hasMany'); + delete data.hasMany; + addAssociations(data.hasOne, 'hasOne'); + delete data.hasOne; + + if (superAssociations) { + associationsConfigs = superAssociations.items.concat(associationsConfigs); + } + + for (i = 0, ln = associationsConfigs.length; i < ln; ++i) { + dependencies.push('association.' + associationsConfigs[i].type.toLowerCase()); + } + + + if (clsProxy && !clsProxy.isProxy) { + + dependencies.push('proxy.' + (typeof clsProxy === 'string' ? clsProxy : clsProxy.type)); + } + + Ext.require(dependencies, function() { + Ext.ModelManager.registerType(name, cls); + + for (i = 0, ln = associationsConfigs.length; i < ln; ++i) { + associationConfig = associationsConfigs[i]; + if (associationConfig.isAssociation) { + associationConfig = Ext.applyIf({ + ownerModel: name, + associatedModel: associationConfig.model + }, associationConfig.initialConfig); + } else { + Ext.apply(associationConfig, { + ownerModel: name, + associatedModel: associationConfig.model + }); + } + + if (Ext.ModelManager.getModel(associationConfig.model) === undefined) { + Ext.ModelManager.registerDeferredAssociation(associationConfig); + } else { + associationsMixedCollection.add(Ext.data.association.Association.create(associationConfig)); + } + } + + data.associations = associationsMixedCollection; + + + + + + + onBeforeClassCreated.call(me, cls, data, hooks); + + cls.setProxy(clsProxy); + + + Ext.ModelManager.onModelDefined(cls); + }); + }; + }, + + inheritableStatics: { + + setProxy: function(proxy) { + + if (!proxy.isProxy) { + if (typeof proxy == "string") { + proxy = { + type: proxy + }; + } + proxy = Ext.createByAlias("proxy." + proxy.type, proxy); + } + proxy.setModel(this); + this.proxy = this.prototype.proxy = proxy; + + return proxy; + }, + + + getProxy: function() { + return this.proxy; + }, + + + setFields: function(fields, idProperty, clientIdProperty) { + var me = this, + proto = me.prototype, + prototypeFields = proto.fields, + len = fields ? fields.length : 0, + i = 0; + + + if (idProperty) { + proto.idProperty = idProperty; + } + if (clientIdProperty) { + proto.clientIdProperty = clientIdProperty; + } + + if (prototypeFields) { + prototypeFields.clear(); + } + else { + prototypeFields = me.prototype.fields = new Ext.util.MixedCollection(false, function(field) { + return field.name; + }); + } + + for (; i < len; i++) { + prototypeFields.add(new Ext.data.Field(fields[i])); + } + if (!prototypeFields.get(proto.idProperty)) { + prototypeFields.add(new Ext.data.Field(proto.idProperty)); + } + + me.fields = prototypeFields; + + return prototypeFields; + }, + + + getFields: function() { + return this.prototype.fields.items; + }, + + + load: function(id, config) { + config = Ext.apply({}, config); + config = Ext.applyIf(config, { + action: 'read', + id : id + }); + + var operation = new Ext.data.Operation(config), + scope = config.scope || this, + record = null, + callback; + + callback = function(operation) { + if (operation.wasSuccessful()) { + record = operation.getRecords()[0]; + Ext.callback(config.success, scope, [record, operation]); + } else { + Ext.callback(config.failure, scope, [record, operation]); + } + Ext.callback(config.callback, scope, [record, operation]); + }; + + this.proxy.read(operation, callback, this); + } + }, + + statics: { + + PREFIX : 'ext-record', + + AUTO_ID: 1, + + EDIT : 'edit', + + REJECT : 'reject', + + COMMIT : 'commit', + + + id: function(rec) { + var id = [this.PREFIX, '-', this.AUTO_ID++].join(''); + rec.phantom = true; + rec.internalId = id; + return id; + } + }, + + + idgen: { + isGenerator: true, + type: 'default', + + generate: function () { + return null; + }, + getRecId: function (rec) { + return rec.modelName + '-' + rec.internalId; + } + }, + + + editing : false, + + + dirty : false, + + + persistenceProperty: 'data', + + evented: false, + + + isModel: true, + + + phantom : false, + + + idProperty: 'id', + + + clientIdProperty: null, + + + defaultProxyType: 'ajax', + + + + + + + + + + + + + + + + + constructor: function(data, id, raw, convertedData) { + + + + + data = data || {}; + + var me = this, + fields, + length, + field, + name, + value, + newId, + persistenceProperty, + i; + + + + me.internalId = (id || id === 0) ? id : Ext.data.Model.id(me); + + + me.raw = raw || data; + + if (!me.data) { + me.data = {}; + } + + + me.modified = {}; + + + if (me.persistanceProperty) { + me.persistenceProperty = me.persistanceProperty; + } + + me[me.persistenceProperty] = convertedData || {}; + + me.mixins.observable.constructor.call(me); + + if (!convertedData) { + + fields = me.fields.items; + length = fields.length; + i = 0; + persistenceProperty = me[me.persistenceProperty]; + + if (Ext.isArray(data)) { + for (; i < length; i++) { + field = fields[i]; + name = field.name; + + + + value = data[field.originalIndex]; + + if (value === undefined) { + value = field.defaultValue; + } + + + if (field.convert) { + value = field.convert(value, me); + } + + if (value !== undefined) { + persistenceProperty[name] = value; + } + } + + } else { + for (; i < length; i++) { + field = fields[i]; + name = field.name; + value = data[name]; + if (value === undefined) { + value = field.defaultValue; + } + if (field.convert) { + value = field.convert(value, me); + } + + if (value !== undefined) { + persistenceProperty[name] = value; + } + } + } + } + + + me.stores = []; + + if (me.getId()) { + me.phantom = false; + } else if (me.phantom) { + newId = me.idgen.generate(); + if (newId !== null) { + me.setId(newId); + } + } + + + me.dirty = false; + me.modified = {}; + + if (typeof me.init == 'function') { + me.init(); + } + + me.id = me.idgen.getRecId(me); + }, + + + get: function(field) { + return this[this.persistenceProperty][field]; + }, + + + + + _singleProp: {}, + + + set: function (fieldName, newValue) { + var me = this, + data = me[me.persistenceProperty], + fields = me.fields, + modified = me.modified, + single = (typeof fieldName == 'string'), + currentValue, field, idChanged, key, modifiedFieldNames, name, oldId, + newId, value, values; + + if (single) { + values = me._singleProp; + values[fieldName] = newValue; + } else { + values = fieldName; + } + + for (name in values) { + if (values.hasOwnProperty(name)) { + value = values[name]; + + if (fields && (field = fields.get(name)) && field.convert) { + value = field.convert(value, me); + } + + currentValue = data[name]; + if (me.isEqual(currentValue, value)) { + continue; + } + + data[name] = value; + (modifiedFieldNames || (modifiedFieldNames = [])).push(name); + + if (field && field.persist) { + if (modified.hasOwnProperty(name)) { + if (me.isEqual(modified[name], value)) { + + + delete modified[name]; + + + + + me.dirty = false; + for (key in modified) { + if (modified.hasOwnProperty(key)){ + me.dirty = true; + break; + } + } + } + } else { + me.dirty = true; + modified[name] = currentValue; + } + } + + if (name == me.idProperty) { + idChanged = true; + oldId = currentValue; + newId = value; + } + } + } + + if (single) { + + + delete values[fieldName]; + } + + if (idChanged) { + me.fireEvent('idchanged', me, oldId, newId); + } + + if (!me.editing && modifiedFieldNames) { + me.afterEdit(modifiedFieldNames); + } + + return modifiedFieldNames || null; + }, + + + copyFrom: function(sourceRecord) { + if (sourceRecord) { + + var me = this, + fields = me.fields.items, + fieldCount = fields.length, + field, i = 0, + myData = me[me.persistenceProperty], + sourceData = sourceRecord[sourceRecord.persistenceProperty], + value; + + for (; i < fieldCount; i++) { + field = fields[i]; + + + + + + + value = sourceData[field.name]; + if (value !== undefined) { + myData[field.name] = value; + } + } + + + if (me.phantom && !sourceRecord.phantom) { + me.setId(sourceRecord.getId()); + } + } + }, + + + isEqual: function(a, b){ + if (Ext.isDate(a) && Ext.isDate(b)) { + return Ext.Date.isEqual(a, b); + } + return a === b; + }, + + + beginEdit : function(){ + var me = this; + if (!me.editing) { + me.editing = true; + me.dirtySave = me.dirty; + me.dataSave = Ext.apply({}, me[me.persistenceProperty]); + me.modifiedSave = Ext.apply({}, me.modified); + } + }, + + + cancelEdit : function(){ + var me = this; + if (me.editing) { + me.editing = false; + + me.modified = me.modifiedSave; + me[me.persistenceProperty] = me.dataSave; + me.dirty = me.dirtySave; + delete me.modifiedSave; + delete me.dataSave; + delete me.dirtySave; + } + }, + + + endEdit : function(silent, modifiedFieldNames){ + var me = this, + changed; + if (me.editing) { + me.editing = false; + if(!modifiedFieldNames) { + modifiedFieldNames = me.getModifiedFieldNames(); + } + changed = me.dirty || modifiedFieldNames.length > 0; + delete me.modifiedSave; + delete me.dataSave; + delete me.dirtySave; + if (changed && silent !== true) { + me.afterEdit(modifiedFieldNames); + } + } + }, + + + getModifiedFieldNames: function(){ + var me = this, + saved = me.dataSave, + data = me[me.persistenceProperty], + modified = [], + key; + + for (key in data) { + if (data.hasOwnProperty(key)) { + if (!me.isEqual(data[key], saved[key])) { + modified.push(key); + } + } + } + return modified; + }, + + + getChanges : function(){ + var modified = this.modified, + changes = {}, + field; + + for (field in modified) { + if (modified.hasOwnProperty(field)){ + changes[field] = this.get(field); + } + } + + return changes; + }, + + + isModified : function(fieldName) { + return this.modified.hasOwnProperty(fieldName); + }, + + + setDirty : function() { + var me = this, + fields = me.fields.items, + fLen = fields.length, + field, name, f; + + me.dirty = true; + + for (f = 0; f < fLen; f++) { + field = fields[f]; + + if (field.persist) { + name = field.name; + me.modified[name] = me.get(name); + } + } + }, + + + + reject : function(silent) { + var me = this, + modified = me.modified, + field; + + for (field in modified) { + if (modified.hasOwnProperty(field)) { + if (typeof modified[field] != "function") { + me[me.persistenceProperty][field] = modified[field]; + } + } + } + + me.dirty = false; + me.editing = false; + me.modified = {}; + + if (silent !== true) { + me.afterReject(); + } + }, + + + commit : function(silent) { + var me = this; + + me.phantom = me.dirty = me.editing = false; + me.modified = {}; + + if (silent !== true) { + me.afterCommit(); + } + }, + + + copy : function(newId) { + var me = this; + + + + return new me.self(me.raw, newId, null, Ext.apply({}, me[me.persistenceProperty])); + }, + + + setProxy: function(proxy) { + + if (!proxy.isProxy) { + if (typeof proxy === "string") { + proxy = { + type: proxy + }; + } + proxy = Ext.createByAlias("proxy." + proxy.type, proxy); + } + proxy.setModel(this.self); + this.proxy = proxy; + + return proxy; + }, + + + getProxy: function() { + return this.proxy; + }, + + + validate: function() { + var errors = new Ext.data.Errors(), + validations = this.validations, + validators = Ext.data.validations, + length, validation, field, valid, type, i; + + if (validations) { + length = validations.length; + + for (i = 0; i < length; i++) { + validation = validations[i]; + field = validation.field || validation.name; + type = validation.type; + valid = validators[type](validation, this.get(field)); + + if (!valid) { + errors.add({ + field : field, + message: validation.message || validators[type + 'Message'] + }); + } + } + } + + return errors; + }, + + + isValid: function(){ + return this.validate().isValid(); + }, + + + save: function(options) { + options = Ext.apply({}, options); + + var me = this, + action = me.phantom ? 'create' : 'update', + scope = options.scope || me, + stores = me.stores, + i = 0, + storeCount, + store, + args, + operation, + callback; + + Ext.apply(options, { + records: [me], + action : action + }); + + operation = new Ext.data.Operation(options); + + callback = function(operation) { + args = [me, operation]; + if (operation.wasSuccessful()) { + for(storeCount = stores.length; i < storeCount; i++) { + store = stores[i]; + store.fireEvent('write', store, operation); + store.fireEvent('datachanged', store); + + } + Ext.callback(options.success, scope, args); + } else { + Ext.callback(options.failure, scope, args); + } + + Ext.callback(options.callback, scope, args); + }; + + me.getProxy()[action](operation, callback, me); + + return me; + }, + + + destroy: function(options){ + options = Ext.apply({}, options); + + var me = this, + scope = options.scope || me, + stores = me.stores, + i = 0, + storeCount, + store, + args, + operation, + callback; + + Ext.apply(options, { + records: [me], + action : 'destroy' + }); + + operation = new Ext.data.Operation(options); + callback = function(operation) { + args = [me, operation]; + if (operation.wasSuccessful()) { + for(storeCount = stores.length; i < storeCount; i++) { + store = stores[i]; + store.fireEvent('write', store, operation); + store.fireEvent('datachanged', store); + + } + me.clearListeners(); + Ext.callback(options.success, scope, args); + } else { + Ext.callback(options.failure, scope, args); + } + Ext.callback(options.callback, scope, args); + }; + + me.getProxy().destroy(operation, callback, me); + return me; + }, + + + getId: function() { + return this.get(this.idProperty); + }, + + + getObservableId: function() { + return this.id; + }, + + + setId: function(id) { + this.set(this.idProperty, id); + this.phantom = !(id || id === 0); + }, + + + join : function(store) { + Ext.Array.include(this.stores, store); + + + this.store = this.stores[0]; + }, + + + unjoin: function(store) { + Ext.Array.remove(this.stores, store); + this.store = this.stores[0] || null; + }, + + + afterEdit : function(modifiedFieldNames) { + this.callStore('afterEdit', modifiedFieldNames); + }, + + + afterReject : function() { + this.callStore("afterReject"); + }, + + + afterCommit: function() { + this.callStore('afterCommit'); + }, + + + callStore: function(fn) { + var args = Ext.Array.clone(arguments), + stores = this.stores, + i = 0, + len = stores.length, + store, treeStore; + + args[0] = this; + for (; i < len; ++i) { + store = stores[i]; + if (store && typeof store[fn] == "function") { + store[fn].apply(store, args); + } + + treeStore = store.treeStore; + if (treeStore && typeof treeStore[fn] == "function") { + treeStore[fn].apply(treeStore, args); + } + } + }, + + + getData: function(includeAssociated){ + var me = this, + fields = me.fields.items, + fLen = fields.length, + data = {}, + name, f; + + for (f = 0; f < fLen; f++) { + name = fields[f].name; + data[name] = me.get(name); + } + + if (includeAssociated === true) { + Ext.apply(data, me.getAssociatedData()); + } + return data; + }, + + + getAssociatedData: function(){ + return this.prepareAssociatedData({}, 1); + }, + + + prepareAssociatedData: function(seenKeys, depth) { + + var me = this, + associations = me.associations.items, + associationCount = associations.length, + associationData = {}, + + + + toRead = [], + toReadKey = [], + toReadIndex = [], + associatedStore, associatedRecords, associatedRecord, o, index, result, seenDepth, + associationId, associatedRecordCount, association, i, j, type, name; + + for (i = 0; i < associationCount; i++) { + association = associations[i]; + associationId = association.associationId; + + seenDepth = seenKeys[associationId]; + if (seenDepth && seenDepth !== depth) { + continue; + } + seenKeys[associationId] = depth; + + type = association.type; + name = association.name; + if (type == 'hasMany') { + + associatedStore = me[association.storeName]; + + + associationData[name] = []; + + + if (associatedStore && associatedStore.getCount() > 0) { + associatedRecords = associatedStore.data.items; + associatedRecordCount = associatedRecords.length; + + + + for (j = 0; j < associatedRecordCount; j++) { + associatedRecord = associatedRecords[j]; + associationData[name][j] = associatedRecord.getData(); + toRead.push(associatedRecord); + toReadKey.push(name); + toReadIndex.push(j); + } + } + } else if (type == 'belongsTo' || type == 'hasOne') { + associatedRecord = me[association.instanceName]; + + if (associatedRecord !== undefined) { + associationData[name] = associatedRecord.getData(); + toRead.push(associatedRecord); + toReadKey.push(name); + toReadIndex.push(-1); + } + } + } + + for (i = 0, associatedRecordCount = toRead.length; i < associatedRecordCount; ++i) { + associatedRecord = toRead[i]; + o = associationData[toReadKey[i]]; + index = toReadIndex[i]; + result = associatedRecord.prepareAssociatedData(seenKeys, depth + 1); + if (index === -1) { + Ext.apply(o, result); + } else { + Ext.apply(o[index], result); + } + } + + return associationData; + } +}); + + +Ext.define('Ext.data.StoreManager', { + extend: 'Ext.util.MixedCollection', + alternateClassName: ['Ext.StoreMgr', 'Ext.data.StoreMgr', 'Ext.StoreManager'], + singleton: true, + uses: ['Ext.data.ArrayStore'], + + + + + register : function() { + for (var i = 0, s; (s = arguments[i]); i++) { + this.add(s); + } + }, + + + unregister : function() { + for (var i = 0, s; (s = arguments[i]); i++) { + this.remove(this.lookup(s)); + } + }, + + + lookup : function(store) { + + if (Ext.isArray(store)) { + var fields = ['field1'], + expand = !Ext.isArray(store[0]), + data = store, + i, + len; + + if(expand){ + data = []; + for (i = 0, len = store.length; i < len; ++i) { + data.push([store[i]]); + } + } else { + for(i = 2, len = store[0].length; i <= len; ++i){ + fields.push('field' + i); + } + } + return new Ext.data.ArrayStore({ + data : data, + fields: fields, + autoDestroy: true, + autoCreated: true, + expanded: expand + }); + } + + if (Ext.isString(store)) { + + return this.get(store); + } else { + + return Ext.data.AbstractStore.create(store); + } + }, + + + getKey : function(o) { + return o.storeId; + } +}, function() { + + Ext.regStore = function(name, config) { + var store; + + if (Ext.isObject(name)) { + config = name; + } else { + config.storeId = name; + } + + if (config instanceof Ext.data.Store) { + store = config; + } else { + store = new Ext.data.Store(config); + } + + return Ext.data.StoreManager.register(store); + }; + + + Ext.getStore = function(name) { + return Ext.data.StoreManager.lookup(name); + }; +}); + + +Ext.define('Ext.layout.component.Dock', { + + + + extend: 'Ext.layout.component.Component', + + alias: 'layout.dock', + + alternateClassName: 'Ext.layout.component.AbstractDock', + + + + type: 'dock', + + initializedBorders: -1, + + horizontalCollapsePolicy: { width: true, x: true }, + + verticalCollapsePolicy: { height: true, y: true }, + + finishRender: function () { + var me = this, + target, items; + + me.callParent(); + + target = me.getRenderTarget(); + items = me.getDockedItems(); + + me.finishRenderItems(target, items); + }, + + isItemBoxParent: function (itemContext) { + return true; + }, + + isItemShrinkWrap: function (item) { + return true; + }, + + dockOpposites: { + top: 'bottom', + right: 'left', + bottom: 'top', + left: 'right' + }, + + handleItemBorders: function() { + var me = this, + owner = me.owner, + borders, docked, + oldBorders = me.borders, + opposites = me.dockOpposites, + currentGeneration = owner.dockedItems.generation, + i, ln, item, dock, side, borderItem, + collapsed = me.collapsed; + + if (me.initializedBorders == currentGeneration || (owner.border && !owner.manageBodyBorders)) { + return; + } + + me.initializedBorders = currentGeneration; + + + me.collapsed = false; + docked = me.getLayoutItems(); + me.collapsed = collapsed; + + borders = { top: [], right: [], bottom: [], left: [] }; + + for (i = 0, ln = docked.length; i < ln; i++) { + item = docked[i]; + dock = item.dock; + + if (item.ignoreBorderManagement) { + continue; + } + + if (!borders[dock].satisfied) { + borders[dock].push(item); + borders[dock].satisfied = true; + } + + if (!borders.top.satisfied && opposites[dock] !== 'top') { + borders.top.push(item); + } + if (!borders.right.satisfied && opposites[dock] !== 'right') { + borders.right.push(item); + } + if (!borders.bottom.satisfied && opposites[dock] !== 'bottom') { + borders.bottom.push(item); + } + if (!borders.left.satisfied && opposites[dock] !== 'left') { + borders.left.push(item); + } + } + + if (oldBorders) { + for (side in oldBorders) { + if (oldBorders.hasOwnProperty(side)) { + ln = oldBorders[side].length; + if (!owner.manageBodyBorders) { + for (i = 0; i < ln; i++) { + borderItem = oldBorders[side][i]; + if (!borderItem.isDestroyed) { + borderItem.removeCls(Ext.baseCSSPrefix + 'docked-noborder-' + side); + } + } + if (!oldBorders[side].satisfied && !owner.bodyBorder) { + owner.removeBodyCls(Ext.baseCSSPrefix + 'docked-noborder-' + side); + } + } + else if (oldBorders[side].satisfied) { + owner.setBodyStyle('border-' + side + '-width', ''); + } + } + } + } + + for (side in borders) { + if (borders.hasOwnProperty(side)) { + ln = borders[side].length; + if (!owner.manageBodyBorders) { + for (i = 0; i < ln; i++) { + borders[side][i].addCls(Ext.baseCSSPrefix + 'docked-noborder-' + side); + } + if ((!borders[side].satisfied && !owner.bodyBorder) || owner.bodyBorder === false) { + owner.addBodyCls(Ext.baseCSSPrefix + 'docked-noborder-' + side); + } + } + else if (borders[side].satisfied) { + owner.setBodyStyle('border-' + side + '-width', '1px'); + } + } + } + + me.borders = borders; + }, + + beforeLayoutCycle: function (ownerContext) { + var me = this, + owner = me.owner, + shrinkWrap = me.sizeModels.shrinkWrap, + collapsedHorz, collapsedVert; + + if (owner.collapsed) { + if (owner.collapsedVertical()) { + collapsedVert = true; + ownerContext.measureDimensions = 1; + } else { + collapsedHorz = true; + ownerContext.measureDimensions = 2; + } + } + + ownerContext.collapsedVert = collapsedVert; + ownerContext.collapsedHorz = collapsedHorz; + + + + + + if (collapsedVert) { + ownerContext.heightModel = shrinkWrap; + } else if (collapsedHorz) { + ownerContext.widthModel = shrinkWrap; + } + }, + + beginLayout: function(ownerContext) { + var me = this, + owner = me.owner, + docked = me.getLayoutItems(), + layoutContext = ownerContext.context, + dockedItemCount = docked.length, + dockedItems, i, item, itemContext, offsets, + collapsed; + + me.callParent(arguments); + + me.handleItemBorders(); + + + + collapsed = owner.getCollapsed(); + if (collapsed !== me.lastCollapsedState && Ext.isDefined(me.lastCollapsedState)) { + + if (me.owner.collapsed) { + ownerContext.isCollapsingOrExpanding = 1; + + owner.addClsWithUI(owner.collapsedCls); + } else { + ownerContext.isCollapsingOrExpanding = 2; + + owner.removeClsWithUI(owner.collapsedCls); + ownerContext.lastCollapsedState = me.lastCollapsedState; + } + } + me.lastCollapsedState = collapsed; + + ownerContext.dockedItems = dockedItems = []; + + for (i = 0; i < dockedItemCount; i++) { + item = docked[i]; + if (item.rendered) { + itemContext = layoutContext.getCmp(item); + itemContext.dockedAt = { x: 0, y: 0 }; + itemContext.offsets = offsets = Ext.Element.parseBox(item.offsets || {}); + offsets.width = offsets.left + offsets.right; + offsets.height = offsets.top + offsets.bottom; + dockedItems.push(itemContext); + } + } + + ownerContext.bodyContext = ownerContext.getEl('body'); + }, + + beginLayoutCycle: function(ownerContext) { + var me = this, + docked = ownerContext.dockedItems, + len = docked.length, + owner = me.owner, + frameBody = owner.frameBody, + lastHeightModel = me.lastHeightModel, + i, item, dock; + + me.callParent(arguments); + + if (lastHeightModel && lastHeightModel.shrinkWrap && + !ownerContext.heightModel.shrinkWrap && !me.owner.manageHeight) { + owner.body.dom.style.marginBottom = ''; + } + + if (ownerContext.widthModel.auto) { + if (ownerContext.widthModel.shrinkWrap) { + owner.el.setWidth(null); + } + owner.body.setWidth(null); + if (frameBody) { + frameBody.setWidth(null); + } + } + if (ownerContext.heightModel.auto) { + owner.body.setHeight(null); + + if (frameBody) { + frameBody.setHeight(null); + } + } + + + + if (ownerContext.collapsedVert) { + ownerContext.setContentHeight(0); + } else if (ownerContext.collapsedHorz) { + ownerContext.setContentWidth(0); + } + + + + for (i = 0; i < len; i++) { + item = docked[i].target; + dock = item.dock; + + if (dock == 'right') { + item.el.setLeft(0); + } else if (dock != 'left') { + continue; + } + + + } + }, + + calculate: function (ownerContext) { + var me = this, + measure = me.measureAutoDimensions(ownerContext, ownerContext.measureDimensions), + state = ownerContext.state, + horzDone = state.horzDone, + vertDone = state.vertDone, + bodyContext = ownerContext.bodyContext, + horz, vert, forward, backward; + + + ownerContext.borderInfo || ownerContext.getBorderInfo(); + ownerContext.paddingInfo || ownerContext.getPaddingInfo(); + ownerContext.framingInfo || ownerContext.getFraming(); + bodyContext.borderInfo || bodyContext.getBorderInfo(); + bodyContext.paddingInfo || bodyContext.getPaddingInfo(); + + + + horz = !horzDone && + me.createAxis(ownerContext, measure.contentWidth, ownerContext.widthModel, + 'left', 'right', 'x', 'width', 'Width', ownerContext.collapsedHorz); + vert = !vertDone && + me.createAxis(ownerContext, measure.contentHeight, ownerContext.heightModel, + 'top', 'bottom', 'y', 'height', 'Height', ownerContext.collapsedVert); + + + + + + + + + + for (forward = 0, backward = ownerContext.dockedItems.length; backward--; ++forward) { + if (horz) { + me.dockChild(ownerContext, horz, backward, forward); + } + if (vert) { + me.dockChild(ownerContext, vert, backward, forward); + } + } + + if (horz && me.finishAxis(ownerContext, horz)) { + state.horzDone = horzDone = horz; + } + + if (vert && me.finishAxis(ownerContext, vert)) { + state.vertDone = vertDone = vert; + } + + + + if (horzDone && vertDone && me.finishConstraints(ownerContext, horzDone, vertDone)) { + + + + me.finishPositions(ownerContext, horzDone, vertDone); + } else { + me.done = false; + } + }, + + + createAxis: function (ownerContext, contentSize, sizeModel, dockBegin, dockEnd, posProp, + sizeProp, sizePropCap, collapsedAxis) { + var begin = 0, + owner = this.owner, + maxSize = owner['max' + sizePropCap], + minSize = owner['min' + sizePropCap] || 0, + hasMaxSize = maxSize != null, + setSize = 'set' + sizePropCap, + border, bodyContext, frameSize, padding, end; + + if (sizeModel.shrinkWrap) { + + + if (collapsedAxis) { + end = 0; + } else { + bodyContext = ownerContext.bodyContext; + end = contentSize + bodyContext.borderInfo[sizeProp]; + } + } else { + border = ownerContext.borderInfo; + frameSize = ownerContext.framingInfo; + padding = ownerContext.paddingInfo; + + end = ownerContext.getProp(sizeProp); + end -= border[dockEnd] + padding[dockEnd] + frameSize[dockEnd]; + + begin = border[dockBegin] + padding[dockBegin] + frameSize[dockBegin]; + } + + return { + shrinkWrap: sizeModel.shrinkWrap, + sizeModel: sizeModel, + + begin: begin, + end: end, + collapsed: collapsedAxis, + horizontal: posProp == 'x', + ignoreFrameBegin: false, + ignoreFrameEnd: false, + initialSize: end - begin, + hasMinMaxConstraints: (minSize || hasMaxSize) && sizeModel.shrinkWrap, + minSize: minSize, + maxSize: hasMaxSize ? maxSize : 1e9, + bodyPosProp: this.owner.manageHeight ? posProp : ('margin-' + dockBegin), + dockBegin: dockBegin, + dockEnd: dockEnd, + posProp: posProp, + sizeProp: sizeProp, + sizePropCap: sizePropCap, + setSize: setSize, + dockedPixelsEnd: 0 + }; + }, + + + dockChild: function (ownerContext, axis, backward, forward) { + var me = this, + itemContext = ownerContext.dockedItems[axis.shrinkWrap ? backward : forward], + item = itemContext.target, + dock = item.dock, + pos; + + if(item.ignoreParentFrame && ownerContext.isCollapsingOrExpanding) { + + + itemContext.clearMarginCache(); + } + + if (dock == axis.dockBegin) { + if (axis.shrinkWrap) { + pos = me.dockOutwardBegin(ownerContext, itemContext, item, axis); + } else { + pos = me.dockInwardBegin(ownerContext, itemContext, item, axis); + } + } else if (dock == axis.dockEnd) { + if (axis.shrinkWrap) { + pos = me.dockOutwardEnd(ownerContext, itemContext, item, axis); + } else { + pos = me.dockInwardEnd(ownerContext, itemContext, item, axis); + } + } else { + pos = me.dockStretch(ownerContext, itemContext, item, axis); + } + + itemContext.dockedAt[axis.posProp] = pos; + }, + + + dockInwardBegin: function (ownerContext, itemContext, item, axis) { + var pos = axis.begin, + sizeProp = axis.sizeProp, + size, + dock; + + if (item.ignoreParentFrame) { + dock = item.dock; + pos -= ownerContext.borderInfo[dock] + ownerContext.paddingInfo[dock] + + ownerContext.framingInfo[dock]; + } + + if (!item.overlay) { + size = itemContext.getProp(sizeProp) + itemContext.getMarginInfo()[sizeProp]; + axis.begin += size; + } + + return pos; + }, + + + dockInwardEnd: function (ownerContext, itemContext, item, axis) { + var sizeProp = axis.sizeProp, + size = itemContext.getProp(sizeProp) + itemContext.getMarginInfo()[sizeProp], + pos = axis.end - size; + + if (!item.overlay) { + axis.end = pos; + } + + if (item.ignoreParentFrame) { + pos += ownerContext.borderInfo[item.dock] + ownerContext.paddingInfo[item.dock] + + ownerContext.framingInfo[item.dock]; + } + + return pos; + }, + + + dockOutwardBegin: function (ownerContext, itemContext, item, axis) { + var pos = axis.begin, + sizeProp = axis.sizeProp, + dock, size; + + if (axis.collapsed) { + axis.ignoreFrameBegin = axis.ignoreFrameEnd = true; + } else if (item.ignoreParentFrame) { + dock = item.dock; + pos -= ownerContext.borderInfo[dock] + ownerContext.paddingInfo[dock] + + ownerContext.framingInfo[dock]; + + axis.ignoreFrameBegin = true; + } + + if (!item.overlay) { + size = itemContext.getProp(sizeProp) + itemContext.getMarginInfo()[sizeProp]; + pos -= size; + axis.begin = pos; + } + + return pos; + }, + + + dockOutwardEnd: function (ownerContext, itemContext, item, axis) { + var pos = axis.end, + sizeProp = axis.sizeProp, + dock, size; + + size = itemContext.getProp(sizeProp) + itemContext.getMarginInfo()[sizeProp]; + + if (axis.collapsed) { + axis.ignoreFrameBegin = axis.ignoreFrameEnd = true; + } else if (item.ignoreParentFrame) { + dock = item.dock; + pos += ownerContext.borderInfo[dock] + ownerContext.paddingInfo[dock] + + ownerContext.framingInfo[dock]; + + axis.ignoreFrameEnd = true; + } + + if (!item.overlay) { + axis.end = pos + size; + axis.dockedPixelsEnd += size; + } + + return pos; + }, + + + dockStretch: function (ownerContext, itemContext, item, axis) { + var dock = item.dock, + sizeProp = axis.sizeProp, + horizontal = dock == 'top' || dock == 'bottom', + offsets = itemContext.offsets, + border = ownerContext.borderInfo, + padding = ownerContext.paddingInfo, + endProp = horizontal ? 'right' : 'bottom', + startProp = horizontal ? 'left' : 'top', + pos = axis.begin + offsets[startProp], + margin, size, framing; + + if (item.stretch !== false) { + size = axis.end - pos - offsets[endProp]; + + if (item.ignoreParentFrame) { + framing = ownerContext.framingInfo; + pos -= border[startProp] + padding[startProp] + framing[startProp]; + size += border[sizeProp] + padding[sizeProp] + framing[sizeProp]; + } + + margin = itemContext.getMarginInfo(); + size -= margin[sizeProp]; + + itemContext[axis.setSize](size); + } + + return pos; + }, + + + finishAxis: function (ownerContext, axis) { + var size = axis.end - axis.begin, + setSizeMethod = axis.setSize, + beginName = axis.dockBegin, + endName = axis.dockEnd, + border = ownerContext.borderInfo, + padding = ownerContext.paddingInfo, + framing = ownerContext.framingInfo, + frameSize = padding[beginName] + border[beginName] + framing[beginName], + bodyContext = ownerContext.bodyContext, + bodyPos, bodySize, dirty; + + if (axis.shrinkWrap) { + + + + axis.delta = -axis.begin; + + bodySize = axis.initialSize; + + if (axis.ignoreFrameBegin) { + axis.delta -= border[beginName]; + bodyPos = -axis.begin - frameSize; + } else { + size += frameSize; + axis.delta += padding[beginName] + framing[beginName]; + bodyPos = -axis.begin; + } + + if (!axis.ignoreFrameEnd) { + size += padding[endName] + border[endName] + framing[endName]; + } + + axis.size = size; + + if (!axis.horizontal && !this.owner.manageHeight) { + + + dirty = false; + } + } else { + + + axis.delta = -border[axis.dockBegin]; + + + bodySize = size; + bodyPos = axis.begin - frameSize; + } + + bodyContext[setSizeMethod](bodySize, dirty); + bodyContext.setProp(axis.bodyPosProp, bodyPos); + + return !isNaN(size); + }, + + + finishConstraints: function (ownerContext, horz, vert) { + var sizeModels = this.sizeModels, + publishWidth = horz.shrinkWrap, + publishHeight = vert.shrinkWrap, + dirty, height, width, heightModel, widthModel, size; + + if (publishWidth) { + size = horz.size; + + if (size < horz.minSize) { + widthModel = sizeModels.constrainedMin; + width = horz.minSize; + } else if (size > horz.maxSize) { + widthModel = sizeModels.constrainedMax; + width = horz.maxSize; + } else { + width = size; + } + } + + if (publishHeight) { + size = vert.size; + + if (size < vert.minSize) { + heightModel = sizeModels.constrainedMin; + height = vert.minSize; + } else if (size > vert.maxSize) { + heightModel = sizeModels.constrainedMax; + height = vert.maxSize; + } else { + if (!ownerContext.collapsedVert && !this.owner.manageHeight) { + + + dirty = false; + + + ownerContext.bodyContext.setProp('margin-bottom', vert.dockedPixelsEnd); + } + + height = size; + } + } + + + + if (widthModel || heightModel) { + + + if (widthModel && heightModel && + widthModel.constrainedMax && heightModel.constrainedMin) { + ownerContext.invalidate({ widthModel: widthModel }); + return false; + } + + + + + if (!ownerContext.widthModel.calculatedFromShrinkWrap && + !ownerContext.heightModel.calculatedFromShrinkWrap) { + + ownerContext.invalidate({ widthModel: widthModel, heightModel: heightModel }); + return false; + } + + + + + } + + + + if (publishWidth) { + ownerContext.setWidth(width); + if (widthModel) { + ownerContext.widthModel = widthModel; + } + } + if (publishHeight) { + ownerContext.setHeight(height, dirty); + if (heightModel) { + ownerContext.heightModel = heightModel; + } + } + + return true; + }, + + + finishPositions: function (ownerContext, horz, vert) { + var dockedItems = ownerContext.dockedItems, + length = dockedItems.length, + deltaX = horz.delta, + deltaY = vert.delta, + index, itemContext; + + for (index = 0; index < length; ++index) { + itemContext = dockedItems[index]; + + itemContext.setProp('x', deltaX + itemContext.dockedAt.x); + itemContext.setProp('y', deltaY + itemContext.dockedAt.y); + } + }, + + finishedLayout: function(ownerContext) { + var me = this, + target = ownerContext.target; + + me.callParent(arguments); + + if (!ownerContext.animatePolicy) { + if (ownerContext.isCollapsingOrExpanding === 1) { + target.afterCollapse(false); + } else if (ownerContext.isCollapsingOrExpanding === 2) { + target.afterExpand(false); + } + } + }, + + getAnimatePolicy: function(ownerContext) { + var me = this, + lastCollapsedState, policy; + + if (ownerContext.isCollapsingOrExpanding == 1) { + lastCollapsedState = me.lastCollapsedState; + } else if (ownerContext.isCollapsingOrExpanding == 2) { + lastCollapsedState = ownerContext.lastCollapsedState; + } + + if (lastCollapsedState == 'left' || lastCollapsedState == 'right') { + policy = me.horizontalCollapsePolicy; + } else if (lastCollapsedState == 'top' || lastCollapsedState == 'bottom') { + policy = me.verticalCollapsePolicy; + } + + return policy; + }, + + + getDockedItems: function(order, beforeBody) { + var me = this, + renderedOnly = (order === 'visual'), + all = renderedOnly ? Ext.ComponentQuery.query('[rendered]', me.owner.dockedItems.items) : me.owner.dockedItems.items, + sort = all && all.length && order !== false, + renderOrder, + dock, dockedItems, i, isBefore, length; + + if (beforeBody == null) { + dockedItems = sort && !renderedOnly ? all.slice() : all; + } else { + dockedItems = []; + + for (i = 0, length = all.length; i < length; ++i) { + dock = all[i].dock; + isBefore = (dock == 'top' || dock == 'left'); + if (beforeBody ? isBefore : !isBefore) { + dockedItems.push(all[i]); + } + } + + sort = sort && dockedItems.length; + } + + if (sort) { + renderOrder = (order = order || 'render') == 'render'; + Ext.Array.sort(dockedItems, function(a, b) { + var aw, + bw; + + + + if (renderOrder && ((aw = me.owner.dockOrder[a.dock]) !== (bw = me.owner.dockOrder[b.dock]))) { + + + if (!(aw + bw)) { + return aw - bw; + } + } + + aw = me.getItemWeight(a, order); + bw = me.getItemWeight(b, order); + if ((aw !== undefined) && (bw !== undefined)) { + return aw - bw; + } + return 0; + }); + } + + return dockedItems || []; + }, + + getItemWeight: function (item, order) { + var weight = item.weight || this.owner.defaultDockWeights[item.dock]; + return weight[order] || weight; + }, + + + getLayoutItems : function() { + var me = this, + items, + itemCount, + item, + i, + result; + + if (me.owner.collapsed) { + result = me.owner.getCollapsedDockedItems(); + } else { + items = me.getDockedItems('visual'); + itemCount = items.length; + result = []; + for (i = 0; i < itemCount; i++) { + item = items[i]; + if (!item.hidden) { + result.push(item); + } + } + } + return result; + }, + + + measureContentWidth: function (ownerContext) { + var bodyContext = ownerContext.bodyContext; + return bodyContext.el.getWidth() - bodyContext.getBorderInfo().width; + }, + + measureContentHeight: function (ownerContext) { + var bodyContext = ownerContext.bodyContext; + return bodyContext.el.getHeight() - bodyContext.getBorderInfo().height; + }, + + redoLayout: function(ownerContext) { + var me = this, + owner = me.owner; + + + if (ownerContext.isCollapsingOrExpanding == 1) { + if (owner.reExpander) { + owner.reExpander.el.show(); + } + + owner.addClsWithUI(owner.collapsedCls); + ownerContext.redo(true); + } else if (ownerContext.isCollapsingOrExpanding == 2) { + + owner.removeClsWithUI(owner.collapsedCls); + ownerContext.bodyContext.redo(); + } + }, + + + + renderChildren: function() { + var me = this, + items = me.getDockedItems(), + target = me.getRenderTarget(); + + me.renderItems(items, target); + }, + + + renderItems: function(items, target) { + var me = this, + dockedItemCount = items.length, + itemIndex = 0, + correctPosition = 0, + staticNodeCount = 0, + targetNodes = me.getRenderTarget().dom.childNodes, + targetChildCount = targetNodes.length, + i, j, targetChildNode, item; + + + for (i = 0, j = 0; i < targetChildCount; i++) { + targetChildNode = targetNodes[i]; + if (Ext.fly(targetChildNode).hasCls('x-resizable-handle')) { + break; + } + for (j = 0; j < dockedItemCount; j++) { + item = items[j]; + if (item.rendered && item.el.dom === targetChildNode) { + break; + } + } + + + if (j === dockedItemCount) { + staticNodeCount++; + } + } + + + for (; itemIndex < dockedItemCount; itemIndex++, correctPosition++) { + item = items[itemIndex]; + + + + + + + + + if (itemIndex === correctPosition && (item.dock === 'right' || item.dock === 'bottom')) { + correctPosition += staticNodeCount; + } + + + if (item && !item.rendered) { + me.renderItem(item, target, correctPosition); + } + else if (!me.isValidParent(item, target, correctPosition)) { + me.moveItem(item, target, correctPosition); + } + } + }, + + undoLayout: function(ownerContext) { + var me = this, + owner = me.owner; + + + if (ownerContext.isCollapsingOrExpanding == 1) { + + + if (owner.reExpander) { + owner.reExpander.el.hide(); + } + + owner.removeClsWithUI(owner.collapsedCls); + ownerContext.undo(true); + } else if (ownerContext.isCollapsingOrExpanding == 2) { + + owner.addClsWithUI(owner.collapsedCls); + ownerContext.bodyContext.undo(); + } + }, + + sizePolicy: { + nostretch: { + setsWidth: 0, + setsHeight: 0 + }, + stretchH: { + setsWidth: 1, + setsHeight: 0 + }, + stretchV: { + setsWidth: 0, + setsHeight: 1 + }, + + + + + + + + + + + + + + + + + + + + + + + autoStretchH: { + readsWidth: 1, + setsWidth: 1, + setsHeight: 0 + }, + autoStretchV: { + readsHeight: 1, + setsWidth: 0, + setsHeight: 1 + } + }, + + getItemSizePolicy: function (item) { + var policy = this.sizePolicy, + dock, vertical; + + if (item.stretch === false) { + return policy.nostretch; + } + + dock = item.dock; + vertical = (dock == 'left' || dock == 'right'); + + + + if (vertical) { + return policy.stretchV; + } + + return policy.stretchH; + }, + + + configureItem : function(item, pos) { + this.callParent(arguments); + + item.addCls(Ext.baseCSSPrefix + 'docked'); + item.addClsWithUI('docked-' + item.dock); + }, + + afterRemove : function(item) { + this.callParent(arguments); + if (this.itemCls) { + item.el.removeCls(this.itemCls + '-' + item.dock); + } + var dom = item.el.dom; + + if (!item.destroying && dom) { + dom.parentNode.removeChild(dom); + } + this.childrenChanged = true; + } +}); + + +Ext.define('Ext.toolbar.Fill', { + extend: 'Ext.Component', + alias: 'widget.tbfill', + alternateClassName: 'Ext.Toolbar.Fill', + + isFill : true, + flex: 1 +}); + + +Ext.define('Ext.layout.container.boxOverflow.None', { + alternateClassName: 'Ext.layout.boxOverflow.None', + + constructor: function(layout, config) { + this.layout = layout; + Ext.apply(this, config); + }, + + handleOverflow: Ext.emptyFn, + + clearOverflow: Ext.emptyFn, + + beginLayout: Ext.emptyFn, + beginLayoutCycle: Ext.emptyFn, + finishedLayout: Ext.emptyFn, + + completeLayout: function (ownerContext) { + var me = this, + plan = ownerContext.state.boxPlan, + overflow; + + if (plan && plan.tooNarrow) { + overflow = me.handleOverflow(ownerContext); + + if (overflow) { + if (overflow.reservedSpace) { + me.layout.publishInnerCtSize(ownerContext, overflow.reservedSpace); + } + + + + + + + + + + + + } + } else { + me.clearOverflow(); + } + }, + + onRemove: Ext.emptyFn, + + + getItem: function(item) { + return this.layout.owner.getComponent(item); + }, + + getOwnerType: function(owner){ + var type; + if (owner.isToolbar) { + type = 'toolbar'; + } else if (owner.isTabBar) { + type = 'tabbar'; + } else if (owner.isMenu) { + type = 'menu'; + } else { + type = owner.getXType(); + } + + return type; + }, + + getPrefixConfig: Ext.emptyFn, + getSuffixConfig: Ext.emptyFn, + getOverflowCls: function() { + return ''; + } +}); + + +Ext.define('Ext.toolbar.Item', { + extend: 'Ext.Component', + alias: 'widget.tbitem', + alternateClassName: 'Ext.Toolbar.Item', + enable:Ext.emptyFn, + disable:Ext.emptyFn, + focus:Ext.emptyFn + +}); + + +Ext.define('Ext.toolbar.Separator', { + extend: 'Ext.toolbar.Item', + alias: 'widget.tbseparator', + alternateClassName: 'Ext.Toolbar.Separator', + baseCls: Ext.baseCSSPrefix + 'toolbar-separator', + focusable: false, + + border: true +}); + + +Ext.define('Ext.layout.component.Button', { + + + + alias: ['layout.button'], + + extend: 'Ext.layout.component.Auto', + + + + type: 'button', + + cellClsRE: /-btn-(tl|br)\b/, + htmlRE: /<.*>/, + + constructor: function () { + this.callParent(arguments); + + this.hackWidth = Ext.isIE && (!Ext.isStrict || Ext.isIE6 || Ext.isIE7 || Ext.isIE8); + this.heightIncludesPadding = Ext.isIE6 && Ext.isStrict; + }, + + + + beginLayout: function (ownerContext) { + this.callParent(arguments); + + this.cacheTargetInfo(ownerContext); + }, + + beginLayoutCycle: function(ownerContext) { + var me = this, + empty = '', + owner = me.owner, + btnEl = owner.btnEl, + btnInnerEl = owner.btnInnerEl, + text = owner.text, + htmlAutoHeight; + + me.callParent(arguments); + + btnInnerEl.setStyle('overflow', empty); + + + if (!ownerContext.widthModel.natural) { + owner.el.setStyle('width', empty); + } + + + + htmlAutoHeight = ownerContext.heightModel.shrinkWrap && text && me.htmlRE.test(text); + + btnEl.setStyle('width', empty); + btnEl.setStyle('height', htmlAutoHeight ? 'auto' : empty); + btnInnerEl.setStyle('width', empty); + btnInnerEl.setStyle('height', htmlAutoHeight ? 'auto' : empty); + btnInnerEl.setStyle('line-height', htmlAutoHeight ? 'normal' : empty); + btnInnerEl.setStyle('padding-top', empty); + owner.btnIconEl.setStyle('width', empty); + }, + + calculateOwnerHeightFromContentHeight: function (ownerContext, contentHeight) { + return contentHeight; + }, + + calculateOwnerWidthFromContentWidth: function (ownerContext, contentWidth) { + return contentWidth; + }, + + measureContentWidth: function (ownerContext) { + var me = this, + owner = me.owner, + btnEl = owner.btnEl, + btnInnerEl = owner.btnInnerEl, + text = owner.text, + btnFrameWidth, metrics, sizeIconEl, width, btnElContext, btnInnerElContext; + + + + + + if (owner.text && me.hackWidth && btnEl) { + btnFrameWidth = me.btnFrameWidth; + + + + + if (text.indexOf('>') === -1) { + text = text.replace(/= 0) { + btnInnerItem.setProp('line-height', btnHeight - btnFrameHeight + 'px'); + } + + + + + + + if (text && me.htmlRE.test(text)) { + btnInnerItem.setProp('line-height', 'normal'); + btnInnerEl.setStyle('line-height', 'normal'); + textHeight = Ext.util.TextMetrics.measure(btnInnerEl, text).height; + paddingTop = Math.floor(Math.max(btnHeight - btnFrameHeight - textHeight, 0) / 2); + btnInnerItem.setProp('padding-top', me.btnFrameTop + paddingTop); + btnInnerItem.setHeight(btnHeight - (me.heightIncludesPadding ? paddingTop : 0)); + } + }, + + publishInnerWidth: function(ownerContext, width) { + var me = this, + isNum = Ext.isNumber, + btnItem = ownerContext.getEl('btnEl'), + btnInnerItem = ownerContext.getEl('btnInnerEl'), + btnWidth = isNum(width) ? width - me.adjWidth : width; + + btnItem.setWidth(btnWidth); + btnInnerItem.setWidth(btnWidth); + }, + + clearTargetCache: function(){ + delete this.adjWidth; + }, + + cacheTargetInfo: function(ownerContext) { + var me = this, + owner = me.owner, + scale = owner.scale, + padding, frameSize, btnWrapPadding, btnInnerEl, innerFrameSize; + + + if (!('adjWidth' in me) || me.lastScale !== scale) { + + if (me.lastScale) { + owner.btnInnerEl.setStyle('line-height', ''); + } + + me.lastScale = scale; + + padding = ownerContext.getPaddingInfo(); + frameSize = ownerContext.getFrameInfo(); + btnWrapPadding = ownerContext.getEl('btnWrap').getPaddingInfo(); + btnInnerEl = ownerContext.getEl('btnInnerEl'); + innerFrameSize = btnInnerEl.getPaddingInfo(); + + Ext.apply(me, { + + adjWidth : btnWrapPadding.width + frameSize.width + padding.width, + adjHeight : btnWrapPadding.height + frameSize.height + padding.height, + btnFrameWidth : innerFrameSize.width, + btnFrameHeight : innerFrameSize.height, + btnFrameTop : innerFrameSize.top, + + + minTextHeight : parseInt(btnInnerEl.getStyle('line-height'), 10) + }); + } + + me.callParent(arguments); + }, + + finishedLayout: function(){ + var owner = this.owner; + this.callParent(arguments); + + + if (Ext.isWebKit) { + owner.el.dom.offsetWidth; + } + } +}); + + +Ext.define('Ext.menu.Manager', { + singleton: true, + requires: [ + 'Ext.util.MixedCollection', + 'Ext.util.KeyMap' + ], + alternateClassName: 'Ext.menu.MenuMgr', + + uses: ['Ext.menu.Menu'], + + menus: {}, + groups: {}, + attached: false, + lastShow: new Date(), + + init: function() { + var me = this; + + me.active = new Ext.util.MixedCollection(); + Ext.getDoc().addKeyListener(27, function() { + if (me.active.length > 0) { + me.hideAll(); + } + }, me); + }, + + + hideAll: function() { + var active = this.active, + clone, menus, m, mLen; + + if (active && active.length > 0) { + clone = active.clone(); + menus = clone.items; + mLen = menus.length; + + for (m = 0; m < mLen; m++) { + menus[m].hide(); + } + + return true; + } + return false; + }, + + onHide: function(m) { + var me = this, + active = me.active; + active.remove(m); + if (active.length < 1) { + Ext.getDoc().un('mousedown', me.onMouseDown, me); + me.attached = false; + } + }, + + onShow: function(m) { + var me = this, + active = me.active, + last = active.last(), + attached = me.attached, + menuEl = m.getEl(), + zIndex; + + me.lastShow = new Date(); + active.add(m); + if (!attached) { + Ext.getDoc().on('mousedown', me.onMouseDown, me, { + + + buffer: Ext.isIE ? 10 : undefined + }); + me.attached = true; + } + m.toFront(); + }, + + onBeforeHide: function(m) { + if (m.activeChild) { + m.activeChild.hide(); + } + if (m.autoHideTimer) { + clearTimeout(m.autoHideTimer); + delete m.autoHideTimer; + } + }, + + onBeforeShow: function(m) { + var active = this.active, + parentMenu = m.parentMenu; + + active.remove(m); + if (!parentMenu && !m.allowOtherMenus) { + this.hideAll(); + } + else if (parentMenu && parentMenu.activeChild && m != parentMenu.activeChild) { + parentMenu.activeChild.hide(); + } + }, + + + onMouseDown: function(e) { + var me = this, + active = me.active, + lastShow = me.lastShow; + + if (Ext.Date.getElapsed(lastShow) > 50 && active.length > 0 && !e.getTarget('.' + Ext.baseCSSPrefix + 'menu')) { + me.hideAll(); + } + }, + + + register: function(menu) { + var me = this; + + if (!me.active) { + me.init(); + } + + if (menu.floating) { + me.menus[menu.id] = menu; + menu.on({ + beforehide: me.onBeforeHide, + hide: me.onHide, + beforeshow: me.onBeforeShow, + show: me.onShow, + scope: me + }); + } + }, + + + get: function(menu) { + var menus = this.menus; + + if (typeof menu == 'string') { + if (!menus) { + return null; + } + return menus[menu]; + } else if (menu.isMenu) { + return menu; + } else if (Ext.isArray(menu)) { + return new Ext.menu.Menu({items:menu}); + } else { + return Ext.ComponentManager.create(menu, 'menu'); + } + }, + + + unregister: function(menu) { + var me = this, + menus = me.menus, + active = me.active; + + delete menus[menu.id]; + active.remove(menu); + menu.un({ + beforehide: me.onBeforeHide, + hide: me.onHide, + beforeshow: me.onBeforeShow, + show: me.onShow, + scope: me + }); + }, + + + registerCheckable: function(menuItem) { + var groups = this.groups, + groupId = menuItem.group; + + if (groupId) { + if (!groups[groupId]) { + groups[groupId] = []; + } + + groups[groupId].push(menuItem); + } + }, + + + unregisterCheckable: function(menuItem) { + var groups = this.groups, + groupId = menuItem.group; + + if (groupId) { + Ext.Array.remove(groups[groupId], menuItem); + } + }, + + onCheckChange: function(menuItem, state) { + var groups = this.groups, + groupId = menuItem.group, + i = 0, + group, ln, curr; + + if (groupId && state) { + group = groups[groupId]; + ln = group.length; + for (; i < ln; i++) { + curr = group[i]; + if (curr != menuItem) { + curr.setChecked(false); + } + } + } + } +}); + + +Ext.define('Ext.util.ClickRepeater', { + extend: 'Ext.util.Observable', + + + constructor : function(el, config){ + var me = this; + + me.el = Ext.get(el); + me.el.unselectable(); + + Ext.apply(me, config); + + me.callParent(); + + me.addEvents( + + "mousedown", + + "click", + + "mouseup" + ); + + if(!me.disabled){ + me.disabled = true; + me.enable(); + } + + + if(me.handler){ + me.on("click", me.handler, me.scope || me); + } + }, + + + + + + + + + interval : 20, + + + delay: 250, + + + preventDefault : true, + + + stopDefault : false, + + timer : 0, + + + enable: function(){ + if(this.disabled){ + this.el.on('mousedown', this.handleMouseDown, this); + + + if (Ext.isIE && !(Ext.isStrict && Ext.isIE9)){ + this.el.on('dblclick', this.handleDblClick, this); + } + if(this.preventDefault || this.stopDefault){ + this.el.on('click', this.eventOptions, this); + } + } + this.disabled = false; + }, + + + disable: function( force){ + if(force || !this.disabled){ + clearTimeout(this.timer); + if(this.pressedCls){ + this.el.removeCls(this.pressedCls); + } + Ext.getDoc().un('mouseup', this.handleMouseUp, this); + this.el.removeAllListeners(); + } + this.disabled = true; + }, + + + setDisabled: function(disabled){ + this[disabled ? 'disable' : 'enable'](); + }, + + eventOptions: function(e){ + if(this.preventDefault){ + e.preventDefault(); + } + if(this.stopDefault){ + e.stopEvent(); + } + }, + + + destroy : function() { + this.disable(true); + Ext.destroy(this.el); + this.clearListeners(); + }, + + handleDblClick : function(e){ + clearTimeout(this.timer); + this.el.blur(); + + this.fireEvent("mousedown", this, e); + this.fireEvent("click", this, e); + }, + + + handleMouseDown : function(e){ + clearTimeout(this.timer); + this.el.blur(); + if(this.pressedCls){ + this.el.addCls(this.pressedCls); + } + this.mousedownTime = new Date(); + + Ext.getDoc().on("mouseup", this.handleMouseUp, this); + this.el.on("mouseout", this.handleMouseOut, this); + + this.fireEvent("mousedown", this, e); + this.fireEvent("click", this, e); + + + if (this.accelerate) { + this.delay = 400; + } + + + + e = new Ext.EventObjectImpl(e); + + this.timer = Ext.defer(this.click, this.delay || this.interval, this, [e]); + }, + + + click : function(e){ + this.fireEvent("click", this, e); + this.timer = Ext.defer(this.click, this.accelerate ? + this.easeOutExpo(Ext.Date.getElapsed(this.mousedownTime), + 400, + -390, + 12000) : + this.interval, this, [e]); + }, + + easeOutExpo : function (t, b, c, d) { + return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b; + }, + + + handleMouseOut : function(){ + clearTimeout(this.timer); + if(this.pressedCls){ + this.el.removeCls(this.pressedCls); + } + this.el.on("mouseover", this.handleMouseReturn, this); + }, + + + handleMouseReturn : function(){ + this.el.un("mouseover", this.handleMouseReturn, this); + if(this.pressedCls){ + this.el.addCls(this.pressedCls); + } + this.click(); + }, + + + handleMouseUp : function(e){ + clearTimeout(this.timer); + this.el.un("mouseover", this.handleMouseReturn, this); + this.el.un("mouseout", this.handleMouseOut, this); + Ext.getDoc().un("mouseup", this.handleMouseUp, this); + if(this.pressedCls){ + this.el.removeCls(this.pressedCls); + } + this.fireEvent("mouseup", this, e); + } +}); + + +Ext.define('Ext.util.TextMetrics', { + statics: { + shared: null, + + measure: function(el, text, fixedWidth){ + var me = this, + shared = me.shared; + + if(!shared){ + shared = me.shared = new me(el, fixedWidth); + } + shared.bind(el); + shared.setFixedWidth(fixedWidth || 'auto'); + return shared.getSize(text); + }, + + + destroy: function(){ + var me = this; + Ext.destroy(me.shared); + me.shared = null; + } + }, + + + constructor: function(bindTo, fixedWidth){ + var measure = this.measure = Ext.getBody().createChild({ + cls: Ext.baseCSSPrefix + 'textmetrics' + }); + this.el = Ext.get(bindTo); + + measure.position('absolute'); + measure.setLeftTop(-1000, -1000); + measure.hide(); + + if (fixedWidth) { + measure.setWidth(fixedWidth); + } + }, + + + getSize: function(text){ + var measure = this.measure, + size; + + measure.update(text); + size = measure.getSize(); + measure.update(''); + return size; + }, + + + bind: function(el){ + var me = this; + + me.el = Ext.get(el); + me.measure.setStyle( + me.el.getStyles('font-size','font-style', 'font-weight', 'font-family','line-height', 'text-transform', 'letter-spacing') + ); + }, + + + setFixedWidth : function(width){ + this.measure.setWidth(width); + }, + + + getWidth : function(text){ + this.measure.dom.style.width = 'auto'; + return this.getSize(text).width; + }, + + + getHeight : function(text){ + return this.getSize(text).height; + }, + + + destroy: function(){ + var me = this; + me.measure.remove(); + delete me.el; + delete me.measure; + } +}, function(){ + Ext.Element.addMethods({ + + getTextWidth : function(text, min, max){ + return Ext.Number.constrain(Ext.util.TextMetrics.measure(this.dom, Ext.value(text, this.dom.innerHTML, true)).width, min || 0, max || 1000000); + } + }); +}); + + +Ext.define('Ext.button.Button', { + + + alias: 'widget.button', + extend: 'Ext.Component', + + requires: [ + 'Ext.menu.Manager', + 'Ext.util.ClickRepeater', + 'Ext.layout.component.Button', + 'Ext.util.TextMetrics', + 'Ext.util.KeyMap' + ], + + alternateClassName: 'Ext.Button', + + + + isButton: true, + componentLayout: 'button', + + + hidden: false, + + + disabled: false, + + + pressed: false, + + + + + + + + + + + + + + + + + + + + + + + + + + + enableToggle: false, + + + + + + + menuAlign: 'tl-bl?', + + + textAlign: 'center', + + + + + + + type: 'button', + + + clickEvent: 'click', + + + preventDefault: true, + + + handleMouseEvents: true, + + + tooltipType: 'qtip', + + + baseCls: Ext.baseCSSPrefix + 'btn', + + + pressedCls: 'pressed', + + + overCls: 'over', + + + focusCls: 'focus', + + + menuActiveCls: 'menu-active', + + + + + hrefTarget: '_blank', + + border: true, + + + + + + childEls: [ + 'btnEl', 'btnWrap', 'btnInnerEl', 'btnIconEl' + ], + + renderTpl: [ + ' class="{splitCls}">', + '', + ' tabIndex="{tabIndex}"', + ' disabled="disabled"', + ' role="link">', + '', + '{text}', + '', + ' style="background-image:url({iconUrl})">', + '', + '', + '', + '', + '', + '', + '', + '' + ], + + + scale: 'small', + + + allowedScales: ['small', 'medium', 'large'], + + + + + iconAlign: 'left', + + + arrowAlign: 'right', + + + arrowCls: 'arrow', + + + + + + + + maskOnDisable: false, + + + persistentPadding: undefined, + + shrinkWrap: 3, + + frame: true, + + + initComponent: function() { + var me = this; + me.callParent(arguments); + + me.addEvents( + + 'click', + + + 'toggle', + + + 'mouseover', + + + 'mouseout', + + + 'menushow', + + + 'menuhide', + + + 'menutriggerover', + + + 'menutriggerout' + ); + + if (me.menu) { + + me.split = true; + + + me.menu = Ext.menu.Manager.get(me.menu); + me.menu.ownerButton = me; + } + + + if (me.url) { + me.href = me.url; + } + + + if (me.href && !me.hasOwnProperty('preventDefault')) { + me.preventDefault = false; + } + + if (Ext.isString(me.toggleGroup) && me.toggleGroup !== '') { + me.enableToggle = true; + } + + if (me.html && !me.text) { + me.text = me.html; + delete me.html; + } + + }, + + + getActionEl: function() { + return this.btnEl; + }, + + + getFocusEl: function() { + return this.useElForFocus ? this.el : this.btnEl; + }, + + + onFocus: function(e) { + var me = this; + + + + me.useElForFocus = true; + me.callParent(arguments); + me.useElForFocus = false; + }, + + + onBlur : function(e) { + this.useElForFocus = true; + this.callParent(arguments); + this.useElForFocus = false; + }, + + + onDisable: function(){ + this.useElForFocus = true; + this.callParent(arguments); + this.useElForFocus = false; + }, + + + setComponentCls: function() { + var me = this, + cls = me.getComponentCls(); + + if (!Ext.isEmpty(me.oldCls)) { + me.removeClsWithUI(me.oldCls); + me.removeClsWithUI(me.pressedCls); + } + + me.oldCls = cls; + me.addClsWithUI(cls); + }, + + getComponentCls: function() { + var me = this, + cls = []; + + + if (me.iconCls || me.icon) { + if (me.text) { + cls.push('icon-text-' + me.iconAlign); + } else { + cls.push('icon'); + } + } else if (me.text) { + cls.push('noicon'); + } + + if (me.pressed) { + cls.push(me.pressedCls); + } + return cls; + }, + + beforeRender: function () { + var me = this; + + me.callParent(); + + + me.oldCls = me.getComponentCls(); + me.addClsWithUI(me.oldCls); + + + Ext.applyIf(me.renderData, me.getTemplateArgs()); + + if (me.scale) { + me.setScale(me.scale); + } + }, + + + onRender: function() { + var me = this, + addOnclick, + btn, + btnListeners; + + me.doc = Ext.getDoc(); + me.callParent(arguments); + + + if (me.split && me.arrowTooltip) { + me.arrowEl.dom.setAttribute(me.getTipAttr(), me.arrowTooltip); + } + + + btn = me.el; + + if (me.tooltip) { + me.setTooltip(me.tooltip, true); + } + + + if (me.handleMouseEvents) { + btnListeners = { + scope: me, + mouseover: me.onMouseOver, + mouseout: me.onMouseOut, + mousedown: me.onMouseDown + }; + if (me.split) { + btnListeners.mousemove = me.onMouseMove; + } + } else { + btnListeners = { + scope: me + }; + } + + + if (me.menu) { + me.mon(me.menu, { + scope: me, + show: me.onMenuShow, + hide: me.onMenuHide + }); + + me.keyMap = new Ext.util.KeyMap({ + target: me.el, + key: Ext.EventObject.DOWN, + handler: me.onDownKey, + scope: me + }); + } + + + if (me.repeat) { + me.mon(new Ext.util.ClickRepeater(btn, Ext.isObject(me.repeat) ? me.repeat: {}), 'click', me.onRepeatClick, me); + } else { + + + if (btnListeners[me.clickEvent]) { + addOnclick = true; + } else { + btnListeners[me.clickEvent] = me.onClick; + } + } + + + me.mon(btn, btnListeners); + + + if (addOnclick) { + me.mon(btn, me.clickEvent, me.onClick, me); + } + + + Ext.ButtonToggleManager.register(me); + }, + + + getTemplateArgs: function() { + var me = this, + persistentPadding = me.getPersistentPadding(), + innerSpanStyle = ''; + + + if (Math.max.apply(Math, persistentPadding) > 0) { + innerSpanStyle = 'margin:' + Ext.Array.map(persistentPadding, function(pad) { + return -pad + 'px'; + }).join(' '); + } + + return { + href : me.getHref(), + disabled : me.disabled, + hrefTarget: me.hrefTarget, + type : me.type, + btnCls : me.getBtnCls(), + splitCls : me.getSplitCls(), + iconUrl : me.icon, + iconCls : me.iconCls, + text : me.text || ' ', + tabIndex : me.tabIndex, + innerSpanStyle: innerSpanStyle + }; + }, + + + getHref: function() { + var me = this, + params = Ext.apply({}, me.baseParams); + + + params = Ext.apply(params, me.params); + return me.href ? Ext.urlAppend(me.href, Ext.Object.toQueryString(params)) : false; + }, + + + setParams: function(params) { + this.params = params; + this.btnEl.dom.href = this.getHref(); + }, + + getSplitCls: function() { + var me = this; + return me.split ? (me.baseCls + '-' + me.arrowCls) + ' ' + (me.baseCls + '-' + me.arrowCls + '-' + me.arrowAlign) : ''; + }, + + getBtnCls: function() { + return this.textAlign ? this.baseCls + '-' + this.textAlign : ''; + }, + + + setIconCls: function(cls) { + var me = this, + btnIconEl = me.btnIconEl, + oldCls = me.iconCls; + + me.iconCls = cls; + if (btnIconEl) { + + btnIconEl.removeCls(oldCls); + btnIconEl.addCls(cls || ''); + me.setComponentCls(); + if (me.didIconStateChange(oldCls, cls)) { + me.updateLayout(); + } + } + return me; + }, + + + setTooltip: function(tooltip, initial) { + var me = this; + + if (me.rendered) { + if (!initial) { + me.clearTip(); + } + if (Ext.isObject(tooltip)) { + Ext.tip.QuickTipManager.register(Ext.apply({ + target: me.btnEl.id + }, + tooltip)); + me.tooltip = tooltip; + } else { + me.btnEl.dom.setAttribute(me.getTipAttr(), tooltip); + } + } else { + me.tooltip = tooltip; + } + return me; + }, + + + setTextAlign: function(align) { + var me = this, + btnEl = me.btnEl; + + if (btnEl) { + btnEl.removeCls(me.baseCls + '-' + me.textAlign); + btnEl.addCls(me.baseCls + '-' + align); + } + me.textAlign = align; + return me; + }, + + getTipAttr: function(){ + return this.tooltipType == 'qtip' ? 'data-qtip' : 'title'; + }, + + + getRefItems: function(deep){ + var menu = this.menu, + items; + + if (menu) { + items = menu.getRefItems(deep); + items.unshift(menu); + } + return items || []; + }, + + + clearTip: function() { + if (Ext.isObject(this.tooltip)) { + Ext.tip.QuickTipManager.unregister(this.btnEl); + } + }, + + + beforeDestroy: function() { + var me = this; + if (me.rendered) { + me.clearTip(); + } + if (me.menu && me.destroyMenu !== false) { + Ext.destroy(me.menu); + } + Ext.destroy(me.btnInnerEl, me.repeater); + me.callParent(); + }, + + + onDestroy: function() { + var me = this; + if (me.rendered) { + me.doc.un('mouseover', me.monitorMouseOver, me); + me.doc.un('mouseup', me.onMouseUp, me); + delete me.doc; + Ext.ButtonToggleManager.unregister(me); + + Ext.destroy(me.keyMap); + delete me.keyMap; + } + me.callParent(); + }, + + + setHandler: function(handler, scope) { + this.handler = handler; + this.scope = scope; + return this; + }, + + + setText: function(text) { + var me = this; + me.text = text; + if (me.rendered) { + me.btnInnerEl.update(text || ' '); + me.setComponentCls(); + if (Ext.isStrict && Ext.isIE8) { + + me.el.repaint(); + } + me.updateLayout(); + } + return me; + }, + + + setIcon: function(icon) { + var me = this, + btnIconEl = me.btnIconEl, + oldIcon = me.icon; + + me.icon = icon; + if (btnIconEl) { + btnIconEl.setStyle('background-image', icon ? 'url(' + icon + ')': ''); + me.setComponentCls(); + if (me.didIconStateChange(oldIcon, icon)) { + me.updateLayout(); + } + } + return me; + }, + + + didIconStateChange: function(old, current) { + var currentEmpty = Ext.isEmpty(current); + return Ext.isEmpty(old) ? !currentEmpty : currentEmpty; + }, + + + getText: function() { + return this.text; + }, + + + toggle: function(state, suppressEvent) { + var me = this; + state = state === undefined ? !me.pressed: !!state; + if (state !== me.pressed) { + if (me.rendered) { + me[state ? 'addClsWithUI': 'removeClsWithUI'](me.pressedCls); + } + me.pressed = state; + if (!suppressEvent) { + me.fireEvent('toggle', me, state); + Ext.callback(me.toggleHandler, me.scope || me, [me, state]); + } + } + return me; + }, + + maybeShowMenu: function(){ + var me = this; + if (me.menu && !me.hasVisibleMenu() && !me.ignoreNextClick) { + me.showMenu(); + } + }, + + + showMenu: function() { + var me = this; + if (me.rendered && me.menu) { + if (me.tooltip && me.getTipAttr() != 'title') { + Ext.tip.QuickTipManager.getQuickTip().cancelShow(me.btnEl); + } + if (me.menu.isVisible()) { + me.menu.hide(); + } + + me.menu.showBy(me.el, me.menuAlign, ((!Ext.isStrict && Ext.isIE) || Ext.isIE6) ? [-2, -2] : undefined); + } + return me; + }, + + + hideMenu: function() { + if (this.hasVisibleMenu()) { + this.menu.hide(); + } + return this; + }, + + + hasVisibleMenu: function() { + var menu = this.menu; + return menu && menu.rendered && menu.isVisible(); + }, + + + onRepeatClick: function(repeat, e) { + this.onClick(e); + }, + + + onClick: function(e) { + var me = this; + if (me.preventDefault || (me.disabled && me.getHref()) && e) { + e.preventDefault(); + } + if (e.button !== 0) { + return; + } + if (!me.disabled) { + me.doToggle(); + me.maybeShowMenu(); + me.fireHandler(e); + } + }, + + fireHandler: function(e){ + var me = this, + handler = me.handler; + + if (me.fireEvent('click', me, e) !== false) { + if (handler) { + handler.call(me.scope || me, me, e); + } + me.blur(); + } + }, + + doToggle: function(){ + var me = this; + if (me.enableToggle && (me.allowDepress !== false || !me.pressed)) { + me.toggle(); + } + }, + + + onMouseOver: function(e) { + var me = this; + if (!me.disabled && !e.within(me.el, true, true)) { + me.onMouseEnter(e); + } + }, + + + onMouseOut: function(e) { + var me = this; + if (!e.within(me.el, true, true)) { + if (me.overMenuTrigger) { + me.onMenuTriggerOut(e); + } + me.onMouseLeave(e); + } + }, + + + onMouseMove: function(e) { + var me = this, + el = me.el, + over = me.overMenuTrigger, + overlap, btnSize; + + if (me.split) { + if (me.arrowAlign === 'right') { + overlap = e.getX() - el.getX(); + btnSize = el.getWidth(); + } else { + overlap = e.getY() - el.getY(); + btnSize = el.getHeight(); + } + + if (overlap > (btnSize - me.getTriggerSize())) { + if (!over) { + me.onMenuTriggerOver(e); + } + } else { + if (over) { + me.onMenuTriggerOut(e); + } + } + } + }, + + + getTriggerSize: function() { + var me = this, + size = me.triggerSize, + side, sideFirstLetter, undef; + + if (size === undef) { + side = me.arrowAlign; + sideFirstLetter = side.charAt(0); + size = me.triggerSize = me.el.getFrameWidth(sideFirstLetter) + me.btnWrap.getFrameWidth(sideFirstLetter) + me.frameSize[side]; + } + return size; + }, + + + onMouseEnter: function(e) { + var me = this; + me.addClsWithUI(me.overCls); + me.fireEvent('mouseover', me, e); + }, + + + onMouseLeave: function(e) { + var me = this; + me.removeClsWithUI(me.overCls); + me.fireEvent('mouseout', me, e); + }, + + + onMenuTriggerOver: function(e) { + var me = this; + me.overMenuTrigger = true; + me.fireEvent('menutriggerover', me, me.menu, e); + }, + + + onMenuTriggerOut: function(e) { + var me = this; + delete me.overMenuTrigger; + me.fireEvent('menutriggerout', me, me.menu, e); + }, + + + enable : function(silent) { + var me = this; + + me.callParent(arguments); + + if (me.btnEl) { + me.btnEl.dom.disabled = false; + } + me.removeClsWithUI('disabled'); + + return me; + }, + + + disable : function(silent) { + var me = this; + + me.callParent(arguments); + + if (me.btnEl) { + me.btnEl.dom.disabled = true; + } + me.addClsWithUI('disabled'); + me.removeClsWithUI(me.overCls); + + + + if (me.btnInnerEl && (Ext.isIE6 || Ext.isIE7)) { + me.btnInnerEl.repaint(); + } + + return me; + }, + + + setScale: function(scale) { + var me = this, + ui = me.ui.replace('-' + me.scale, ''); + + + if (!Ext.Array.contains(me.allowedScales, scale)) { + throw('#setScale: scale must be an allowed scale (' + me.allowedScales.join(', ') + ')'); + } + + me.scale = scale; + me.setUI(ui); + }, + + + setUI: function(ui) { + var me = this; + + + if (me.scale && !ui.match(me.scale)) { + ui = ui + '-' + me.scale; + } + + me.callParent([ui]); + + + + }, + + + onMouseDown: function(e) { + var me = this; + if (!me.disabled && e.button === 0) { + me.addClsWithUI(me.pressedCls); + me.doc.on('mouseup', me.onMouseUp, me); + } + }, + + onMouseUp: function(e) { + var me = this; + if (e.button === 0) { + if (!me.pressed) { + me.removeClsWithUI(me.pressedCls); + } + me.doc.un('mouseup', me.onMouseUp, me); + } + }, + + onMenuShow: function(e) { + var me = this; + me.ignoreNextClick = 0; + me.addClsWithUI(me.menuActiveCls); + me.fireEvent('menushow', me, me.menu); + }, + + + onMenuHide: function(e) { + var me = this; + me.removeClsWithUI(me.menuActiveCls); + me.ignoreNextClick = Ext.defer(me.restoreClick, 250, me); + me.fireEvent('menuhide', me, me.menu); + }, + + + restoreClick: function() { + this.ignoreNextClick = 0; + }, + + + onDownKey: function() { + var me = this; + + if (!me.disabled) { + if (me.menu) { + me.showMenu(); + } + } + }, + + + getPersistentPadding: function() { + var me = this, + reset = Ext.scopeResetCSS, + padding = me.persistentPadding, + btn, leftTop, btnEl, btnInnerEl, wrap; + + + + if (!padding) { + padding = me.self.prototype.persistentPadding = [0, 0, 0, 0]; + if (!Ext.isIE) { + btn = new Ext.button.Button({ + text: 'test', + style: 'position:absolute;top:-999px;' + }); + btn.el = Ext.DomHelper.append(Ext.resetElement, btn.getRenderTree(), true); + btn.applyChildEls(btn.el); + btnEl = btn.btnEl; + btnInnerEl = btn.btnInnerEl; + btnEl.setSize(null, null); + leftTop = btnInnerEl.getOffsetsTo(btnEl); + padding[0] = leftTop[1]; + padding[1] = btnEl.getWidth() - btnInnerEl.getWidth() - leftTop[0]; + padding[2] = btnEl.getHeight() - btnInnerEl.getHeight() - leftTop[1]; + padding[3] = leftTop[0]; + + btn.destroy(); + btn.el.remove(); + } + } + return padding; + } +}, function() { + var groups = {}, + toggleGroup = function(btn, state) { + if (state) { + var g = groups[btn.toggleGroup], + length = g.length, + i; + + for (i = 0; i < length; i++) { + if (g[i] !== btn) { + g[i].toggle(false); + } + } + } + }; + + + Ext.ButtonToggleManager = { + register: function(btn) { + if (!btn.toggleGroup) { + return; + } + var group = groups[btn.toggleGroup]; + if (!group) { + group = groups[btn.toggleGroup] = []; + } + group.push(btn); + btn.on('toggle', toggleGroup); + }, + + unregister: function(btn) { + if (!btn.toggleGroup) { + return; + } + var group = groups[btn.toggleGroup]; + if (group) { + Ext.Array.remove(group, btn); + btn.un('toggle', toggleGroup); + } + }, + + + + + getPressed: function(group) { + var g = groups[group], + i = 0, + len; + if (g) { + for (len = g.length; i < len; i++) { + if (g[i].pressed === true) { + return g[i]; + } + } + } + return null; + } + }; +}); + + +Ext.define('Ext.layout.container.boxOverflow.Menu', { + + + + extend: 'Ext.layout.container.boxOverflow.None', + requires: ['Ext.toolbar.Separator', 'Ext.button.Button'], + alternateClassName: 'Ext.layout.boxOverflow.Menu', + + + + + + + noItemsMenuText : '
(None)
', + + constructor: function(layout) { + var me = this; + + me.callParent(arguments); + + me.triggerButtonCls = me.triggerButtonCls || Ext.baseCSSPrefix + 'box-menu-' + layout.getNames().right; + + me.menuItems = []; + }, + + beginLayout: function (ownerContext) { + this.callParent(arguments); + + + + this.clearOverflow(ownerContext); + }, + + beginLayoutCycle: function (ownerContext, firstCycle) { + this.callParent(arguments); + + if (!firstCycle) { + + + this.clearOverflow(ownerContext); + + this.layout.cacheChildItems(ownerContext); + } + }, + + onRemove: function(comp){ + Ext.Array.remove(this.menuItems, comp); + }, + + + getSuffixConfig: function() { + var me = this, + layout = me.layout, + oid = layout.owner.id; + + + me.menu = new Ext.menu.Menu({ + listeners: { + scope: me, + beforeshow: me.beforeMenuShow + } + }); + + + me.menuTrigger = new Ext.button.Button({ + id : oid + '-menu-trigger', + cls : Ext.layout.container.Box.prototype.innerCls + ' ' + me.triggerButtonCls, + hidden : true, + ownerCt : layout.owner, + ownerLayout: layout, + iconCls : Ext.baseCSSPrefix + me.getOwnerType(layout.owner) + '-more-icon', + ui : layout.owner instanceof Ext.toolbar.Toolbar ? 'default-toolbar' : 'default', + menu : me.menu, + getSplitCls: function() { return '';} + }); + + return me.menuTrigger.getRenderTree(); + }, + + getOverflowCls: function() { + return Ext.baseCSSPrefix + this.layout.direction + '-box-overflow-body'; + }, + + handleOverflow: function(ownerContext) { + var me = this, + layout = me.layout, + names = layout.getNames(), + plan = ownerContext.state.boxPlan, + posArgs = [null, null]; + + me.showTrigger(ownerContext); + + + + posArgs[names.heightIndex] = (plan.maxSize - me.menuTrigger[names.getHeight]()) / 2; + me.menuTrigger.setPosition.apply(me.menuTrigger, posArgs); + + return { + reservedSpace: me.menuTrigger[names.getWidth]() + }; + }, + + + captureChildElements: function() { + var menuTrigger = this.menuTrigger; + if (menuTrigger.rendering) { + menuTrigger.finishRender(); + } + }, + + _asLayoutRoot: { isRoot: true }, + + + clearOverflow: function(ownerContext) { + var me = this, + items = me.menuItems, + item, + i = 0, + length = items.length, + owner = me.layout.owner, + asLayoutRoot = me._asLayoutRoot; + + owner.suspendLayouts(); + me.captureChildElements(); + me.hideTrigger(); + owner.resumeLayouts(); + + for (; i < length; i++) { + item = items[i]; + + + + item.suspendLayouts(); + item.show(); + item.resumeLayouts(asLayoutRoot); + } + + items.length = 0; + }, + + + showTrigger: function(ownerContext) { + var me = this, + layout = me.layout, + owner = layout.owner, + names = layout.getNames(), + startProp = names.x, + sizeProp = names.width, + plan = ownerContext.state.boxPlan, + available = plan.targetSize[sizeProp], + childItems = ownerContext.childItems, + len = childItems.length, + menuTrigger = me.menuTrigger, + childContext, + comp, i, props; + + + + menuTrigger.suspendLayouts(); + menuTrigger.show(); + menuTrigger.resumeLayouts(me._asLayoutRoot); + + available -= me.menuTrigger.getWidth(); + + owner.suspendLayouts(); + + + + me.menuItems.length = 0; + for (i = 0; i < len; i++) { + childContext = childItems[i]; + props = childContext.props; + if (props[startProp] + props[sizeProp] > available) { + comp = childContext.target; + me.menuItems.push(comp); + comp.hide(); + } + } + + owner.resumeLayouts(); + }, + + + hideTrigger: function() { + var menuTrigger = this.menuTrigger; + if (menuTrigger) { + menuTrigger.hide(); + } + }, + + + beforeMenuShow: function(menu) { + var me = this, + items = me.menuItems, + i = 0, + len = items.length, + item, + prev, + needsSep = function(group, prev){ + return group.isXType('buttongroup') && !(prev instanceof Ext.toolbar.Separator); + }; + + menu.suspendLayouts(); + me.clearMenu(); + menu.removeAll(); + + for (; i < len; i++) { + item = items[i]; + + + if (!i && (item instanceof Ext.toolbar.Separator)) { + continue; + } + if (prev && (needsSep(item, prev) || needsSep(prev, item))) { + menu.add('-'); + } + + me.addComponentToMenu(menu, item); + prev = item; + } + + + if (menu.items.length < 1) { + menu.add(me.noItemsMenuText); + } + menu.resumeLayouts(); + }, + + + createMenuConfig : function(component, hideOnClick) { + var config = Ext.apply({}, component.initialConfig), + group = component.toggleGroup; + + Ext.copyTo(config, component, [ + 'iconCls', 'icon', 'itemId', 'disabled', 'handler', 'scope', 'menu' + ]); + + Ext.apply(config, { + text : component.overflowText || component.text, + hideOnClick: hideOnClick, + destroyMenu: false + }); + + + if (component.isFormField) { + config.value = component.getValue(); + + + if (!config.listeners) { + config.listeners = {}; + } + + + + + + + config.listeners.change = function(c, newVal, oldVal) { + component.setValue(newVal); + } + } + + + else if (group || component.enableToggle) { + Ext.apply(config, { + iconAlign: 'right', + hideOnClick: false, + group : group, + checked: component.pressed, + listeners: { + checkchange: function(item, checked) { + component.toggle(checked); + } + } + }); + } + + delete config.ownerCt; + delete config.xtype; + delete config.id; + return config; + }, + + + addComponentToMenu : function(menu, component) { + var me = this, + i, items, iLen; + + if (component instanceof Ext.toolbar.Separator) { + menu.add('-'); + } else if (component.isComponent) { + if (component.isXType('splitbutton')) { + menu.add(me.createMenuConfig(component, true)); + + } else if (component.isXType('button')) { + menu.add(me.createMenuConfig(component, !component.menu)); + + } else if (component.isXType('buttongroup')) { + items = component.items.items; + iLen = items.length; + + for (i = 0; i < iLen; i++) { + me.addComponentToMenu(menu, items[i]); + } + } else { + menu.add(Ext.create(Ext.getClassName(component), me.createMenuConfig(component))); + } + } + }, + + + clearMenu : function() { + var menu = this.menu, + items, i, iLen, item; + + if (menu && menu.items) { + items = menu.items.items; + iLen = items.length; + + for (i = 0; i < iLen; i++) { + item = items[i]; + if (item.setMenu) { + item.setMenu(null); + } + } + } + }, + + + destroy: function() { + var trigger = this.menuTrigger; + + if (trigger && !this.layout.owner.items.contains(trigger)) { + + + delete trigger.ownerCt; + } + Ext.destroy(this.menu, trigger); + } +}); + + +Ext.define('Ext.layout.container.boxOverflow.Scroller', { + + + + extend: 'Ext.layout.container.boxOverflow.None', + requires: ['Ext.util.ClickRepeater', 'Ext.Element'], + alternateClassName: 'Ext.layout.boxOverflow.Scroller', + mixins: { + observable: 'Ext.util.Observable' + }, + + + + + animateScroll: false, + + + scrollIncrement: 20, + + + wheelIncrement: 10, + + + scrollRepeatInterval: 60, + + + scrollDuration: 400, + + + + + + + scrollerCls: Ext.baseCSSPrefix + 'box-scroller', + + + + + + constructor: function(layout, config) { + var me = this; + + me.layout = layout; + Ext.apply(me, config || {}); + + + me.mixins.observable.constructor.call(me); + + me.addEvents( + + 'scroll' + ); + me.scrollPosition = 0; + me.scrollSize = 0; + }, + + getPrefixConfig: function() { + var me = this; + me.initCSSClasses(); + return { + cls: Ext.layout.container.Box.prototype.innerCls + ' ' + me.beforeCtCls, + cn : { + id : me.layout.owner.id + '-before-scroller', + cls: me.scrollerCls + ' ' + me.beforeScrollerCls, + style: 'display:none' + } + }; + }, + + getSuffixConfig: function() { + var me = this; + return { + cls: Ext.layout.container.Box.prototype.innerCls + ' ' + me.afterCtCls, + cn : { + id : me.layout.owner.id + '-after-scroller', + cls: me.scrollerCls + ' ' + me.afterScrollerCls, + style: 'display:none' + } + }; + }, + + getOverflowCls: function() { + return Ext.baseCSSPrefix + this.layout.direction + '-box-overflow-body'; + }, + + initCSSClasses: function() { + var me = this, + prefix = Ext.baseCSSPrefix, + layout = me.layout, + names = layout.getNames(), + leftName = names.left, + rightName = names.right, + type = me.getOwnerType(layout.owner); + + me.beforeCtCls = me.beforeCtCls || prefix + 'box-scroller-' + leftName; + me.afterCtCls = me.afterCtCls || prefix + 'box-scroller-' + rightName; + + me.beforeScrollerCls = me.beforeScrollerCls || prefix + type + '-scroll-' + leftName; + me.afterScrollerCls = me.afterScrollerCls || prefix + type + '-scroll-' + rightName; + }, + + beginLayout: function (ownerContext) { + var layout = this.layout, + names = layout.getNames(); + + ownerContext.innerCtScrollPos = layout.innerCt.dom['scroll' + names.leftCap]; + + this.callParent(arguments); + }, + + completeLayout: function (ownerContext) { + + this.scrollSize = ownerContext.props['content'+this.layout.getNames().widthCap]; + + this.callParent(arguments); + }, + + finishedLayout: function(ownerContext) { + var me = this, + layout = me.layout, + names = layout.getNames(), + scrollPos = Math.min(me.getMaxScrollPosition(), ownerContext.innerCtScrollPos); + + layout.innerCt.dom['scroll' + names.leftCap] = scrollPos; + }, + + handleOverflow: function(ownerContext) { + var me = this, + layout = me.layout, + names = layout.getNames(), + methodName = 'get' + names.widthCap; + + me.captureChildElements(); + me.showScrollers(); + + return { + reservedSpace: me.beforeCt[methodName]() + me.afterCt[methodName]() + }; + }, + + + captureChildElements: function() { + var me = this, + el = me.layout.owner.el, + before, + after; + + + if (!me.beforeCt) { + before = me.beforeScroller = el.getById(me.layout.owner.id + '-before-scroller'); + after = me.afterScroller = el.getById(me.layout.owner.id + '-after-scroller'); + me.beforeCt = before.up(''); + me.afterCt = after.up(''); + me.createWheelListener(); + + before.addClsOnOver(me.beforeScrollerCls + '-hover'); + after.addClsOnOver(me.afterScrollerCls + '-hover'); + + before.setVisibilityMode(Ext.Element.DISPLAY); + after.setVisibilityMode(Ext.Element.DISPLAY); + + me.beforeRepeater = new Ext.util.ClickRepeater(before, { + interval: me.scrollRepeatInterval, + handler : me.scrollLeft, + scope : me + }); + + me.afterRepeater = new Ext.util.ClickRepeater(after, { + interval: me.scrollRepeatInterval, + handler : me.scrollRight, + scope : me + }); + } + }, + + + createWheelListener: function() { + this.layout.innerCt.on({ + mousewheel: function(e) { + this.scrollBy(e.getWheelDelta() * this.wheelIncrement * -1, false); + }, + stopEvent: true, + scope: this + }); + }, + + + clearOverflow: function () { + var layout = this.layout; + + this.hideScrollers(); + }, + + + showScrollers: function() { + var me = this; + + me.captureChildElements(); + me.beforeScroller.show(); + me.afterScroller.show(); + me.updateScrollButtons(); + me.layout.owner.addClsWithUI('scroller'); + + }, + + + hideScrollers: function() { + var me = this; + + if (me.beforeScroller !== undefined) { + me.beforeScroller.hide(); + me.afterScroller.hide(); + me.layout.owner.removeClsWithUI('scroller'); + + } + }, + + + destroy: function() { + var me = this; + + Ext.destroy(me.beforeRepeater, me.afterRepeater, me.beforeScroller, me.afterScroller, me.beforeCt, me.afterCt); + }, + + + scrollBy: function(delta, animate) { + this.scrollTo(this.getScrollPosition() + delta, animate); + }, + + + getScrollAnim: function() { + return { + duration: this.scrollDuration, + callback: this.updateScrollButtons, + scope : this + }; + }, + + + updateScrollButtons: function() { + var me = this, + beforeMeth, + afterMeth, + beforeCls, + afterCls; + + if (me.beforeScroller === undefined || me.afterScroller === undefined) { + return; + } + + beforeMeth = me.atExtremeBefore() ? 'addCls' : 'removeCls'; + afterMeth = me.atExtremeAfter() ? 'addCls' : 'removeCls'; + beforeCls = me.beforeScrollerCls + '-disabled'; + afterCls = me.afterScrollerCls + '-disabled'; + + me.beforeScroller[beforeMeth](beforeCls); + me.afterScroller[afterMeth](afterCls); + me.scrolling = false; + }, + + + atExtremeBefore: function() { + return !this.getScrollPosition(); + }, + + + scrollLeft: function() { + this.scrollBy(-this.scrollIncrement, false); + }, + + + scrollRight: function() { + this.scrollBy(this.scrollIncrement, false); + }, + + + getScrollPosition: function(){ + var me = this, + layout = me.layout, + result; + + + if (me.hasOwnProperty('scrollPosition')) { + result = me.scrollPosition; + } else { + result = parseInt(layout.innerCt.dom['scroll' + layout.getNames().leftCap], 10) || 0; + } + return result; + }, + + + getMaxScrollPosition: function() { + var me = this, + layout = me.layout, + names = layout.getNames(), + maxScrollPos = me.scrollSize - layout.innerCt['get'+names.widthCap](); + + return (maxScrollPos < 0) ? 0 : maxScrollPos; + }, + + + atExtremeAfter: function() { + return this.getScrollPosition() >= this.getMaxScrollPosition(); + }, + + + scrollTo: function(position, animate) { + var me = this, + layout = me.layout, + names = layout.getNames(), + oldPosition = me.getScrollPosition(), + newPosition = Ext.Number.constrain(position, 0, me.getMaxScrollPosition()); + + if (newPosition != oldPosition && !me.scrolling) { + delete me.scrollPosition; + if (animate === undefined) { + animate = me.animateScroll; + } + + layout.innerCt.scrollTo(names.left, newPosition, animate ? me.getScrollAnim() : false); + if (animate) { + me.scrolling = true; + } else { + me.updateScrollButtons(); + } + me.fireEvent('scroll', me, newPosition, animate ? me.getScrollAnim() : false); + } + }, + + + scrollToItem: function(item, animate) { + var me = this, + layout = me.layout, + names = layout.getNames(), + visibility, + box, + newPos; + + item = me.getItem(item); + if (item !== undefined) { + visibility = me.getItemVisibility(item); + if (!visibility.fullyVisible) { + box = item.getBox(true, true); + newPos = box[names.x]; + if (visibility.hiddenEnd) { + newPos -= (me.layout.innerCt['get' + names.widthCap]() - box[names.width]); + } + me.scrollTo(newPos, animate); + } + } + }, + + + getItemVisibility: function(item) { + var me = this, + box = me.getItem(item).getBox(true, true), + layout = me.layout, + names = layout.getNames(), + itemStart = box[names.x], + itemEnd = itemStart + box[names.width], + scrollStart = me.getScrollPosition(), + scrollEnd = scrollStart + layout.innerCt['get' + names.widthCap](); + + return { + hiddenStart : itemStart < scrollStart, + hiddenEnd : itemEnd > scrollEnd, + fullyVisible: itemStart > scrollStart && itemEnd < scrollEnd + }; + } +}); + + +Ext.define('Ext.util.Offset', { + + + + statics: { + fromObject: function(obj) { + return new this(obj.x, obj.y); + } + }, + + + + constructor: function(x, y) { + this.x = (x != null && !isNaN(x)) ? x : 0; + this.y = (y != null && !isNaN(y)) ? y : 0; + + return this; + }, + + copy: function() { + return new Ext.util.Offset(this.x, this.y); + }, + + copyFrom: function(p) { + this.x = p.x; + this.y = p.y; + }, + + toString: function() { + return "Offset[" + this.x + "," + this.y + "]"; + }, + + equals: function(offset) { + + return (this.x == offset.x && this.y == offset.y); + }, + + round: function(to) { + if (!isNaN(to)) { + var factor = Math.pow(10, to); + this.x = Math.round(this.x * factor) / factor; + this.y = Math.round(this.y * factor) / factor; + } else { + this.x = Math.round(this.x); + this.y = Math.round(this.y); + } + }, + + isZero: function() { + return this.x == 0 && this.y == 0; + } +}); + + +Ext.define('Ext.util.Region', { + + + + requires: ['Ext.util.Offset'], + + statics: { + + getRegion: function(el) { + return Ext.fly(el).getPageBox(true); + }, + + + from: function(o) { + return new this(o.top, o.right, o.bottom, o.left); + } + }, + + + + + constructor : function(t, r, b, l) { + var me = this; + me.y = me.top = me[1] = t; + me.right = r; + me.bottom = b; + me.x = me.left = me[0] = l; + }, + + + contains : function(region) { + var me = this; + return (region.x >= me.x && + region.right <= me.right && + region.y >= me.y && + region.bottom <= me.bottom); + + }, + + + intersect : function(region) { + var me = this, + t = Math.max(me.y, region.y), + r = Math.min(me.right, region.right), + b = Math.min(me.bottom, region.bottom), + l = Math.max(me.x, region.x); + + if (b > t && r > l) { + return new this.self(t, r, b, l); + } + else { + return false; + } + }, + + + union : function(region) { + var me = this, + t = Math.min(me.y, region.y), + r = Math.max(me.right, region.right), + b = Math.max(me.bottom, region.bottom), + l = Math.min(me.x, region.x); + + return new this.self(t, r, b, l); + }, + + + constrainTo : function(r) { + var me = this, + constrain = Ext.Number.constrain; + me.top = me.y = constrain(me.top, r.y, r.bottom); + me.bottom = constrain(me.bottom, r.y, r.bottom); + me.left = me.x = constrain(me.left, r.x, r.right); + me.right = constrain(me.right, r.x, r.right); + return me; + }, + + + adjust : function(t, r, b, l) { + var me = this; + me.top = me.y += t; + me.left = me.x += l; + me.right += r; + me.bottom += b; + return me; + }, + + + getOutOfBoundOffset: function(axis, p) { + if (!Ext.isObject(axis)) { + if (axis == 'x') { + return this.getOutOfBoundOffsetX(p); + } else { + return this.getOutOfBoundOffsetY(p); + } + } else { + p = axis; + var d = new Ext.util.Offset(); + d.x = this.getOutOfBoundOffsetX(p.x); + d.y = this.getOutOfBoundOffsetY(p.y); + return d; + } + + }, + + + getOutOfBoundOffsetX: function(p) { + if (p <= this.x) { + return this.x - p; + } else if (p >= this.right) { + return this.right - p; + } + + return 0; + }, + + + getOutOfBoundOffsetY: function(p) { + if (p <= this.y) { + return this.y - p; + } else if (p >= this.bottom) { + return this.bottom - p; + } + + return 0; + }, + + + isOutOfBound: function(axis, p) { + if (!Ext.isObject(axis)) { + if (axis == 'x') { + return this.isOutOfBoundX(p); + } else { + return this.isOutOfBoundY(p); + } + } else { + p = axis; + return (this.isOutOfBoundX(p.x) || this.isOutOfBoundY(p.y)); + } + }, + + + isOutOfBoundX: function(p) { + return (p < this.x || p > this.right); + }, + + + isOutOfBoundY: function(p) { + return (p < this.y || p > this.bottom); + }, + + + restrict: function(axis, p, factor) { + if (Ext.isObject(axis)) { + var newP; + + factor = p; + p = axis; + + if (p.copy) { + newP = p.copy(); + } + else { + newP = { + x: p.x, + y: p.y + }; + } + + newP.x = this.restrictX(p.x, factor); + newP.y = this.restrictY(p.y, factor); + return newP; + } else { + if (axis == 'x') { + return this.restrictX(p, factor); + } else { + return this.restrictY(p, factor); + } + } + }, + + + restrictX : function(p, factor) { + if (!factor) { + factor = 1; + } + + if (p <= this.x) { + p -= (p - this.x) * factor; + } + else if (p >= this.right) { + p -= (p - this.right) * factor; + } + return p; + }, + + + restrictY : function(p, factor) { + if (!factor) { + factor = 1; + } + + if (p <= this.y) { + p -= (p - this.y) * factor; + } + else if (p >= this.bottom) { + p -= (p - this.bottom) * factor; + } + return p; + }, + + + getSize: function() { + return { + width: this.right - this.x, + height: this.bottom - this.y + }; + }, + + + copy: function() { + return new this.self(this.y, this.right, this.bottom, this.x); + }, + + + copyFrom: function(p) { + var me = this; + me.top = me.y = me[1] = p.y; + me.right = p.right; + me.bottom = p.bottom; + me.left = me.x = me[0] = p.x; + + return this; + }, + + + toString: function() { + return "Region[" + this.top + "," + this.right + "," + this.bottom + "," + this.left + "]"; + }, + + + translateBy: function(x, y) { + if (arguments.length == 1) { + y = x.y; + x = x.x; + } + var me = this; + me.top = me.y += y; + me.right += x; + me.bottom += y; + me.left = me.x += x; + + return me; + }, + + + round: function() { + var me = this; + me.top = me.y = Math.round(me.y); + me.right = Math.round(me.right); + me.bottom = Math.round(me.bottom); + me.left = me.x = Math.round(me.x); + + return me; + }, + + + equals: function(region) { + return (this.top == region.top && this.right == region.right && this.bottom == region.bottom && this.left == region.left); + } +}); + + + + + +Ext.define('Ext.dd.DragDropManager', { + singleton: true, + + requires: ['Ext.util.Region'], + + uses: ['Ext.tip.QuickTipManager'], + + + alternateClassName: ['Ext.dd.DragDropMgr', 'Ext.dd.DDM'], + + + ids: {}, + + + handleIds: {}, + + + dragCurrent: null, + + + dragOvers: {}, + + + deltaX: 0, + + + deltaY: 0, + + + preventDefault: true, + + + stopPropagation: true, + + + initialized: false, + + + locked: false, + + + init: function() { + this.initialized = true; + }, + + + POINT: 0, + + + INTERSECT: 1, + + + mode: 0, + + + notifyOccluded: false, + + + _execOnAll: function(sMethod, args) { + var i, j, oDD; + for (i in this.ids) { + for (j in this.ids[i]) { + oDD = this.ids[i][j]; + if (! this.isTypeOfDD(oDD)) { + continue; + } + oDD[sMethod].apply(oDD, args); + } + } + }, + + + _onLoad: function() { + + this.init(); + + var Event = Ext.EventManager; + Event.on(document, "mouseup", this.handleMouseUp, this, true); + Event.on(document, "mousemove", this.handleMouseMove, this, true); + Event.on(window, "unload", this._onUnload, this, true); + Event.on(window, "resize", this._onResize, this, true); + + + }, + + + _onResize: function(e) { + this._execOnAll("resetConstraints", []); + }, + + + lock: function() { this.locked = true; }, + + + unlock: function() { this.locked = false; }, + + + isLocked: function() { return this.locked; }, + + + locationCache: {}, + + + useCache: true, + + + clickPixelThresh: 3, + + + clickTimeThresh: 350, + + + dragThreshMet: false, + + + clickTimeout: null, + + + startX: 0, + + + startY: 0, + + + regDragDrop: function(oDD, sGroup) { + if (!this.initialized) { this.init(); } + + if (!this.ids[sGroup]) { + this.ids[sGroup] = {}; + } + this.ids[sGroup][oDD.id] = oDD; + }, + + + removeDDFromGroup: function(oDD, sGroup) { + if (!this.ids[sGroup]) { + this.ids[sGroup] = {}; + } + + var obj = this.ids[sGroup]; + if (obj && obj[oDD.id]) { + delete obj[oDD.id]; + } + }, + + + _remove: function(oDD) { + for (var g in oDD.groups) { + if (g && this.ids[g] && this.ids[g][oDD.id]) { + delete this.ids[g][oDD.id]; + } + } + delete this.handleIds[oDD.id]; + }, + + + regHandle: function(sDDId, sHandleId) { + if (!this.handleIds[sDDId]) { + this.handleIds[sDDId] = {}; + } + this.handleIds[sDDId][sHandleId] = sHandleId; + }, + + + isDragDrop: function(id) { + return ( this.getDDById(id) ) ? true : false; + }, + + + getRelated: function(p_oDD, bTargetsOnly) { + var oDDs = [], + i, j, dd; + for (i in p_oDD.groups) { + for (j in this.ids[i]) { + dd = this.ids[i][j]; + if (! this.isTypeOfDD(dd)) { + continue; + } + if (!bTargetsOnly || dd.isTarget) { + oDDs[oDDs.length] = dd; + } + } + } + + return oDDs; + }, + + + isLegalTarget: function (oDD, oTargetDD) { + var targets = this.getRelated(oDD, true), + i, len; + for (i=0, len=targets.length;i me.clickPixelThresh || + diffY > me.clickPixelThresh) { + me.startDrag(me.startX, me.startY); + } + } + + if (me.dragThreshMet) { + me.dragCurrent.b4Drag(e); + me.dragCurrent.onDrag(e); + if(!me.dragCurrent.moveOnly){ + me.fireEvents(e, false); + } + } + + me.stopEvent(e); + + return true; + }, + + + fireEvents: function(e, isDrop) { + var me = this, + dragCurrent = me.dragCurrent, + mousePoint = e.getPoint(), + overTarget, + overTargetEl, + allTargets = [], + oldOvers = [], + outEvts = [], + overEvts = [], + dropEvts = [], + enterEvts = [], + needsSort, + i, + len, + sGroup; + + + + if (!dragCurrent || dragCurrent.isLocked()) { + return; + } + + + + for (i in me.dragOvers) { + + overTarget = me.dragOvers[i]; + + if (! me.isTypeOfDD(overTarget)) { + continue; + } + + if (! this.isOverTarget(mousePoint, overTarget, me.mode)) { + outEvts.push( overTarget ); + } + + oldOvers[i] = true; + delete me.dragOvers[i]; + } + + + + + for (sGroup in dragCurrent.groups) { + + if ("string" != typeof sGroup) { + continue; + } + + + for (i in me.ids[sGroup]) { + overTarget = me.ids[sGroup][i]; + + + + + + + + if (me.isTypeOfDD(overTarget) && + (overTargetEl = overTarget.getEl()) && + (overTarget.isTarget) && + (!overTarget.isLocked()) && + (Ext.fly(overTargetEl).isVisible(true)) && + ((overTarget != dragCurrent) || (dragCurrent.ignoreSelf === false))) { + + + if ((overTarget.zIndex = me.getZIndex(overTargetEl)) !== -1) { + needsSort = true; + } + allTargets.push(overTarget); + } + } + } + + + if (needsSort) { + Ext.Array.sort(allTargets, me.byZIndex); + } + + + + for (i = 0, len = allTargets.length; i < len; i++) { + overTarget = allTargets[i]; + + + if (me.isOverTarget(mousePoint, overTarget, me.mode)) { + + if (isDrop) { + dropEvts.push( overTarget ); + + } else { + + + if (!oldOvers[overTarget.id]) { + enterEvts.push( overTarget ); + + } else { + overEvts.push( overTarget ); + } + me.dragOvers[overTarget.id] = overTarget; + } + + + if (!me.notifyOccluded) { + break; + } + } + } + + if (me.mode) { + if (outEvts.length) { + dragCurrent.b4DragOut(e, outEvts); + dragCurrent.onDragOut(e, outEvts); + } + + if (enterEvts.length) { + dragCurrent.onDragEnter(e, enterEvts); + } + + if (overEvts.length) { + dragCurrent.b4DragOver(e, overEvts); + dragCurrent.onDragOver(e, overEvts); + } + + if (dropEvts.length) { + dragCurrent.b4DragDrop(e, dropEvts); + dragCurrent.onDragDrop(e, dropEvts); + } + + } else { + + for (i=0, len=outEvts.length; i', + '
', + '{%this.renderBody(out, values)%}', + '
', + '', + '{%if (oh.getSuffixConfig!==Ext.emptyFn) {', + 'if(oc=oh.getSuffixConfig())dh.generateMarkup(oc, out)', + '}%}', + { + disableFormats: true, + definitions: 'var dh=Ext.DomHelper;' + } + ], + + constructor: function(config) { + var me = this, + type; + + me.callParent(arguments); + + + me.flexSortFn = Ext.Function.bind(me.flexSort, me); + + me.initOverflowHandler(); + + type = typeof me.padding; + if (type == 'string' || type == 'number') { + me.padding = Ext.util.Format.parseBox(me.padding); + me.padding.height = me.padding.top + me.padding.bottom; + me.padding.width = me.padding.left + me.padding.right; + } + }, + + getNames: function () { + return this.names; + }, + + + + _percentageRe: /^\s*(\d+(?:\.\d*)?)\s*[%]\s*$/, + + getItemSizePolicy: function (item, ownerSizeModel) { + var me = this, + policy = me.sizePolicy, + align = me.align, + flex = item.flex, + key = align, + names = me.names, + width = item[names.width], + height = item[names.height], + percentageRe = me._percentageRe, + percentageWidth = percentageRe.test(width), + isStretch = (align == 'stretch'); + + if ((isStretch || flex || percentageWidth) && !ownerSizeModel) { + ownerSizeModel = me.owner.getSizeModel(); + } + + if (isStretch) { + + + if (!percentageRe.test(height) && ownerSizeModel[names.height].shrinkWrap) { + key = 'stretchmax'; + + + + } + } else if (align != 'stretchmax') { + if (percentageRe.test(height)) { + + + key = 'stretch'; + } else { + key = ''; + } + } + + if (flex || percentageWidth) { + + + if (!ownerSizeModel[names.width].shrinkWrap) { + policy = policy.flex; + } + } + + return policy[key]; + }, + + flexSort: function (a, b) { + var maxWidthName = this.getNames().maxWidth, + infiniteValue = Infinity; + + a = a.target[maxWidthName] || infiniteValue; + b = b.target[maxWidthName] || infiniteValue; + + + if (!isFinite(a) && !isFinite(b)) { + return 0; + } + + return a - b; + }, + + isItemBoxParent: function (itemContext) { + return true; + }, + + isItemShrinkWrap: function (item) { + return true; + }, + + + minSizeSortFn: function(a, b) { + return b.available - a.available; + }, + + roundFlex: function(width) { + return Math.ceil(width); + }, + + + beginCollapse: function(child) { + var me = this; + + if (me.direction === 'vertical' && child.collapsedVertical()) { + child.collapseMemento.capture(['flex']); + delete child.flex; + } else if (me.direction === 'horizontal' && child.collapsedHorizontal()) { + child.collapseMemento.capture(['flex']); + delete child.flex; + } + }, + + + beginExpand: function(child) { + + + child.collapseMemento.restore(['flex']); + }, + + beginLayout: function (ownerContext) { + var me = this, + smp = me.owner.stretchMaxPartner, + style = me.innerCt.dom.style, + names = me.getNames(); + + ownerContext.boxNames = names; + + + + me.overflowHandler.beginLayout(ownerContext); + + + if (typeof smp === 'string') { + smp = Ext.getCmp(smp) || me.owner.query(smp)[0]; + } + + ownerContext.stretchMaxPartner = smp && ownerContext.context.getCmp(smp); + + me.callParent(arguments); + + ownerContext.innerCtContext = ownerContext.getEl('innerCt', me); + + + me.scrollParallel = !!(me.owner.autoScroll || me.owner[names.overflowX]); + + + me.scrollPerpendicular = !!(me.owner.autoScroll || me.owner[names.overflowY]); + + + if (me.scrollParallel) { + me.scrollPos = me.owner.getTargetEl().dom[names.scrollLeft]; + } + + + style.width = ''; + style.height = ''; + }, + + beginLayoutCycle: function (ownerContext, firstCycle) { + var me = this, + align = me.align, + names = ownerContext.boxNames, + pack = me.pack, + heightModelName = names.heightModel; + + + + me.overflowHandler.beginLayoutCycle(ownerContext, firstCycle); + + me.callParent(arguments); + + + + + ownerContext.parallelSizeModel = ownerContext[names.widthModel]; + ownerContext.perpendicularSizeModel = ownerContext[heightModelName]; + + ownerContext.boxOptions = { + align: align = { + stretch: align == 'stretch', + stretchmax: align == 'stretchmax', + center: align == names.center + }, + pack: pack = { + center: pack == 'center', + end: pack == 'end' + } + }; + + + + + + + + if (align.stretch && ownerContext.perpendicularSizeModel.shrinkWrap) { + align.stretchmax = true; + align.stretch = false; + } + + + align.nostretch = !(align.stretch || align.stretchmax); + + + + + + if (ownerContext.parallelSizeModel.shrinkWrap) { + pack.center = pack.end = false; + } + + me.cacheFlexes(ownerContext); + + + + + if (Ext.isWebKit) { + me.targetEl.setWidth(20000); + } + }, + + + cacheFlexes: function (ownerContext) { + var me = this, + names = ownerContext.boxNames, + widthModelName = names.widthModel, + heightModelName = names.heightModel, + nostretch = ownerContext.boxOptions.align.nostretch, + totalFlex = 0, + childItems = ownerContext.childItems, + i = childItems.length, + flexedItems = [], + minWidth = 0, + minWidthName = names.minWidth, + percentageRe = me._percentageRe, + percentageWidths = 0, + percentageHeights = 0, + child, childContext, flex, match; + + while (i--) { + childContext = childItems[i]; + child = childContext.target; + + + + + if (childContext[widthModelName].calculated) { + childContext.flex = flex = child.flex; + if (flex) { + totalFlex += flex; + flexedItems.push(childContext); + minWidth += child[minWidthName] || 0; + } else { + match = percentageRe.exec(child[names.width]); + childContext.percentageParallel = parseFloat(match[1]) / 100; + ++percentageWidths; + } + } + + + + if (nostretch && childContext[heightModelName].calculated) { + + + match = percentageRe.exec(child[names.height]); + childContext.percentagePerpendicular = parseFloat(match[1]) / 100; + ++percentageHeights; + } + } + + ownerContext.flexedItems = flexedItems; + ownerContext.flexedMinSize = minWidth; + ownerContext.totalFlex = totalFlex; + ownerContext.percentageWidths = percentageWidths; + ownerContext.percentageHeights = percentageHeights; + + + + + Ext.Array.sort(flexedItems, me.flexSortFn); + }, + + calculate: function(ownerContext) { + var me = this, + targetSize = me.getContainerSize(ownerContext), + names = ownerContext.boxNames, + state = ownerContext.state, + plan = state.boxPlan || (state.boxPlan = {}); + + plan.targetSize = targetSize; + + + if (!ownerContext.parallelSizeModel.shrinkWrap && !targetSize[names.gotWidth]) { + me.done = false; + return; + } + + if (!state.parallelDone) { + state.parallelDone = me.calculateParallel(ownerContext, names, plan); + } + + if (!state.perpendicularDone) { + state.perpendicularDone = me.calculatePerpendicular(ownerContext, names, plan); + } + + if (state.parallelDone && state.perpendicularDone) { + + + + + if (me.owner.dock && (Ext.isIE6 || Ext.isIE7 || Ext.isIEQuirks) && !me.owner.width && !me.horizontal) { + plan.isIEVerticalDock = true; + plan.calculatedWidth = plan.maxSize + ownerContext.getPaddingInfo().width + ownerContext.getFrameInfo().width; + } + + me.publishInnerCtSize(ownerContext, me.reserveOffset ? me.availableSpaceOffset : 0); + + + if (me.done && ownerContext.childItems.length > 1 && ownerContext.boxOptions.align.stretchmax && !state.stretchMaxDone) { + me.calculateStretchMax(ownerContext, names, plan); + state.stretchMaxDone = true; + } + } else { + me.done = false; + } + }, + + calculateParallel: function(ownerContext, names, plan) { + var me = this, + widthName = names.width, + childItems = ownerContext.childItems, + leftName = names.left, + rightName = names.right, + setWidthName = names.setWidth, + childItemsLength = childItems.length, + flexedItems = ownerContext.flexedItems, + flexedItemsLength = flexedItems.length, + pack = ownerContext.boxOptions.pack, + padding = me.padding, + containerWidth = plan.targetSize[widthName], + totalMargin = 0, + left = padding[leftName], + nonFlexWidth = left + padding[rightName] + me.scrollOffset + + (me.reserveOffset ? me.availableSpaceOffset : 0), + scrollbarWidth = Ext.getScrollbarSize()[names.width], + i, childMargins, remainingWidth, remainingFlex, childContext, flex, flexedWidth, + contentWidth, mayNeedScrollbarAdjust, childWidth, percentageSpace; + + + + + + + + if (scrollbarWidth && + me.scrollPerpendicular && + ownerContext.parallelSizeModel.shrinkWrap && + !ownerContext.boxOptions.align.stretch && + !ownerContext.perpendicularSizeModel.shrinkWrap) { + + + + + if (!ownerContext.state.perpendicularDone) { + return false; + } + mayNeedScrollbarAdjust = true; + } + + + for (i = 0; i < childItemsLength; ++i) { + childContext = childItems[i]; + childMargins = childContext.marginInfo || childContext.getMarginInfo(); + + totalMargin += childMargins[widthName]; + + if (!childContext[names.widthModel].calculated) { + childWidth = childContext.getProp(widthName); + nonFlexWidth += childWidth; + if (isNaN(nonFlexWidth)) { + return false; + } + } + } + + nonFlexWidth += totalMargin; + if (ownerContext.percentageWidths) { + percentageSpace = containerWidth - totalMargin; + if (isNaN(percentageSpace)) { + return false; + } + + for (i = 0; i < childItemsLength; ++i) { + childContext = childItems[i]; + if (childContext.percentageParallel) { + childWidth = Math.ceil(percentageSpace * childContext.percentageParallel); + childWidth = childContext.setWidth(childWidth); + nonFlexWidth += childWidth; + } + } + } + + + + if (ownerContext.parallelSizeModel.shrinkWrap) { + plan.availableSpace = 0; + plan.tooNarrow = false; + } else { + plan.availableSpace = containerWidth - nonFlexWidth; + + + plan.tooNarrow = plan.availableSpace < ownerContext.flexedMinSize; + if (plan.tooNarrow && Ext.getScrollbarSize()[names.height] && me.scrollParallel && ownerContext.state.perpendicularDone) { + ownerContext.state.perpendicularDone = false; + for (i = 0; i < childItemsLength; ++i) { + childItems[i].invalidate(); + } + } + } + + contentWidth = nonFlexWidth; + remainingWidth = plan.availableSpace; + remainingFlex = ownerContext.totalFlex; + + + for (i = 0; i < flexedItemsLength; i++) { + childContext = flexedItems[i]; + flex = childContext.flex; + flexedWidth = me.roundFlex((flex / remainingFlex) * remainingWidth); + flexedWidth = childContext[setWidthName](flexedWidth); + + + + contentWidth += flexedWidth; + + remainingWidth = Math.max(0, remainingWidth - flexedWidth); + remainingFlex -= flex; + } + + if (pack.center) { + left += remainingWidth / 2; + + + if (left < 0) { + left = 0; + } + } else if (pack.end) { + left += remainingWidth; + } + + + for (i = 0; i < childItemsLength; ++i) { + childContext = childItems[i]; + childMargins = childContext.marginInfo; + + left += childMargins[leftName]; + + childContext.setProp(names.x, left); + + + + + + left += childMargins[rightName] + childContext.props[widthName]; + } + + contentWidth += ownerContext.targetContext.getPaddingInfo()[widthName]; + + + ownerContext.state.contentWidth = contentWidth; + + + + if (mayNeedScrollbarAdjust && + (ownerContext.peek(names.contentHeight) > plan.targetSize[names.height])) { + contentWidth += scrollbarWidth; + ownerContext[names.hasOverflowY] = true; + + + ownerContext.target.componentLayout[names.setWidthInDom] = true; + + + + + + ownerContext[names.invalidateScrollY] = (Ext.isStrict && Ext.isIE8); + } + ownerContext[names.setContentWidth](contentWidth); + + return true; + }, + + calculatePerpendicular: function(ownerContext, names, plan) { + var me = this, + heightShrinkWrap = ownerContext.perpendicularSizeModel.shrinkWrap, + targetSize = plan.targetSize, + childItems = ownerContext.childItems, + childItemsLength = childItems.length, + mmax = Math.max, + heightName = names.height, + setHeightName = names.setHeight, + topName = names.top, + topPositionName = names.y, + padding = me.padding, + top = padding[topName], + availHeight = targetSize[heightName] - top - padding[names.bottom], + align = ownerContext.boxOptions.align, + isStretch = align.stretch, + isStretchMax = align.stretchmax, + isCenter = align.center, + maxHeight = 0, + hasPercentageSizes = 0, + scrollbarHeight = Ext.getScrollbarSize().height, + childTop, i, childHeight, childMargins, diff, height, childContext, + stretchMaxPartner, stretchMaxChildren, shrinkWrapParallelOverflow, + percentagePerpendicular; + + if (isStretch || (isCenter && !heightShrinkWrap)) { + if (isNaN(availHeight)) { + return false; + } + } + + + + + + + + if (me.scrollParallel && plan.tooNarrow) { + if (heightShrinkWrap) { + shrinkWrapParallelOverflow = true; + } else { + availHeight -= scrollbarHeight; + plan.targetSize[heightName] -= scrollbarHeight; + } + } + + if (isStretch) { + height = availHeight; + } else { + for (i = 0; i < childItemsLength; i++) { + childContext = childItems[i]; + childMargins = (childContext.marginInfo || childContext.getMarginInfo())[heightName]; + + if (!(percentagePerpendicular = childContext.percentagePerpendicular)) { + childHeight = childContext.getProp(heightName); + } else { + ++hasPercentageSizes; + if (heightShrinkWrap) { + + + continue; + } else { + childHeight = percentagePerpendicular * availHeight - childMargins; + childHeight = childContext[names.setHeight](childHeight); + } + } + + + if (isNaN(maxHeight = mmax(maxHeight, childHeight + childMargins, + childContext.target[names.minHeight] || 0))) { + return false; + } + } + + + + if (shrinkWrapParallelOverflow) { + maxHeight += scrollbarHeight; + ownerContext[names.hasOverflowX] = true; + + + ownerContext.target.componentLayout[names.setHeightInDom] = true; + + + + + + ownerContext[names.invalidateScrollX] = (Ext.isStrict && Ext.isIE8); + } + + + + stretchMaxPartner = ownerContext.stretchMaxPartner; + if (stretchMaxPartner) { + + ownerContext.setProp('maxChildHeight', maxHeight); + stretchMaxChildren = stretchMaxPartner.childItems; + + if (stretchMaxChildren && stretchMaxChildren.length) { + maxHeight = mmax(maxHeight, stretchMaxPartner.getProp('maxChildHeight')); + if (isNaN(maxHeight)) { + return false; + } + } + } + + ownerContext[names.setContentHeight](maxHeight + me.padding[heightName] + + ownerContext.targetContext.getPaddingInfo()[heightName]); + + + + + if (shrinkWrapParallelOverflow) { + maxHeight -= scrollbarHeight; + } + plan.maxSize = maxHeight; + + if (isStretchMax) { + height = maxHeight; + } else if (isCenter || hasPercentageSizes) { + height = heightShrinkWrap ? maxHeight : mmax(availHeight, maxHeight); + + + + + + height -= ownerContext.innerCtContext.getBorderInfo()[heightName]; + } + } + + for (i = 0; i < childItemsLength; i++) { + childContext = childItems[i]; + childMargins = childContext.marginInfo || childContext.getMarginInfo(); + + childTop = top + childMargins[topName]; + + if (isStretch) { + childContext[setHeightName](height - childMargins[heightName]); + } else { + percentagePerpendicular = childContext.percentagePerpendicular; + if (heightShrinkWrap && percentagePerpendicular) { + childMargins = childContext.marginInfo || childContext.getMarginInfo(); + childHeight = percentagePerpendicular * height - childMargins[heightName]; + childHeight = childContext.setHeight(childHeight); + } + + if (isCenter) { + diff = height - childContext.props[heightName]; + if (diff > 0) { + childTop = top + Math.round(diff / 2); + } + } + } + + childContext.setProp(topPositionName, childTop); + } + + return true; + }, + + calculateStretchMax: function (ownerContext, names, plan) { + var me = this, + heightName = names.height, + widthName = names.width, + childItems = ownerContext.childItems, + length = childItems.length, + height = plan.maxSize, + onBeforeInvalidateChild = me.onBeforeInvalidateChild, + onAfterInvalidateChild = me.onAfterInvalidateChild, + childContext, props, i, childHeight; + + for (i = 0; i < length; ++i) { + childContext = childItems[i]; + + props = childContext.props; + childHeight = height - childContext.getMarginInfo()[heightName]; + + if (childHeight != props[heightName] || + childContext[names.heightModel].constrained) { + + + + + + + + childContext.invalidate({ + before: onBeforeInvalidateChild, + after: onAfterInvalidateChild, + layout: me, + + childWidth: props[widthName], + + childHeight: childHeight, + childX: props.x, + childY: props.y, + names: names + }); + } + } + }, + + completeLayout: function(ownerContext) { + var me = this, + names = ownerContext.boxNames, + invalidateScrollX = ownerContext.invalidateScrollX, + invalidateScrollY = ownerContext.invalidateScrollY, + dom, el, overflowX, overflowY, styles; + + me.overflowHandler.completeLayout(ownerContext); + + if (invalidateScrollX || invalidateScrollY) { + el = me.getTarget(); + dom = el.dom; + styles = dom.style; + + if (invalidateScrollX) { + + overflowX = el.getStyle('overflowX'); + if (overflowX == 'auto') { + + overflowX = styles.overflowX; + styles.overflowX = 'scroll'; + } else { + invalidateScrollX = false; + } + } + + if (invalidateScrollY) { + + overflowY = el.getStyle('overflowY'); + if (overflowY == 'auto') { + + overflowY = styles.overflowY; + styles.overflowY = 'scroll'; + } else { + invalidateScrollY = false; + } + } + + if (invalidateScrollX || invalidateScrollY) { + + dom.scrollWidth; + + if (invalidateScrollX) { + styles.overflowX = overflowX; + } + if (invalidateScrollY) { + styles.overflowY = overflowY; + } + } + } + + + if (me.scrollParallel) { + me.owner.getTargetEl().dom[names.scrollLeft] = me.scrollPos; + } + }, + + finishedLayout: function(ownerContext) { + this.overflowHandler.finishedLayout(ownerContext); + this.callParent(arguments); + + + + + + + + if (Ext.isWebKit) { + this.targetEl.setWidth(ownerContext.innerCtContext.props.width); + } + }, + + onBeforeInvalidateChild: function (childContext, options) { + + var heightModelName = options.names.heightModel; + + + + + + if (!childContext[heightModelName].constrainedMax) { + + + childContext[heightModelName] = Ext.layout.SizeModel.calculated; + } + }, + + onAfterInvalidateChild: function (childContext, options) { + + var names = options.names, + scrollbarSize = Ext.getScrollbarSize(), + childHeight = options.childHeight, + childWidth = options.childWidth; + + childContext.setProp('x', options.childX); + childContext.setProp('y', options.childY); + + if (childContext[names.heightModel].calculated) { + + + childContext[names.setHeight](childHeight); + } + + if (childContext[names.widthModel].calculated) { + childContext[names.setWidth](childWidth); + } + }, + + publishInnerCtSize: function(ownerContext, reservedSpace) { + var me = this, + names = ownerContext.boxNames, + heightName = names.height, + widthName = names.width, + align = ownerContext.boxOptions.align, + dock = me.owner.dock, + padding = me.padding, + plan = ownerContext.state.boxPlan, + targetSize = plan.targetSize, + height = targetSize[heightName], + innerCtContext = ownerContext.innerCtContext, + innerCtWidth = (ownerContext.parallelSizeModel.shrinkWrap || (plan.tooNarrow && me.scrollParallel) + ? ownerContext.state.contentWidth + : targetSize[widthName]) - (reservedSpace || 0), + innerCtHeight; + + if (align.stretch) { + innerCtHeight = height; + } else { + innerCtHeight = plan.maxSize + padding[names.top] + padding[names.bottom] + innerCtContext.getBorderInfo()[heightName]; + + if (!ownerContext.perpendicularSizeModel.shrinkWrap && align.center) { + innerCtHeight = Math.max(height, innerCtHeight); + } + } + + innerCtContext[names.setWidth](innerCtWidth); + innerCtContext[names.setHeight](innerCtHeight); + + + if (isNaN(innerCtWidth + innerCtHeight)) { + me.done = false; + } + + + + + + + + if (plan.calculatedWidth && (dock == 'left' || dock == 'right')) { + + ownerContext.setWidth(plan.calculatedWidth, true, true); + } + }, + + onRemove: function(comp){ + var me = this; + me.callParent(arguments); + if (me.overflowHandler) { + me.overflowHandler.onRemove(comp); + } + if (comp.layoutMarginCap == me.id) { + delete comp.layoutMarginCap; + } + }, + + + initOverflowHandler: function() { + var me = this, + handler = me.overflowHandler, + handlerType, + constructor; + + if (typeof handler == 'string') { + handler = { + type: handler + }; + } + + handlerType = 'None'; + if (handler && handler.type !== undefined) { + handlerType = handler.type; + } + + constructor = Ext.layout.container.boxOverflow[handlerType]; + if (constructor[me.type]) { + constructor = constructor[me.type]; + } + + me.overflowHandler = Ext.create('Ext.layout.container.boxOverflow.' + handlerType, me, handler); + }, + + + + getRenderTarget: function() { + return this.targetEl; + }, + + + + getElementTarget: function() { + return this.innerCt; + }, + + + + destroy: function() { + Ext.destroy(this.innerCt, this.overflowHandler); + this.callParent(arguments); + } +}); + + +Ext.define('Ext.layout.container.HBox', { + + + + alias: ['layout.hbox'], + extend: 'Ext.layout.container.Box', + alternateClassName: 'Ext.layout.HBoxLayout', + + + + + align: 'top', + + type : 'hbox', + + direction: 'horizontal', + + horizontal: true, + + names: { + + lr: 'lr', + left: 'left', + leftCap: 'Left', + right: 'right', + position: 'left', + width: 'width', + contentWidth: 'contentWidth', + minWidth: 'minWidth', + maxWidth: 'maxWidth', + widthCap: 'Width', + widthModel: 'widthModel', + widthIndex: 0, + x: 'x', + scrollLeft: 'scrollLeft', + overflowX: 'overflowX', + hasOverflowX: 'hasOverflowX', + invalidateScrollX: 'invalidateScrollX', + + + center: 'middle', + top: 'top', + topPosition: 'top', + bottom: 'bottom', + height: 'height', + contentHeight: 'contentHeight', + minHeight: 'minHeight', + maxHeight: 'maxHeight', + heightCap: 'Height', + heightModel: 'heightModel', + heightIndex: 1, + y: 'y', + scrollTop: 'scrollTop', + overflowY: 'overflowY', + hasOverflowY: 'hasOverflowY', + invalidateScrollY: 'invalidateScrollY', + + + getWidth: 'getWidth', + getHeight: 'getHeight', + setWidth: 'setWidth', + setHeight: 'setHeight', + gotWidth: 'gotWidth', + gotHeight: 'gotHeight', + setContentWidth: 'setContentWidth', + setContentHeight: 'setContentHeight', + setWidthInDom: 'setWidthInDom', + setHeightInDom: 'setHeightInDom' + }, + + sizePolicy: { + flex: { + '': { + setsWidth: 1, + setsHeight: 0 + }, + stretch: { + setsWidth: 1, + setsHeight: 1 + }, + stretchmax: { + readsHeight: 1, + setsWidth: 1, + setsHeight: 1 + } + }, + '': { + setsWidth: 0, + setsHeight: 0 + }, + stretch: { + setsWidth: 0, + setsHeight: 1 + }, + stretchmax: { + readsHeight: 1, + setsWidth: 0, + setsHeight: 1 + } + } +}); + + +Ext.define('Ext.layout.container.VBox', { + + + + alias: ['layout.vbox'], + extend: 'Ext.layout.container.Box', + alternateClassName: 'Ext.layout.VBoxLayout', + + + + + align : 'left', + + type: 'vbox', + + direction: 'vertical', + + horizontal: false, + + names: { + + lr: 'tb', + left: 'top', + leftCap: 'Top', + right: 'bottom', + position: 'top', + width: 'height', + contentWidth: 'contentHeight', + minWidth: 'minHeight', + maxWidth: 'maxHeight', + widthCap: 'Height', + widthModel: 'heightModel', + widthIndex: 1, + x: 'y', + scrollLeft: 'scrollTop', + overflowX: 'overflowY', + hasOverflowX: 'hasOverflowY', + invalidateScrollX: 'invalidateScrollY', + + + center: 'center', + top: 'left', + topPosition: 'left', + bottom: 'right', + height: 'width', + contentHeight: 'contentWidth', + minHeight: 'minWidth', + maxHeight: 'maxWidth', + heightCap: 'Width', + heightModel: 'widthModel', + heightIndex: 0, + y: 'x', + scrollTop: 'scrollLeft', + overflowY: 'overflowX', + hasOverflowY: 'hasOverflowX', + invalidateScrollY: 'invalidateScrollX', + + + getWidth: 'getHeight', + getHeight: 'getWidth', + setWidth: 'setHeight', + setHeight: 'setWidth', + gotWidth: 'gotHeight', + gotHeight: 'gotWidth', + setContentWidth: 'setContentHeight', + setContentHeight: 'setContentWidth', + setWidthInDom: 'setHeightInDom', + setHeightInDom: 'setWidthInDom' + }, + + sizePolicy: { + flex: { + '': { + setsWidth: 0, + setsHeight: 1 + }, + stretch: { + setsWidth: 1, + setsHeight: 1 + }, + stretchmax: { + readsWidth: 1, + setsWidth: 1, + setsHeight: 1 + } + }, + '': { + setsWidth: 0, + setsHeight: 0 + }, + stretch: { + setsWidth: 1, + setsHeight: 0 + }, + stretchmax: { + readsWidth: 1, + setsWidth: 1, + setsHeight: 0 + } + } +}); + + +Ext.define('Ext.toolbar.Toolbar', { + extend: 'Ext.container.Container', + requires: [ + 'Ext.toolbar.Fill', + 'Ext.layout.container.HBox', + 'Ext.layout.container.VBox' + ], + uses: [ + 'Ext.toolbar.Separator' + ], + alias: 'widget.toolbar', + alternateClassName: 'Ext.Toolbar', + + + isToolbar: true, + baseCls : Ext.baseCSSPrefix + 'toolbar', + ariaRole : 'toolbar', + + defaultType: 'button', + + + vertical: false, + + + + + enableOverflow: false, + + + menuTriggerCls: Ext.baseCSSPrefix + 'toolbar-more-icon', + + + trackMenus: true, + + itemCls: Ext.baseCSSPrefix + 'toolbar-item', + + statics: { + shortcuts: { + '-' : 'tbseparator', + ' ' : 'tbspacer' + }, + + shortcutsHV: { + + 0: { + '->': { xtype: 'tbfill', height: 0 } + }, + + 1: { + '->': { xtype: 'tbfill', width: 0 } + } + } + }, + + initComponent: function() { + var me = this, + keys; + + + if (!me.layout && me.enableOverflow) { + me.layout = { overflowHandler: 'Menu' }; + } + + if (me.dock === 'right' || me.dock === 'left') { + me.vertical = true; + } + + me.layout = Ext.applyIf(Ext.isString(me.layout) ? { + type: me.layout + } : me.layout || {}, { + type: me.vertical ? 'vbox' : 'hbox', + align: me.vertical ? 'stretchmax' : 'middle' + }); + + if (me.vertical) { + me.addClsWithUI('vertical'); + } + + + if (me.ui === 'footer') { + me.ignoreBorderManagement = true; + } + + me.callParent(); + + + me.addEvents('overflowchange'); + }, + + getRefItems: function(deep) { + var me = this, + items = me.callParent(arguments), + layout = me.layout, + handler; + + if (deep && me.enableOverflow) { + handler = layout.overflowHandler; + if (handler && handler.menu) { + items = items.concat(handler.menu.getRefItems(deep)); + } + } + return items; + }, + + + + + lookupComponent: function(c) { + if (typeof c == 'string') { + var T = Ext.toolbar.Toolbar, + shortcut = T.shortcutsHV[this.vertical ? 1 : 0][c] || T.shortcuts[c]; + + if (typeof shortcut == 'string') { + c = { + xtype: shortcut + }; + } else if (shortcut) { + c = Ext.apply({}, shortcut); + } else { + c = { + xtype: 'tbtext', + text: c + }; + } + + this.applyDefaults(c); + } + + return this.callParent(arguments); + }, + + + applyDefaults: function(c) { + if (!Ext.isString(c)) { + c = this.callParent(arguments); + } + return c; + }, + + + trackMenu: function(item, remove) { + if (this.trackMenus && item.menu) { + var method = remove ? 'mun' : 'mon', + me = this; + + me[method](item, 'mouseover', me.onButtonOver, me); + me[method](item, 'menushow', me.onButtonMenuShow, me); + me[method](item, 'menuhide', me.onButtonMenuHide, me); + } + }, + + + constructButton: function(item) { + return item.events ? item + : Ext.widget(item.split ? 'splitbutton' : this.defaultType, item); + }, + + + onBeforeAdd: function(component) { + if (component.is('field') || (component.is('button') && this.ui != 'footer')) { + component.ui = component.ui + '-toolbar'; + } + + + if (component instanceof Ext.toolbar.Separator) { + component.setUI((this.vertical) ? 'vertical' : 'horizontal'); + } + + this.callParent(arguments); + }, + + + onAdd: function(component) { + this.callParent(arguments); + this.trackMenu(component); + }, + + + onRemove: function(c) { + this.callParent(arguments); + this.trackMenu(c, true); + }, + + getChildItemsToDisable: function() { + return this.items.getRange(); + }, + + + onButtonOver: function(btn){ + if (this.activeMenuBtn && this.activeMenuBtn != btn) { + this.activeMenuBtn.hideMenu(); + btn.showMenu(); + this.activeMenuBtn = btn; + } + }, + + + onButtonMenuShow: function(btn) { + this.activeMenuBtn = btn; + }, + + + onButtonMenuHide: function(btn) { + delete this.activeMenuBtn; + } +}); + + +Ext.define('Ext.container.DockingContainer', { + + + + requires: ['Ext.util.MixedCollection', 'Ext.Element' ], + + + + isDockingContainer: true, + + + defaultDockWeights: { + top: { render: 1, visual: 1 }, + left: { render: 3, visual: 5 }, + right: { render: 5, visual: 7 }, + bottom: { render: 7, visual: 3 } + }, + + + + + + dockOrder: { + top: -1, + left: -1, + right: 1, + bottom: 1 + }, + + + addDocked : function(items, pos) { + var me = this, + i = 0, + item, length; + + items = me.prepareItems(items); + length = items.length; + + for (; i < length; i++) { + item = items[i]; + item.dock = item.dock || 'top'; + + if (pos !== undefined) { + me.dockedItems.insert(pos + i, item); + } else { + me.dockedItems.add(item); + } + if (item.onAdded !== Ext.emptyFn) { + item.onAdded(me, i); + } + if (me.onDockedAdd !== Ext.emptyFn) { + me.onDockedAdd(item); + } + } + + if (me.rendered && !me.suspendLayout) { + me.updateLayout(); + } + return items; + }, + + destroyDockedItems: function(){ + var dockedItems = this.dockedItems, + c; + + if (dockedItems) { + while ((c = dockedItems.first())) { + this.removeDocked(c, true); + } + } + }, + + doRenderDockedItems: function (out, renderData, after) { + + + + + + + + + var me = renderData.$comp, + layout = me.componentLayout, + items, + tree; + + if (layout.getDockedItems && !renderData.$skipDockedItems) { + items = layout.getDockedItems('render', !after); + tree = items && layout.getItemsRenderTree(items); + + if (tree) { + Ext.DomHelper.generateMarkup(tree, out); + } + } + }, + + + getDockedComponent: function(comp) { + if (Ext.isObject(comp)) { + comp = comp.getItemId(); + } + return this.dockedItems.get(comp); + }, + + + getDockedItems : function(selector, beforeBody) { + var dockedItems = this.getComponentLayout().getDockedItems('render', beforeBody); + + if (selector && dockedItems.length) { + dockedItems = Ext.ComponentQuery.query(selector, dockedItems); + } + + return dockedItems; + }, + + getDockingRefItems: function(deep, containerItems) { + + var selector = deep && '*,* *', + + dockedItems = this.getDockedItems(selector, true), + items; + + + dockedItems.push.apply(dockedItems, containerItems); + + + items = this.getDockedItems(selector, false); + dockedItems.push.apply(dockedItems, items); + + return dockedItems; + }, + + initDockingItems: function() { + var me = this, + items = me.dockedItems; + + me.dockedItems = new Ext.util.AbstractMixedCollection(false, me.getComponentId); + if (items) { + me.addDocked(items); + } + }, + + + insertDocked : function(pos, items) { + this.addDocked(items, pos); + }, + + + + onDockedAdd : Ext.emptyFn, + + onDockedRemove : Ext.emptyFn, + + + removeDocked : function(item, autoDestroy) { + var me = this, + layout, + hasLayout; + + if (!me.dockedItems.contains(item)) { + return item; + } + + layout = me.componentLayout; + hasLayout = layout && me.rendered; + + if (hasLayout) { + layout.onRemove(item); + } + + me.dockedItems.remove(item); + item.onRemoved(); + me.onDockedRemove(item); + + if (autoDestroy === true || (autoDestroy !== false && me.autoDestroy)) { + item.destroy(); + } else if (hasLayout) { + + layout.afterRemove(item); + } + + if (!me.destroying && !me.suspendLayout) { + me.updateLayout(); + } + + return item; + }, + + setupDockingRenderTpl: function (renderTpl) { + renderTpl.renderDockedItems = this.doRenderDockedItems; + } +}); + + +Ext.define('Ext.panel.AbstractPanel', { + + + + extend: 'Ext.container.Container', + + mixins: { + docking: 'Ext.container.DockingContainer' + }, + + requires: ['Ext.util.MixedCollection', 'Ext.Element', 'Ext.toolbar.Toolbar'], + + + + + baseCls : Ext.baseCSSPrefix + 'panel', + + + + + + + + + + + isPanel: true, + + componentLayout: 'dock', + + childEls: [ + 'body' + ], + + renderTpl: [ + + '{% this.renderDockedItems(out,values,0); %}', + + + + + + + + (Ext.isIE6 || Ext.isIE7 || Ext.isIEQuirks) ? '
' : '', + '
{bodyCls}', + ' {baseCls}-body-{ui}', + ' {parent.baseCls}-body-{parent.ui}-{.}', + '" style="{bodyStyle}">', + '{%this.renderContainer(out,values);%}', + '
', + '{% this.renderDockedItems(out,values,1); %}' + ], + + bodyPosProps: { + x: 'x', + y: 'y' + }, + + + + + border: true, + + + emptyArray: [], + + initComponent : function() { + var me = this; + + + + + if (me.frame && me.border && me.bodyBorder === undefined) { + me.bodyBorder = false; + } + if (me.frame && me.border && (me.bodyBorder === false || me.bodyBorder === 0)) { + me.manageBodyBorders = true; + } + + me.callParent(); + }, + + beforeDestroy: function(){ + this.destroyDockedItems(); + this.callParent(); + }, + + + initItems : function() { + this.callParent(); + this.initDockingItems(); + }, + + + initRenderData: function() { + var me = this, + data = me.callParent(); + + me.initBodyStyles(); + me.protoBody.writeTo(data); + delete me.protoBody; + + return data; + }, + + + getComponent: function(comp) { + var component = this.callParent(arguments); + if (component === undefined && !Ext.isNumber(comp)) { + + component = this.getDockedComponent(comp); + } + return component; + }, + + getProtoBody: function () { + var me = this, + body = me.protoBody; + + if (!body) { + me.protoBody = body = new Ext.util.ProtoElement({ + cls: me.bodyCls, + style: me.bodyStyle, + clsProp: 'bodyCls', + styleProp: 'bodyStyle', + styleIsText: true + }); + } + + return body; + }, + + + initBodyStyles: function() { + var me = this, + body = me.getProtoBody(), + Element = Ext.Element; + + if (me.bodyPadding !== undefined) { + body.setStyle('padding', Element.unitizeBox((me.bodyPadding === true) ? 5 : me.bodyPadding)); + } + if (me.frame && me.bodyBorder) { + if (!Ext.isNumber(me.bodyBorder)) { + me.bodyBorder = 1; + } + body.setStyle('border-width', Element.unitizeBox(me.bodyBorder)); + } + }, + + getCollapsedDockedItems: function () { + var me = this; + return me.collapseMode == 'placeholder' ? me.emptyArray : [ me.getReExpander() ]; + }, + + + setBodyStyle: function(style, value) { + var me = this, + body = me.rendered ? me.body : me.getProtoBody(); + + if (Ext.isFunction(style)) { + style = style(); + } + if (arguments.length == 1) { + if (Ext.isString(style)) { + style = Ext.Element.parseStyles(style); + } + body.setStyle(style); + } else { + body.setStyle(style, value); + } + return me; + }, + + + addBodyCls: function(cls) { + var me = this, + body = me.rendered ? me.body : me.getProtoBody(); + + body.addCls(cls); + return me; + }, + + + removeBodyCls: function(cls) { + var me = this, + body = me.rendered ? me.body : me.getProtoBody(); + + body.removeCls(cls); + return me; + }, + + + addUIClsToElement: function(cls) { + var me = this, + result = me.callParent(arguments); + + me.addBodyCls([Ext.baseCSSPrefix + cls, me.baseCls + '-body-' + cls, me.baseCls + '-body-' + me.ui + '-' + cls]); + return result; + }, + + + removeUIClsFromElement: function(cls) { + var me = this, + result = me.callParent(arguments); + + me.removeBodyCls([Ext.baseCSSPrefix + cls, me.baseCls + '-body-' + cls, me.baseCls + '-body-' + me.ui + '-' + cls]); + return result; + }, + + + addUIToElement: function() { + var me = this; + + me.callParent(arguments); + me.addBodyCls(me.baseCls + '-body-' + me.ui); + }, + + + removeUIFromElement: function() { + var me = this; + + me.callParent(arguments); + me.removeBodyCls(me.baseCls + '-body-' + me.ui); + }, + + + getTargetEl : function() { + return this.body; + }, + + getRefItems: function(deep) { + var items = this.callParent(arguments); + + return this.getDockingRefItems(deep, items); + }, + + setupRenderTpl: function (renderTpl) { + this.callParent(arguments); + this.setupDockingRenderTpl(renderTpl); + } +}); + + +Ext.define('Ext.layout.component.Body', { + + + + alias: ['layout.body'], + + extend: 'Ext.layout.component.Auto', + + + + type: 'body', + + beginLayout: function (ownerContext) { + this.callParent(arguments); + + ownerContext.bodyContext = ownerContext.getEl('body'); + }, + + + + + + + + + calculateOwnerHeightFromContentHeight: function (ownerContext, contentHeight) { + var height = this.callParent(arguments); + + if (ownerContext.targetContext != ownerContext) { + height += ownerContext.getPaddingInfo().height; + } + + return height; + }, + + calculateOwnerWidthFromContentWidth: function (ownerContext, contentWidth) { + var width = this.callParent(arguments); + + if (ownerContext.targetContext != ownerContext) { + width += ownerContext.getPaddingInfo().width; + } + + return width; + }, + + measureContentWidth: function (ownerContext) { + return ownerContext.bodyContext.setWidth(ownerContext.bodyContext.el.dom.offsetWidth, false); + }, + + measureContentHeight: function (ownerContext) { + return ownerContext.bodyContext.setHeight(ownerContext.bodyContext.el.dom.offsetHeight, false); + }, + + publishInnerHeight: function (ownerContext, height) { + var innerHeight = height - ownerContext.getFrameInfo().height, + targetContext = ownerContext.targetContext; + + if (targetContext != ownerContext) { + innerHeight -= ownerContext.getPaddingInfo().height; + } + + + return ownerContext.bodyContext.setHeight(innerHeight, !ownerContext.heightModel.natural); + }, + + publishInnerWidth: function (ownerContext, width) { + var innerWidth = width - ownerContext.getFrameInfo().width, + targetContext = ownerContext.targetContext; + + if (targetContext != ownerContext) { + innerWidth -= ownerContext.getPaddingInfo().width; + } + + ownerContext.bodyContext.setWidth(innerWidth, !ownerContext.widthModel.natural); + } +}); + + +Ext.define('Ext.panel.Header', { + extend: 'Ext.container.Container', + uses: ['Ext.panel.Tool', 'Ext.draw.Component', 'Ext.util.CSS', 'Ext.layout.component.Body', 'Ext.Img'], + alias: 'widget.header', + + + isHeader : true, + defaultType : 'tool', + indicateDrag : false, + weight : -1, + componentLayout: 'body', + + + titleAlign: 'left', + + childEls: [ + 'body' + ], + + renderTpl: [ + '
{parent.baseCls}-body-{parent.ui}-{.}"', + ' style="{bodyStyle}">', + '{%this.renderContainer(out,values)%}', + '
' + ], + + headingTpl: '{title}', + + shrinkWrap: 3, + + + + + + + + initComponent: function() { + var me = this, + ruleStyle, + rule, + style, + ui, + tempEl; + + me.addEvents( + + 'click', + + + 'dblclick' + ); + + me.indicateDragCls = me.baseCls + '-draggable'; + me.title = me.title || ' '; + me.tools = me.tools || []; + me.items = me.items || []; + me.orientation = me.orientation || 'horizontal'; + me.dock = (me.dock) ? me.dock : (me.orientation == 'horizontal') ? 'top' : 'left'; + + + + me.addClsWithUI([me.orientation, me.dock]); + + if (me.indicateDrag) { + me.addCls(me.indicateDragCls); + } + + + if (!Ext.isEmpty(me.iconCls) || !Ext.isEmpty(me.icon)) { + me.initIconCmp(); + me.items.push(me.iconCmp); + } + + + if (me.orientation == 'vertical') { + me.layout = { + type : 'vbox', + align: 'center' + }; + me.textConfig = { + width: 16, + cls: me.baseCls + '-text', + type: 'text', + text: me.title, + rotate: { + degrees: 90 + } + }; + ui = me.ui; + if (Ext.isArray(ui)) { + ui = ui[0]; + } + ruleStyle = '.' + me.baseCls + '-text-' + ui; + if (Ext.scopeResetCSS) { + ruleStyle = '.' + Ext.baseCSSPrefix + 'reset ' + ruleStyle; + } + rule = Ext.util.CSS.getRule(ruleStyle); + + + if (rule) { + style = rule.style; + } else { + style = (tempEl = Ext.resetElement.createChild({style: 'position:absolute', cls: me.baseCls + '-text-' + ui})).getStyles('fontFamily', 'fontWeight', 'fontSize', 'color'); + tempEl.remove(); + } + if (style) { + Ext.apply(me.textConfig, { + 'font-family': style.fontFamily, + 'font-weight': style.fontWeight, + 'font-size': style.fontSize, + fill: style.color + }); + } + me.titleCmp = new Ext.draw.Component({ + width : 16, + ariaRole : 'heading', + focusable : false, + viewBox : false, + flex : 1, + id : me.id + '_hd', + autoSize : true, + items : me.textConfig, + xhooks: { + setSize: function (width) { + + this.callParent([width]); + } + }, + + + childEls : [ + { name: 'textEl', select: '.' + me.baseCls + '-text' } + ] + }); + } else { + me.layout = { + type : 'hbox', + align: 'middle' + }; + me.titleCmp = new Ext.Component({ + ariaRole : 'heading', + focusable : false, + noWrap : true, + flex : 1, + id : me.id + '_hd', + style : 'text-align:' + me.titleAlign, + cls : me.baseCls + '-text-container', + renderTpl : me.getTpl('headingTpl'), + renderData: { + title: me.title, + cls : me.baseCls, + ui : me.ui + }, + childEls : ['textEl'] + }); + } + me.items.push(me.titleCmp); + + + me.items = me.items.concat(me.tools); + me.callParent(); + + me.on({ + dblclick: me.onDblClick, + click: me.onClick, + element: 'el', + scope: me + }); + }, + + initIconCmp: function() { + var me = this, + cfg = { + focusable: false, + src: Ext.BLANK_IMAGE_URL, + cls: [me.baseCls + '-icon', me.iconCls], + id: me.id + '-iconEl', + iconCls: me.iconCls + }; + + if (!Ext.isEmpty(me.icon)) { + delete cfg.iconCls; + cfg.src = me.icon; + } + + me.iconCmp = new Ext.Img(cfg); + }, + + afterRender: function() { + this.el.unselectable(); + this.callParent(); + }, + + + addUIClsToElement: function(cls) { + var me = this, + result = me.callParent(arguments), + classes = [me.baseCls + '-body-' + cls, me.baseCls + '-body-' + me.ui + '-' + cls], + array, i; + + if (me.bodyCls) { + array = me.bodyCls.split(' '); + + for (i = 0; i < classes.length; i++) { + if (!Ext.Array.contains(array, classes[i])) { + array.push(classes[i]); + } + } + + me.bodyCls = array.join(' '); + } else { + me.bodyCls = classes.join(' '); + } + + return result; + }, + + + removeUIClsFromElement: function(cls) { + var me = this, + result = me.callParent(arguments), + classes = [me.baseCls + '-body-' + cls, me.baseCls + '-body-' + me.ui + '-' + cls], + array, i; + + if (me.bodyCls) { + array = me.bodyCls.split(' '); + + for (i = 0; i < classes.length; i++) { + Ext.Array.remove(array, classes[i]); + } + + me.bodyCls = array.join(' '); + } + + return result; + }, + + + addUIToElement: function() { + var me = this, + array, cls; + + me.callParent(arguments); + + cls = me.baseCls + '-body-' + me.ui; + if (me.rendered) { + if (me.bodyCls) { + me.body.addCls(me.bodyCls); + } else { + me.body.addCls(cls); + } + } else { + if (me.bodyCls) { + array = me.bodyCls.split(' '); + + if (!Ext.Array.contains(array, cls)) { + array.push(cls); + } + + me.bodyCls = array.join(' '); + } else { + me.bodyCls = cls; + } + } + + if (me.titleCmp && me.titleCmp.rendered && me.titleCmp.textEl) { + me.titleCmp.textEl.addCls(me.baseCls + '-text-' + me.ui); + } + }, + + + removeUIFromElement: function() { + var me = this, + array, cls; + + me.callParent(arguments); + + cls = me.baseCls + '-body-' + me.ui; + if (me.rendered) { + if (me.bodyCls) { + me.body.removeCls(me.bodyCls); + } else { + me.body.removeCls(cls); + } + } else { + if (me.bodyCls) { + array = me.bodyCls.split(' '); + Ext.Array.remove(array, cls); + me.bodyCls = array.join(' '); + } else { + me.bodyCls = cls; + } + } + + if (me.titleCmp && me.titleCmp.rendered && me.titleCmp.textEl) { + me.titleCmp.textEl.removeCls(me.baseCls + '-text-' + me.ui); + } + }, + + onClick: function(e) { + this.fireClickEvent('click', e); + }, + + onDblClick: function(e){ + this.fireClickEvent('dblclick', e); + }, + + fireClickEvent: function(type, e){ + var toolCls = '.' + Ext.panel.Tool.prototype.baseCls; + if (!e.getTarget(toolCls)) { + this.fireEvent(type, this, e); + } + }, + + getFocusEl: function() { + return this.el; + }, + + getTargetEl: function() { + return this.body || this.frameBody || this.el; + }, + + + setTitle: function(title) { + var me = this, + sprite, + surface; + if (me.rendered) { + if (me.titleCmp.rendered) { + if (me.titleCmp.surface) { + me.title = title || ''; + sprite = me.titleCmp.surface.items.items[0]; + surface = me.titleCmp.surface; + + surface.remove(sprite); + me.textConfig.type = 'text'; + me.textConfig.text = title; + sprite = surface.add(me.textConfig); + sprite.setAttributes({ + rotate: { + degrees: 90 + } + }, true); + me.titleCmp.autoSizeSurface(); + } else { + me.title = title; + me.titleCmp.textEl.update(me.title || ' '); + } + me.titleCmp.updateLayout(); + } else { + me.titleCmp.on({ + render: function() { + me.setTitle(title); + }, + single: true + }); + } + } else { + me.title = title; + } + }, + + + getMinWidth: function() { + var me = this, + textEl = me.titleCmp.textEl.dom, + result, + tools = me.tools, + l, i; + + + textEl.style.display = 'inline'; + result = textEl.offsetWidth; + textEl.style.display = ''; + + + if (tools && (l = tools.length)) { + for (i = 0; i < l; i++) { + if (tools[i].el) { + result += tools[i].el.dom.offsetWidth; + } + } + } + + + if (me.iconCmp) { + result += me.iconCmp.el.dom.offsetWidth; + } + + + return result + 10; + }, + + + setIconCls: function(cls) { + var me = this, + isEmpty = !cls || !cls.length, + iconCmp = me.iconCmp; + + me.iconCls = cls; + if (!me.iconCmp && !isEmpty) { + me.initIconCmp(); + me.insert(0, me.iconCmp); + } else if (iconCmp) { + if (isEmpty) { + me.iconCmp.destroy(); + delete me.iconCmp; + } else { + iconCmp.removeCls(iconCmp.iconCls); + iconCmp.addCls(cls); + iconCmp.iconCls = cls; + } + } + }, + + + setIcon: function(icon) { + var me = this, + isEmpty = !icon || !icon.length, + iconCmp = me.iconCmp; + + me.icon = icon; + if (!me.iconCmp && !isEmpty) { + me.initIconCmp(); + me.insert(0, me.iconCmp); + } else if (iconCmp) { + if (isEmpty) { + me.iconCmp.destroy(); + delete me.iconCmp; + } else { + iconCmp.setSrc(me.icon); + } + } + }, + + + addTool: function(tool) { + this.tools.push(this.add(tool)); + }, + + + onAdd: function(component, index) { + this.callParent(arguments); + if (component instanceof Ext.panel.Tool) { + component.bindTo(this.ownerCt); + this.tools[component.type] = component; + } + }, + + + initRenderData: function() { + return Ext.applyIf(this.callParent(), { + bodyCls: this.bodyCls + }); + } +}); + + +Ext.define('Ext.fx.target.Target', { + + isAnimTarget: true, + + + constructor: function(target) { + this.target = target; + this.id = this.getId(); + }, + + getId: function() { + return this.target.id; + } +}); + + +Ext.define('Ext.fx.target.Element', { + + + + extend: 'Ext.fx.target.Target', + + + + type: 'element', + + getElVal: function(el, attr, val) { + if (val == undefined) { + if (attr === 'x') { + val = el.getX(); + } + else if (attr === 'y') { + val = el.getY(); + } + else if (attr === 'scrollTop') { + val = el.getScroll().top; + } + else if (attr === 'scrollLeft') { + val = el.getScroll().left; + } + else if (attr === 'height') { + val = el.getHeight(); + } + else if (attr === 'width') { + val = el.getWidth(); + } + else { + val = el.getStyle(attr); + } + } + return val; + }, + + getAttr: function(attr, val) { + var el = this.target; + return [[ el, this.getElVal(el, attr, val)]]; + }, + + setAttr: function(targetData) { + var target = this.target, + ln = targetData.length, + attrs, attr, o, i, j, ln2, element, value; + for (i = 0; i < ln; i++) { + attrs = targetData[i].attrs; + for (attr in attrs) { + if (attrs.hasOwnProperty(attr)) { + ln2 = attrs[attr].length; + for (j = 0; j < ln2; j++) { + o = attrs[attr][j]; + element = o[0]; + value = o[1]; + if (attr === 'x') { + element.setX(value); + } else if (attr === 'y') { + element.setY(value); + } else if (attr === 'scrollTop') { + element.scrollTo('top', value); + } else if (attr === 'scrollLeft') { + element.scrollTo('left',value); + } else if (attr === 'width') { + element.setWidth(value); + } else if (attr === 'height') { + element.setHeight(value); + } else { + element.setStyle(attr, value); + } + } + } + } + } + } +}); + + +Ext.define('Ext.fx.target.ElementCSS', { + + + + extend: 'Ext.fx.target.Element', + + + + setAttr: function(targetData, isFirstFrame) { + var cssArr = { + attrs: [], + duration: [], + easing: [] + }, + ln = targetData.length, + attributes, + attrs, + attr, + easing, + duration, + o, + i, + j, + ln2; + for (i = 0; i < ln; i++) { + attrs = targetData[i]; + duration = attrs.duration; + easing = attrs.easing; + attrs = attrs.attrs; + for (attr in attrs) { + if (Ext.Array.indexOf(cssArr.attrs, attr) == -1) { + cssArr.attrs.push(attr.replace(/[A-Z]/g, function(v) { + return '-' + v.toLowerCase(); + })); + cssArr.duration.push(duration + 'ms'); + cssArr.easing.push(easing); + } + } + } + attributes = cssArr.attrs.join(','); + duration = cssArr.duration.join(','); + easing = cssArr.easing.join(', '); + for (i = 0; i < ln; i++) { + attrs = targetData[i].attrs; + for (attr in attrs) { + ln2 = attrs[attr].length; + for (j = 0; j < ln2; j++) { + o = attrs[attr][j]; + o[0].setStyle(Ext.supports.CSS3Prefix + 'TransitionProperty', isFirstFrame ? '' : attributes); + o[0].setStyle(Ext.supports.CSS3Prefix + 'TransitionDuration', isFirstFrame ? '' : duration); + o[0].setStyle(Ext.supports.CSS3Prefix + 'TransitionTimingFunction', isFirstFrame ? '' : easing); + o[0].setStyle(attr, o[1]); + + + if (isFirstFrame) { + o = o[0].dom.offsetWidth; + } + else { + + o[0].on(Ext.supports.CSS3TransitionEnd, function() { + this.setStyle(Ext.supports.CSS3Prefix + 'TransitionProperty', null); + this.setStyle(Ext.supports.CSS3Prefix + 'TransitionDuration', null); + this.setStyle(Ext.supports.CSS3Prefix + 'TransitionTimingFunction', null); + }, o[0], { single: true }); + } + } + } + } + } +}); + + +Ext.define('Ext.fx.target.CompositeElement', { + + + + extend: 'Ext.fx.target.Element', + + + + + isComposite: true, + + constructor: function(target) { + target.id = target.id || Ext.id(null, 'ext-composite-'); + this.callParent([target]); + }, + + getAttr: function(attr, val) { + var out = [], + elements = this.target.elements, + length = elements.length, + i, + el; + + for (i = 0; i < length; i++) { + el = elements[i]; + + if (el) { + el = this.target.getElement(el); + out.push([el, this.getElVal(el, attr, val)]); + } + } + + return out; + } +}); + + +Ext.define('Ext.fx.target.CompositeElementCSS', { + + + + extend: 'Ext.fx.target.CompositeElement', + + requires: ['Ext.fx.target.ElementCSS'], + + + setAttr: function() { + return Ext.fx.target.ElementCSS.prototype.setAttr.apply(this, arguments); + } +}); + + + +Ext.define('Ext.fx.target.Sprite', { + + + + extend: 'Ext.fx.target.Target', + + + + type: 'draw', + + getFromPrim: function (sprite, attr) { + var obj; + switch (attr) { + case 'rotate': + case 'rotation': + obj = sprite.attr.rotation; + return { + x: obj.x || 0, + y: obj.y || 0, + degrees: obj.degrees || 0 + }; + case 'scale': + case 'scaling': + obj = sprite.attr.scaling; + return { + x: obj.x || 1, + y: obj.y || 1, + cx: obj.cx || 0, + cy: obj.cy || 0 + }; + case 'translate': + case 'translation': + obj = sprite.attr.translation; + return { + x: obj.x || 0, + y: obj.y || 0 + }; + default: + return sprite.attr[attr]; + } + }, + + getAttr: function (attr, val) { + return [ + [this.target, val != undefined ? val : this.getFromPrim(this.target, attr)] + ]; + }, + + setAttr: function (targetData) { + var ln = targetData.length, + spriteArr = [], + attrsConf, attr, attrArr, attrs, sprite, idx, value, i, j, x, y, ln2; + for (i = 0; i < ln; i++) { + attrsConf = targetData[i].attrs; + for (attr in attrsConf) { + attrArr = attrsConf[attr]; + ln2 = attrArr.length; + for (j = 0; j < ln2; j++) { + sprite = attrArr[j][0]; + attrs = attrArr[j][1]; + if (attr === 'translate' || attr === 'translation') { + value = { + x: attrs.x, + y: attrs.y + }; + } + else if (attr === 'rotate' || attr === 'rotation') { + x = attrs.x; + if (isNaN(x)) { + x = null; + } + y = attrs.y; + if (isNaN(y)) { + y = null; + } + value = { + degrees: attrs.degrees, + x: x, + y: y + }; + } else if (attr === 'scale' || attr === 'scaling') { + x = attrs.x; + if (isNaN(x)) { + x = null; + } + y = attrs.y; + if (isNaN(y)) { + y = null; + } + value = { + x: x, + y: y, + cx: attrs.cx, + cy: attrs.cy + }; + } + else if (attr === 'width' || attr === 'height' || attr === 'x' || attr === 'y') { + value = parseFloat(attrs); + } + else { + value = attrs; + } + idx = Ext.Array.indexOf(spriteArr, sprite); + if (idx == -1) { + spriteArr.push([sprite, {}]); + idx = spriteArr.length - 1; + } + spriteArr[idx][1][attr] = value; + } + } + } + ln = spriteArr.length; + for (i = 0; i < ln; i++) { + spriteArr[i][0].setAttributes(spriteArr[i][1]); + } + this.target.redraw(); + } +}); + + + +Ext.define('Ext.fx.target.CompositeSprite', { + + + + extend: 'Ext.fx.target.Sprite', + + + + getAttr: function(attr, val) { + var out = [], + sprites = [].concat(this.target.items), + length = sprites.length, + i, + sprite; + + for (i = 0; i < length; i++) { + sprite = sprites[i]; + out.push([sprite, val != undefined ? val : this.getFromPrim(sprite, attr)]); + } + + return out; + } +}); + + +Ext.define('Ext.fx.target.Component', { + + + + extend: 'Ext.fx.target.Target', + + + + type: 'component', + + + getPropMethod: { + top: function() { + return this.getPosition(true)[1]; + }, + left: function() { + return this.getPosition(true)[0]; + }, + x: function() { + return this.getPosition()[0]; + }, + y: function() { + return this.getPosition()[1]; + }, + height: function() { + return this.getHeight(); + }, + width: function() { + return this.getWidth(); + }, + opacity: function() { + return this.el.getStyle('opacity'); + } + }, + + compMethod: { + top: 'setPosition', + left: 'setPosition', + x: 'setPagePosition', + y: 'setPagePosition', + height: 'setSize', + width: 'setSize', + opacity: 'setOpacity' + }, + + + getAttr: function(attr, val) { + return [[this.target, val !== undefined ? val : this.getPropMethod[attr].call(this.target)]]; + }, + + setAttr: function(targetData, isFirstFrame, isLastFrame) { + var me = this, + target = me.target, + ln = targetData.length, + attrs, attr, o, i, j, meth, targets, left, top, w, h; + for (i = 0; i < ln; i++) { + attrs = targetData[i].attrs; + for (attr in attrs) { + targets = attrs[attr].length; + meth = { + setPosition: {}, + setPagePosition: {}, + setSize: {}, + setOpacity: {} + }; + for (j = 0; j < targets; j++) { + o = attrs[attr][j]; + + + + + meth[me.compMethod[attr]].target = o[0]; + meth[me.compMethod[attr]][attr] = o[1]; + } + if (meth.setPosition.target) { + o = meth.setPosition; + left = (o.left === undefined) ? undefined : parseFloat(o.left); + top = (o.top === undefined) ? undefined : parseFloat(o.top); + o.target.setPosition(left, top); + } + if (meth.setPagePosition.target) { + o = meth.setPagePosition; + o.target.setPagePosition(o.x, o.y); + } + if (meth.setSize.target) { + o = meth.setSize; + + w = (o.width === undefined) ? o.target.getWidth() : parseFloat(o.width); + h = (o.height === undefined) ? o.target.getHeight() : parseFloat(o.height); + + + + + + + + + if (isLastFrame || me.dynamic) { + o.target.setSize(w, h); + } else { + o.target.el.setSize(w, h); + } + } + if (meth.setOpacity.target) { + o = meth.setOpacity; + o.target.el.setStyle('opacity', o.opacity); + } + } + } + } +}); + + + +Ext.define('Ext.fx.Queue', { + + requires: ['Ext.util.HashMap'], + + constructor: function() { + this.targets = new Ext.util.HashMap(); + this.fxQueue = {}; + }, + + + getFxDefaults: function(targetId) { + var target = this.targets.get(targetId); + if (target) { + return target.fxDefaults; + } + return {}; + }, + + + setFxDefaults: function(targetId, obj) { + var target = this.targets.get(targetId); + if (target) { + target.fxDefaults = Ext.apply(target.fxDefaults || {}, obj); + } + }, + + + stopAnimation: function(targetId) { + var me = this, + queue = me.getFxQueue(targetId), + ln = queue.length; + while (ln) { + queue[ln - 1].end(); + ln--; + } + }, + + + getActiveAnimation: function(targetId) { + var queue = this.getFxQueue(targetId); + return (queue && !!queue.length) ? queue[0] : false; + }, + + + hasFxBlock: function(targetId) { + var queue = this.getFxQueue(targetId); + return queue && queue[0] && queue[0].block; + }, + + + getFxQueue: function(targetId) { + if (!targetId) { + return false; + } + var me = this, + queue = me.fxQueue[targetId], + target = me.targets.get(targetId); + + if (!target) { + return false; + } + + if (!queue) { + me.fxQueue[targetId] = []; + + if (target.type != 'element') { + target.target.on('destroy', function() { + me.fxQueue[targetId] = []; + }); + } + } + return me.fxQueue[targetId]; + }, + + + queueFx: function(anim) { + var me = this, + target = anim.target, + queue, ln; + + if (!target) { + return; + } + + queue = me.getFxQueue(target.getId()); + ln = queue.length; + + if (ln) { + if (anim.concurrent) { + anim.paused = false; + } + else { + queue[ln - 1].on('afteranimate', function() { + anim.paused = false; + }); + } + } + else { + anim.paused = false; + } + anim.on('afteranimate', function() { + Ext.Array.remove(queue, anim); + if (anim.remove) { + if (target.type == 'element') { + var el = Ext.get(target.id); + if (el) { + el.remove(); + } + } + } + }, this); + queue.push(anim); + } +}); + + + +Ext.define('Ext.fx.Manager', { + + + + singleton: true, + + requires: ['Ext.util.MixedCollection', + 'Ext.fx.target.Element', + 'Ext.fx.target.ElementCSS', + 'Ext.fx.target.CompositeElement', + 'Ext.fx.target.CompositeElementCSS', + 'Ext.fx.target.Sprite', + 'Ext.fx.target.CompositeSprite', + 'Ext.fx.target.Component'], + + mixins: { + queue: 'Ext.fx.Queue' + }, + + + + constructor: function() { + this.items = new Ext.util.MixedCollection(); + this.mixins.queue.constructor.call(this); + + + + + + + + + + + + + + + + + + + }, + + + interval: 16, + + + forceJS: true, + + + createTarget: function(target) { + var me = this, + useCSS3 = !me.forceJS && Ext.supports.Transitions, + targetObj; + + me.useCSS3 = useCSS3; + + if (target) { + + if (target.tagName || Ext.isString(target) || target.isFly) { + target = Ext.get(target); + targetObj = new Ext.fx.target['Element' + (useCSS3 ? 'CSS' : '')](target); + } + + else if (target.dom) { + targetObj = new Ext.fx.target['Element' + (useCSS3 ? 'CSS' : '')](target); + } + + else if (target.isComposite) { + targetObj = new Ext.fx.target['CompositeElement' + (useCSS3 ? 'CSS' : '')](target); + } + + else if (target.isSprite) { + targetObj = new Ext.fx.target.Sprite(target); + } + + else if (target.isCompositeSprite) { + targetObj = new Ext.fx.target.CompositeSprite(target); + } + + else if (target.isComponent) { + targetObj = new Ext.fx.target.Component(target); + } + else if (target.isAnimTarget) { + return target; + } + else { + return null; + } + me.targets.add(targetObj); + return targetObj; + } + else { + return null; + } + }, + + + addAnim: function(anim) { + var items = this.items, + task = this.task; + + + + + items.add(anim.id, anim); + + + + if (!task && items.length) { + task = this.task = { + run: this.runner, + interval: this.interval, + scope: this + }; + + Ext.TaskManager.start(task); + } + }, + + + removeAnim: function(anim) { + var me = this, + items = me.items, + task = me.task; + + items.removeAtKey(anim.id); + + + + if (task && !items.length) { + + Ext.TaskManager.stop(task); + delete me.task; + } + }, + + + runner: function() { + var me = this, + items = me.items.getRange(), + i = 0, + len = items.length, + anim; + + + me.targetArr = {}; + + + me.timestamp = new Date(); + + + + + + + + + + + + for (; i < len; i++) { + anim = items[i]; + + if (anim.isReady()) { + + me.startAnim(anim); + } + } + + for (i = 0; i < len; i++) { + anim = items[i]; + + if (anim.isRunning()) { + + me.runAnim(anim); + } + } + + + me.applyPendingAttrs(); + }, + + + startAnim: function(anim) { + anim.start(this.timestamp); + }, + + + runAnim: function(anim) { + if (!anim) { + return; + } + var me = this, + targetId = anim.target.getId(), + useCSS3 = me.useCSS3 && anim.target.type == 'element', + elapsedTime = me.timestamp - anim.startTime, + lastFrame = (elapsedTime >= anim.duration), + target, o; + + target = this.collectTargetData(anim, elapsedTime, useCSS3, lastFrame); + + + + if (useCSS3) { + + + + anim.target.setAttr(target.anims[anim.id].attributes, true); + + + me.collectTargetData(anim, anim.duration, useCSS3, lastFrame); + + + anim.paused = true; + + target = anim.target.target; + + if (anim.target.isComposite) { + target = anim.target.target.last(); + } + + + o = {}; + o[Ext.supports.CSS3TransitionEnd] = anim.lastFrame; + o.scope = anim; + o.single = true; + target.on(o); + } + }, + + + collectTargetData: function(anim, elapsedTime, useCSS3, isLastFrame) { + var targetId = anim.target.getId(), + target = this.targetArr[targetId]; + + if (!target) { + + + + + target = this.targetArr[targetId] = { + id: targetId, + el: anim.target, + anims: {} + }; + } + + + + + + target.anims[anim.id] = { + id: anim.id, + anim: anim, + elapsed: elapsedTime, + isLastFrame: isLastFrame, + + attributes: [{ + duration: anim.duration, + easing: (useCSS3 && anim.reverse) ? anim.easingFn.reverse().toCSS3() : anim.easing, + + + attrs: anim.runAnim(elapsedTime) + }] + }; + + return target; + }, + + + applyPendingAttrs: function() { + var targetArr = this.targetArr, + target, targetId, animWrap, anim, animId; + + + for (targetId in targetArr) { + if (targetArr.hasOwnProperty(targetId)) { + target = targetArr[targetId]; + + + for (animId in target.anims) { + if (target.anims.hasOwnProperty(animId)) { + animWrap = target.anims[animId]; + anim = animWrap.anim; + + + if (animWrap.attributes && anim.isRunning()) { + + target.el.setAttr(animWrap.attributes, false, animWrap.isLastFrame); + + + if (animWrap.isLastFrame) { + + anim.lastFrame(); + } + } + } + } + } + } + } +}); + + +Ext.define('Ext.fx.Animator', { + + + + mixins: { + observable: 'Ext.util.Observable' + }, + + requires: ['Ext.fx.Manager'], + + + + + isAnimator: true, + + + duration: 250, + + + delay: 0, + + + delayStart: 0, + + + dynamic: false, + + + easing: 'ease', + + + running: false, + + + paused: false, + + + damper: 1, + + + iterations: 1, + + + currentIteration: 0, + + + keyframeStep: 0, + + + animKeyFramesRE: /^(from|to|\d+%?)$/, + + + + + constructor: function(config) { + var me = this; + config = Ext.apply(me, config || {}); + me.config = config; + me.id = Ext.id(null, 'ext-animator-'); + me.addEvents( + + 'beforeanimate', + + 'keyframe', + + 'afteranimate' + ); + me.mixins.observable.constructor.call(me, config); + me.timeline = []; + me.createTimeline(me.keyframes); + if (me.target) { + me.applyAnimator(me.target); + Ext.fx.Manager.addAnim(me); + } + }, + + + sorter: function (a, b) { + return a.pct - b.pct; + }, + + + createTimeline: function(keyframes) { + var me = this, + attrs = [], + to = me.to || {}, + duration = me.duration, + prevMs, ms, i, ln, pct, anim, nextAnim, attr; + + for (pct in keyframes) { + if (keyframes.hasOwnProperty(pct) && me.animKeyFramesRE.test(pct)) { + attr = {attrs: Ext.apply(keyframes[pct], to)}; + + if (pct == "from") { + pct = 0; + } + else if (pct == "to") { + pct = 100; + } + + attr.pct = parseInt(pct, 10); + attrs.push(attr); + } + } + + Ext.Array.sort(attrs, me.sorter); + + + + + + ln = attrs.length; + for (i = 0; i < ln; i++) { + prevMs = (attrs[i - 1]) ? duration * (attrs[i - 1].pct / 100) : 0; + ms = duration * (attrs[i].pct / 100); + me.timeline.push({ + duration: ms - prevMs, + attrs: attrs[i].attrs + }); + } + }, + + + applyAnimator: function(target) { + var me = this, + anims = [], + timeline = me.timeline, + reverse = me.reverse, + ln = timeline.length, + anim, easing, damper, initial, attrs, lastAttrs, i; + + if (me.fireEvent('beforeanimate', me) !== false) { + for (i = 0; i < ln; i++) { + anim = timeline[i]; + attrs = anim.attrs; + easing = attrs.easing || me.easing; + damper = attrs.damper || me.damper; + delete attrs.easing; + delete attrs.damper; + anim = new Ext.fx.Anim({ + target: target, + easing: easing, + damper: damper, + duration: anim.duration, + paused: true, + to: attrs + }); + anims.push(anim); + } + me.animations = anims; + me.target = anim.target; + for (i = 0; i < ln - 1; i++) { + anim = anims[i]; + anim.nextAnim = anims[i + 1]; + anim.on('afteranimate', function() { + this.nextAnim.paused = false; + }); + anim.on('afteranimate', function() { + this.fireEvent('keyframe', this, ++this.keyframeStep); + }, me); + } + anims[ln - 1].on('afteranimate', function() { + this.lastFrame(); + }, me); + } + }, + + + start: function(startTime) { + var me = this, + delay = me.delay, + delayStart = me.delayStart, + delayDelta; + if (delay) { + if (!delayStart) { + me.delayStart = startTime; + return; + } + else { + delayDelta = startTime - delayStart; + if (delayDelta < delay) { + return; + } + else { + + startTime = new Date(delayStart.getTime() + delay); + } + } + } + if (me.fireEvent('beforeanimate', me) !== false) { + me.startTime = startTime; + me.running = true; + me.animations[me.keyframeStep].paused = false; + } + }, + + + lastFrame: function() { + var me = this, + iter = me.iterations, + iterCount = me.currentIteration; + + iterCount++; + if (iterCount < iter) { + me.startTime = new Date(); + me.currentIteration = iterCount; + me.keyframeStep = 0; + me.applyAnimator(me.target); + me.animations[me.keyframeStep].paused = false; + } + else { + me.currentIteration = 0; + me.end(); + } + }, + + + end: function() { + var me = this; + me.fireEvent('afteranimate', me, me.startTime, new Date() - me.startTime); + }, + + isReady: function() { + return this.paused === false && this.running === false && this.iterations > 0; + }, + + isRunning: function() { + + return false; + } +}); + + +Ext.define('Ext.fx.CubicBezier', { + + + + singleton: true, + + + + cubicBezierAtTime: function(t, p1x, p1y, p2x, p2y, duration) { + var cx = 3 * p1x, + bx = 3 * (p2x - p1x) - cx, + ax = 1 - cx - bx, + cy = 3 * p1y, + by = 3 * (p2y - p1y) - cy, + ay = 1 - cy - by; + function sampleCurveX(t) { + return ((ax * t + bx) * t + cx) * t; + } + function solve(x, epsilon) { + var t = solveCurveX(x, epsilon); + return ((ay * t + by) * t + cy) * t; + } + function solveCurveX(x, epsilon) { + var t0, t1, t2, x2, d2, i; + for (t2 = x, i = 0; i < 8; i++) { + x2 = sampleCurveX(t2) - x; + if (Math.abs(x2) < epsilon) { + return t2; + } + d2 = (3 * ax * t2 + 2 * bx) * t2 + cx; + if (Math.abs(d2) < 1e-6) { + break; + } + t2 = t2 - x2 / d2; + } + t0 = 0; + t1 = 1; + t2 = x; + if (t2 < t0) { + return t0; + } + if (t2 > t1) { + return t1; + } + while (t0 < t1) { + x2 = sampleCurveX(t2); + if (Math.abs(x2 - x) < epsilon) { + return t2; + } + if (x > x2) { + t0 = t2; + } else { + t1 = t2; + } + t2 = (t1 - t0) / 2 + t0; + } + return t2; + } + return solve(t, 1 / (200 * duration)); + }, + + cubicBezier: function(x1, y1, x2, y2) { + var fn = function(pos) { + return Ext.fx.CubicBezier.cubicBezierAtTime(pos, x1, y1, x2, y2, 1); + }; + fn.toCSS3 = function() { + return 'cubic-bezier(' + [x1, y1, x2, y2].join(',') + ')'; + }; + fn.reverse = function() { + return Ext.fx.CubicBezier.cubicBezier(1 - x2, 1 - y2, 1 - x1, 1 - y1); + }; + return fn; + } +}); + +//@define Ext.fx.Easing + + +Ext.ns('Ext.fx'); + +Ext.require('Ext.fx.CubicBezier', function() { + var math = Math, + pi = math.PI, + pow = math.pow, + sin = math.sin, + sqrt = math.sqrt, + abs = math.abs, + backInSeed = 1.70158; + Ext.fx.Easing = { + + + + + + + + + }; + + Ext.apply(Ext.fx.Easing, { + linear: function(n) { + return n; + }, + ease: function(n) { + var q = 0.07813 - n / 2, + alpha = -0.25, + Q = sqrt(0.0066 + q * q), + x = Q - q, + X = pow(abs(x), 1/3) * (x < 0 ? -1 : 1), + y = -Q - q, + Y = pow(abs(y), 1/3) * (y < 0 ? -1 : 1), + t = X + Y + 0.25; + return pow(1 - t, 2) * 3 * t * 0.1 + (1 - t) * 3 * t * t + t * t * t; + }, + easeIn: function (n) { + return pow(n, 1.7); + }, + easeOut: function (n) { + return pow(n, 0.48); + }, + easeInOut: function(n) { + var q = 0.48 - n / 1.04, + Q = sqrt(0.1734 + q * q), + x = Q - q, + X = pow(abs(x), 1/3) * (x < 0 ? -1 : 1), + y = -Q - q, + Y = pow(abs(y), 1/3) * (y < 0 ? -1 : 1), + t = X + Y + 0.5; + return (1 - t) * 3 * t * t + t * t * t; + }, + backIn: function (n) { + return n * n * ((backInSeed + 1) * n - backInSeed); + }, + backOut: function (n) { + n = n - 1; + return n * n * ((backInSeed + 1) * n + backInSeed) + 1; + }, + elasticIn: function (n) { + if (n === 0 || n === 1) { + return n; + } + var p = 0.3, + s = p / 4; + return pow(2, -10 * n) * sin((n - s) * (2 * pi) / p) + 1; + }, + elasticOut: function (n) { + return 1 - Ext.fx.Easing.elasticIn(1 - n); + }, + bounceIn: function (n) { + return 1 - Ext.fx.Easing.bounceOut(1 - n); + }, + bounceOut: function (n) { + var s = 7.5625, + p = 2.75, + l; + if (n < (1 / p)) { + l = s * n * n; + } else { + if (n < (2 / p)) { + n -= (1.5 / p); + l = s * n * n + 0.75; + } else { + if (n < (2.5 / p)) { + n -= (2.25 / p); + l = s * n * n + 0.9375; + } else { + n -= (2.625 / p); + l = s * n * n + 0.984375; + } + } + } + return l; + } + }); + Ext.apply(Ext.fx.Easing, { + 'back-in': Ext.fx.Easing.backIn, + 'back-out': Ext.fx.Easing.backOut, + 'ease-in': Ext.fx.Easing.easeIn, + 'ease-out': Ext.fx.Easing.easeOut, + 'elastic-in': Ext.fx.Easing.elasticIn, + 'elastic-out': Ext.fx.Easing.elasticIn, + 'bounce-in': Ext.fx.Easing.bounceIn, + 'bounce-out': Ext.fx.Easing.bounceOut, + 'ease-in-out': Ext.fx.Easing.easeInOut + }); +}); + + +Ext.define('Ext.draw.Color', { + + + + + + colorToHexRe: /(.*?)rgb\((\d+),\s*(\d+),\s*(\d+)\)/, + rgbRe: /\s*rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)\s*/, + hexRe: /\s*#([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)\s*/, + + + lightnessFactor: 0.2, + + + constructor : function(red, green, blue) { + var me = this, + clamp = Ext.Number.constrain; + me.r = clamp(red, 0, 255); + me.g = clamp(green, 0, 255); + me.b = clamp(blue, 0, 255); + }, + + + getRed: function() { + return this.r; + }, + + + getGreen: function() { + return this.g; + }, + + + getBlue: function() { + return this.b; + }, + + + getRGB: function() { + var me = this; + return [me.r, me.g, me.b]; + }, + + + getHSL: function() { + var me = this, + r = me.r / 255, + g = me.g / 255, + b = me.b / 255, + max = Math.max(r, g, b), + min = Math.min(r, g, b), + delta = max - min, + h, + s = 0, + l = 0.5 * (max + min); + + + if (min != max) { + s = (l < 0.5) ? delta / (max + min) : delta / (2 - max - min); + if (r == max) { + h = 60 * (g - b) / delta; + } else if (g == max) { + h = 120 + 60 * (b - r) / delta; + } else { + h = 240 + 60 * (r - g) / delta; + } + if (h < 0) { + h += 360; + } + if (h >= 360) { + h -= 360; + } + } + return [h, s, l]; + }, + + + getLighter: function(factor) { + var hsl = this.getHSL(); + factor = factor || this.lightnessFactor; + hsl[2] = Ext.Number.constrain(hsl[2] + factor, 0, 1); + return this.fromHSL(hsl[0], hsl[1], hsl[2]); + }, + + + getDarker: function(factor) { + factor = factor || this.lightnessFactor; + return this.getLighter(-factor); + }, + + + toString: function() { + var me = this, + round = Math.round, + r = round(me.r).toString(16), + g = round(me.g).toString(16), + b = round(me.b).toString(16); + r = (r.length == 1) ? '0' + r : r; + g = (g.length == 1) ? '0' + g : g; + b = (b.length == 1) ? '0' + b : b; + return ['#', r, g, b].join(''); + }, + + + toHex: function(color) { + if (Ext.isArray(color)) { + color = color[0]; + } + if (!Ext.isString(color)) { + return ''; + } + if (color.substr(0, 1) === '#') { + return color; + } + var digits = this.colorToHexRe.exec(color), + red, + green, + blue, + rgb; + + if (Ext.isArray(digits)) { + red = parseInt(digits[2], 10); + green = parseInt(digits[3], 10); + blue = parseInt(digits[4], 10); + rgb = blue | (green << 8) | (red << 16); + return digits[1] + '#' + ("000000" + rgb.toString(16)).slice(-6); + } + else { + return color; + } + }, + + + fromString: function(str) { + var values, r, g, b, + parse = parseInt; + + if ((str.length == 4 || str.length == 7) && str.substr(0, 1) === '#') { + values = str.match(this.hexRe); + if (values) { + r = parse(values[1], 16) >> 0; + g = parse(values[2], 16) >> 0; + b = parse(values[3], 16) >> 0; + if (str.length == 4) { + r += (r * 16); + g += (g * 16); + b += (b * 16); + } + } + } + else { + values = str.match(this.rgbRe); + if (values) { + r = values[1]; + g = values[2]; + b = values[3]; + } + } + + return (typeof r == 'undefined') ? undefined : new Ext.draw.Color(r, g, b); + }, + + + getGrayscale: function() { + + return this.r * 0.3 + this.g * 0.59 + this.b * 0.11; + }, + + + fromHSL: function(h, s, l) { + var C, X, m, i, rgb = [], + abs = Math.abs, + floor = Math.floor; + + if (s == 0 || h == null) { + + rgb = [l, l, l]; + } + else { + + + + + h /= 60; + C = s * (1 - abs(2 * l - 1)); + X = C * (1 - abs(h - 2 * floor(h / 2) - 1)); + m = l - C / 2; + switch (floor(h)) { + case 0: + rgb = [C, X, 0]; + break; + case 1: + rgb = [X, C, 0]; + break; + case 2: + rgb = [0, C, X]; + break; + case 3: + rgb = [0, X, C]; + break; + case 4: + rgb = [X, 0, C]; + break; + case 5: + rgb = [C, 0, X]; + break; + } + rgb = [rgb[0] + m, rgb[1] + m, rgb[2] + m]; + } + return new Ext.draw.Color(rgb[0] * 255, rgb[1] * 255, rgb[2] * 255); + } +}, function() { + var prototype = this.prototype; + + + this.addStatics({ + fromHSL: function() { + return prototype.fromHSL.apply(prototype, arguments); + }, + fromString: function() { + return prototype.fromString.apply(prototype, arguments); + }, + toHex: function() { + return prototype.toHex.apply(prototype, arguments); + } + }); +}); + + +Ext.define('Ext.draw.Draw', { + + + singleton: true, + + requires: ['Ext.draw.Color'], + + + + pathToStringRE: /,?([achlmqrstvxz]),?/gi, + pathCommandRE: /([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig, + pathValuesRE: /(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig, + stopsRE: /^(\d+%?)$/, + radian: Math.PI / 180, + + availableAnimAttrs: { + along: "along", + blur: null, + "clip-rect": "csv", + cx: null, + cy: null, + fill: "color", + "fill-opacity": null, + "font-size": null, + height: null, + opacity: null, + path: "path", + r: null, + rotation: "csv", + rx: null, + ry: null, + scale: "csv", + stroke: "color", + "stroke-opacity": null, + "stroke-width": null, + translation: "csv", + width: null, + x: null, + y: null + }, + + is: function(o, type) { + type = String(type).toLowerCase(); + return (type == "object" && o === Object(o)) || + (type == "undefined" && typeof o == type) || + (type == "null" && o === null) || + (type == "array" && Array.isArray && Array.isArray(o)) || + (Object.prototype.toString.call(o).toLowerCase().slice(8, -1)) == type; + }, + + ellipsePath: function(sprite) { + var attr = sprite.attr; + return Ext.String.format("M{0},{1}A{2},{3},0,1,1,{0},{4}A{2},{3},0,1,1,{0},{1}z", attr.x, attr.y - attr.ry, attr.rx, attr.ry, attr.y + attr.ry); + }, + + rectPath: function(sprite) { + var attr = sprite.attr; + if (attr.radius) { + return Ext.String.format("M{0},{1}l{2},0a{3},{3},0,0,1,{3},{3}l0,{5}a{3},{3},0,0,1,{4},{3}l{6},0a{3},{3},0,0,1,{4},{4}l0,{7}a{3},{3},0,0,1,{3},{4}z", attr.x + attr.radius, attr.y, attr.width - attr.radius * 2, attr.radius, -attr.radius, attr.height - attr.radius * 2, attr.radius * 2 - attr.width, attr.radius * 2 - attr.height); + } + else { + return Ext.String.format("M{0},{1}L{2},{1},{2},{3},{0},{3}z", attr.x, attr.y, attr.width + attr.x, attr.height + attr.y); + } + }, + + + path2string: function () { + return this.join(",").replace(Ext.draw.Draw.pathToStringRE, "$1"); + }, + + + pathToString: function(arrayPath) { + return arrayPath.join(",").replace(Ext.draw.Draw.pathToStringRE, "$1"); + }, + + parsePathString: function (pathString) { + if (!pathString) { + return null; + } + var paramCounts = {a: 7, c: 6, h: 1, l: 2, m: 2, q: 4, s: 4, t: 2, v: 1, z: 0}, + data = [], + me = this; + if (me.is(pathString, "array") && me.is(pathString[0], "array")) { + data = me.pathClone(pathString); + } + if (!data.length) { + String(pathString).replace(me.pathCommandRE, function (a, b, c) { + var params = [], + name = b.toLowerCase(); + c.replace(me.pathValuesRE, function (a, b) { + b && params.push(+b); + }); + if (name == "m" && params.length > 2) { + data.push([b].concat(Ext.Array.splice(params, 0, 2))); + name = "l"; + b = (b == "m") ? "l" : "L"; + } + while (params.length >= paramCounts[name]) { + data.push([b].concat(Ext.Array.splice(params, 0, paramCounts[name]))); + if (!paramCounts[name]) { + break; + } + } + }); + } + data.toString = me.path2string; + return data; + }, + + mapPath: function (path, matrix) { + if (!matrix) { + return path; + } + var x, y, i, ii, j, jj, pathi; + path = this.path2curve(path); + for (i = 0, ii = path.length; i < ii; i++) { + pathi = path[i]; + for (j = 1, jj = pathi.length; j < jj-1; j += 2) { + x = matrix.x(pathi[j], pathi[j + 1]); + y = matrix.y(pathi[j], pathi[j + 1]); + pathi[j] = x; + pathi[j + 1] = y; + } + } + return path; + }, + + pathClone: function(pathArray) { + var res = [], + j, jj, i, ii; + if (!this.is(pathArray, "array") || !this.is(pathArray && pathArray[0], "array")) { + pathArray = this.parsePathString(pathArray); + } + for (i = 0, ii = pathArray.length; i < ii; i++) { + res[i] = []; + for (j = 0, jj = pathArray[i].length; j < jj; j++) { + res[i][j] = pathArray[i][j]; + } + } + res.toString = this.path2string; + return res; + }, + + pathToAbsolute: function (pathArray) { + if (!this.is(pathArray, "array") || !this.is(pathArray && pathArray[0], "array")) { + pathArray = this.parsePathString(pathArray); + } + var res = [], + x = 0, + y = 0, + mx = 0, + my = 0, + i = 0, + ln = pathArray.length, + r, pathSegment, j, ln2; + + if (ln && pathArray[0][0] == "M") { + x = +pathArray[0][1]; + y = +pathArray[0][2]; + mx = x; + my = y; + i++; + res[0] = ["M", x, y]; + } + for (; i < ln; i++) { + r = res[i] = []; + pathSegment = pathArray[i]; + if (pathSegment[0] != pathSegment[0].toUpperCase()) { + r[0] = pathSegment[0].toUpperCase(); + switch (r[0]) { + + case "A": + r[1] = pathSegment[1]; + r[2] = pathSegment[2]; + r[3] = pathSegment[3]; + r[4] = pathSegment[4]; + r[5] = pathSegment[5]; + r[6] = +(pathSegment[6] + x); + r[7] = +(pathSegment[7] + y); + break; + + case "V": + r[1] = +pathSegment[1] + y; + break; + + case "H": + r[1] = +pathSegment[1] + x; + break; + case "M": + + mx = +pathSegment[1] + x; + my = +pathSegment[2] + y; + default: + j = 1; + ln2 = pathSegment.length; + for (; j < ln2; j++) { + r[j] = +pathSegment[j] + ((j % 2) ? x : y); + } + } + } + else { + j = 0; + ln2 = pathSegment.length; + for (; j < ln2; j++) { + res[i][j] = pathSegment[j]; + } + } + switch (r[0]) { + + case "Z": + x = mx; + y = my; + break; + + case "H": + x = r[1]; + break; + + case "V": + y = r[1]; + break; + + case "M": + pathSegment = res[i]; + ln2 = pathSegment.length; + mx = pathSegment[ln2 - 2]; + my = pathSegment[ln2 - 1]; + default: + pathSegment = res[i]; + ln2 = pathSegment.length; + x = pathSegment[ln2 - 2]; + y = pathSegment[ln2 - 1]; + } + } + res.toString = this.path2string; + return res; + }, + + + pathToRelative: function (pathArray) { + if (!this.is(pathArray, "array") || !this.is(pathArray && pathArray[0], "array")) { + pathArray = this.parsePathString(pathArray); + } + var res = [], + x = 0, + y = 0, + mx = 0, + my = 0, + start = 0, + r, + pa, + i, + j, + k, + len, + ii, + jj, + kk; + + if (pathArray[0][0] == "M") { + x = pathArray[0][1]; + y = pathArray[0][2]; + mx = x; + my = y; + start++; + res.push(["M", x, y]); + } + for (i = start, ii = pathArray.length; i < ii; i++) { + r = res[i] = []; + pa = pathArray[i]; + if (pa[0] != pa[0].toLowerCase()) { + r[0] = pa[0].toLowerCase(); + switch (r[0]) { + case "a": + r[1] = pa[1]; + r[2] = pa[2]; + r[3] = pa[3]; + r[4] = pa[4]; + r[5] = pa[5]; + r[6] = +(pa[6] - x).toFixed(3); + r[7] = +(pa[7] - y).toFixed(3); + break; + case "v": + r[1] = +(pa[1] - y).toFixed(3); + break; + case "m": + mx = pa[1]; + my = pa[2]; + default: + for (j = 1, jj = pa.length; j < jj; j++) { + r[j] = +(pa[j] - ((j % 2) ? x : y)).toFixed(3); + } + } + } else { + r = res[i] = []; + if (pa[0] == "m") { + mx = pa[1] + x; + my = pa[2] + y; + } + for (k = 0, kk = pa.length; k < kk; k++) { + res[i][k] = pa[k]; + } + } + len = res[i].length; + switch (res[i][0]) { + case "z": + x = mx; + y = my; + break; + case "h": + x += +res[i][len - 1]; + break; + case "v": + y += +res[i][len - 1]; + break; + default: + x += +res[i][len - 2]; + y += +res[i][len - 1]; + } + } + res.toString = this.path2string; + return res; + }, + + + path2curve: function (path) { + var me = this, + points = me.pathToAbsolute(path), + ln = points.length, + attrs = {x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null}, + i, seg, segLn, point; + + for (i = 0; i < ln; i++) { + points[i] = me.command2curve(points[i], attrs); + if (points[i].length > 7) { + points[i].shift(); + point = points[i]; + while (point.length) { + Ext.Array.splice(points, i++, 0, ["C"].concat(Ext.Array.splice(point, 0, 6))); + } + Ext.Array.erase(points, i, 1); + ln = points.length; + i--; + } + seg = points[i]; + segLn = seg.length; + attrs.x = seg[segLn - 2]; + attrs.y = seg[segLn - 1]; + attrs.bx = parseFloat(seg[segLn - 4]) || attrs.x; + attrs.by = parseFloat(seg[segLn - 3]) || attrs.y; + } + return points; + }, + + interpolatePaths: function (path, path2) { + var me = this, + p = me.pathToAbsolute(path), + p2 = me.pathToAbsolute(path2), + attrs = {x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null}, + attrs2 = {x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null}, + fixArc = function (pp, i) { + if (pp[i].length > 7) { + pp[i].shift(); + var pi = pp[i]; + while (pi.length) { + Ext.Array.splice(pp, i++, 0, ["C"].concat(Ext.Array.splice(pi, 0, 6))); + } + Ext.Array.erase(pp, i, 1); + ii = Math.max(p.length, p2.length || 0); + } + }, + fixM = function (path1, path2, a1, a2, i) { + if (path1 && path2 && path1[i][0] == "M" && path2[i][0] != "M") { + Ext.Array.splice(path2, i, 0, ["M", a2.x, a2.y]); + a1.bx = 0; + a1.by = 0; + a1.x = path1[i][1]; + a1.y = path1[i][2]; + ii = Math.max(p.length, p2.length || 0); + } + }, + i, ii, + seg, seg2, seglen, seg2len; + for (i = 0, ii = Math.max(p.length, p2.length || 0); i < ii; i++) { + p[i] = me.command2curve(p[i], attrs); + fixArc(p, i); + (p2[i] = me.command2curve(p2[i], attrs2)); + fixArc(p2, i); + fixM(p, p2, attrs, attrs2, i); + fixM(p2, p, attrs2, attrs, i); + seg = p[i]; + seg2 = p2[i]; + seglen = seg.length; + seg2len = seg2.length; + attrs.x = seg[seglen - 2]; + attrs.y = seg[seglen - 1]; + attrs.bx = parseFloat(seg[seglen - 4]) || attrs.x; + attrs.by = parseFloat(seg[seglen - 3]) || attrs.y; + attrs2.bx = (parseFloat(seg2[seg2len - 4]) || attrs2.x); + attrs2.by = (parseFloat(seg2[seg2len - 3]) || attrs2.y); + attrs2.x = seg2[seg2len - 2]; + attrs2.y = seg2[seg2len - 1]; + } + return [p, p2]; + }, + + + command2curve: function (pathCommand, d) { + var me = this; + if (!pathCommand) { + return ["C", d.x, d.y, d.x, d.y, d.x, d.y]; + } + if (pathCommand[0] != "T" && pathCommand[0] != "Q") { + d.qx = d.qy = null; + } + switch (pathCommand[0]) { + case "M": + d.X = pathCommand[1]; + d.Y = pathCommand[2]; + break; + case "A": + pathCommand = ["C"].concat(me.arc2curve.apply(me, [d.x, d.y].concat(pathCommand.slice(1)))); + break; + case "S": + pathCommand = ["C", d.x + (d.x - (d.bx || d.x)), d.y + (d.y - (d.by || d.y))].concat(pathCommand.slice(1)); + break; + case "T": + d.qx = d.x + (d.x - (d.qx || d.x)); + d.qy = d.y + (d.y - (d.qy || d.y)); + pathCommand = ["C"].concat(me.quadratic2curve(d.x, d.y, d.qx, d.qy, pathCommand[1], pathCommand[2])); + break; + case "Q": + d.qx = pathCommand[1]; + d.qy = pathCommand[2]; + pathCommand = ["C"].concat(me.quadratic2curve(d.x, d.y, pathCommand[1], pathCommand[2], pathCommand[3], pathCommand[4])); + break; + case "L": + pathCommand = ["C"].concat(d.x, d.y, pathCommand[1], pathCommand[2], pathCommand[1], pathCommand[2]); + break; + case "H": + pathCommand = ["C"].concat(d.x, d.y, pathCommand[1], d.y, pathCommand[1], d.y); + break; + case "V": + pathCommand = ["C"].concat(d.x, d.y, d.x, pathCommand[1], d.x, pathCommand[1]); + break; + case "Z": + pathCommand = ["C"].concat(d.x, d.y, d.X, d.Y, d.X, d.Y); + break; + } + return pathCommand; + }, + + quadratic2curve: function (x1, y1, ax, ay, x2, y2) { + var _13 = 1 / 3, + _23 = 2 / 3; + return [ + _13 * x1 + _23 * ax, + _13 * y1 + _23 * ay, + _13 * x2 + _23 * ax, + _13 * y2 + _23 * ay, + x2, + y2 + ]; + }, + + rotate: function (x, y, rad) { + var cos = Math.cos(rad), + sin = Math.sin(rad), + X = x * cos - y * sin, + Y = x * sin + y * cos; + return {x: X, y: Y}; + }, + + arc2curve: function (x1, y1, rx, ry, angle, large_arc_flag, sweep_flag, x2, y2, recursive) { + + + var me = this, + PI = Math.PI, + radian = me.radian, + _120 = PI * 120 / 180, + rad = radian * (+angle || 0), + res = [], + math = Math, + mcos = math.cos, + msin = math.sin, + msqrt = math.sqrt, + mabs = math.abs, + masin = math.asin, + xy, cos, sin, x, y, h, rx2, ry2, k, cx, cy, f1, f2, df, c1, s1, c2, s2, + t, hx, hy, m1, m2, m3, m4, newres, i, ln, f2old, x2old, y2old; + if (!recursive) { + xy = me.rotate(x1, y1, -rad); + x1 = xy.x; + y1 = xy.y; + xy = me.rotate(x2, y2, -rad); + x2 = xy.x; + y2 = xy.y; + cos = mcos(radian * angle); + sin = msin(radian * angle); + x = (x1 - x2) / 2; + y = (y1 - y2) / 2; + h = (x * x) / (rx * rx) + (y * y) / (ry * ry); + if (h > 1) { + h = msqrt(h); + rx = h * rx; + ry = h * ry; + } + rx2 = rx * rx; + ry2 = ry * ry; + k = (large_arc_flag == sweep_flag ? -1 : 1) * + msqrt(mabs((rx2 * ry2 - rx2 * y * y - ry2 * x * x) / (rx2 * y * y + ry2 * x * x))); + cx = k * rx * y / ry + (x1 + x2) / 2; + cy = k * -ry * x / rx + (y1 + y2) / 2; + f1 = masin(((y1 - cy) / ry).toFixed(7)); + f2 = masin(((y2 - cy) / ry).toFixed(7)); + + f1 = x1 < cx ? PI - f1 : f1; + f2 = x2 < cx ? PI - f2 : f2; + if (f1 < 0) { + f1 = PI * 2 + f1; + } + if (f2 < 0) { + f2 = PI * 2 + f2; + } + if (sweep_flag && f1 > f2) { + f1 = f1 - PI * 2; + } + if (!sweep_flag && f2 > f1) { + f2 = f2 - PI * 2; + } + } + else { + f1 = recursive[0]; + f2 = recursive[1]; + cx = recursive[2]; + cy = recursive[3]; + } + df = f2 - f1; + if (mabs(df) > _120) { + f2old = f2; + x2old = x2; + y2old = y2; + f2 = f1 + _120 * (sweep_flag && f2 > f1 ? 1 : -1); + x2 = cx + rx * mcos(f2); + y2 = cy + ry * msin(f2); + res = me.arc2curve(x2, y2, rx, ry, angle, 0, sweep_flag, x2old, y2old, [f2, f2old, cx, cy]); + } + df = f2 - f1; + c1 = mcos(f1); + s1 = msin(f1); + c2 = mcos(f2); + s2 = msin(f2); + t = math.tan(df / 4); + hx = 4 / 3 * rx * t; + hy = 4 / 3 * ry * t; + m1 = [x1, y1]; + m2 = [x1 + hx * s1, y1 - hy * c1]; + m3 = [x2 + hx * s2, y2 - hy * c2]; + m4 = [x2, y2]; + m2[0] = 2 * m1[0] - m2[0]; + m2[1] = 2 * m1[1] - m2[1]; + if (recursive) { + return [m2, m3, m4].concat(res); + } + else { + res = [m2, m3, m4].concat(res).join().split(","); + newres = []; + ln = res.length; + for (i = 0; i < ln; i++) { + newres[i] = i % 2 ? me.rotate(res[i - 1], res[i], rad).y : me.rotate(res[i], res[i + 1], rad).x; + } + return newres; + } + }, + + + rotateAndTranslatePath: function (sprite) { + var alpha = sprite.rotation.degrees, + cx = sprite.rotation.x, + cy = sprite.rotation.y, + dx = sprite.translation.x, + dy = sprite.translation.y, + path, + i, + p, + xy, + j, + res = []; + if (!alpha && !dx && !dy) { + return this.pathToAbsolute(sprite.attr.path); + } + dx = dx || 0; + dy = dy || 0; + path = this.pathToAbsolute(sprite.attr.path); + for (i = path.length; i--;) { + p = res[i] = path[i].slice(); + if (p[0] == "A") { + xy = this.rotatePoint(p[6], p[7], alpha, cx, cy); + p[6] = xy.x + dx; + p[7] = xy.y + dy; + } else { + j = 1; + while (p[j + 1] != null) { + xy = this.rotatePoint(p[j], p[j + 1], alpha, cx, cy); + p[j] = xy.x + dx; + p[j + 1] = xy.y + dy; + j += 2; + } + } + } + return res; + }, + + + rotatePoint: function (x, y, alpha, cx, cy) { + if (!alpha) { + return { + x: x, + y: y + }; + } + cx = cx || 0; + cy = cy || 0; + x = x - cx; + y = y - cy; + alpha = alpha * this.radian; + var cos = Math.cos(alpha), + sin = Math.sin(alpha); + return { + x: x * cos - y * sin + cx, + y: x * sin + y * cos + cy + }; + }, + + pathDimensions: function (path) { + if (!path || !(path + "")) { + return {x: 0, y: 0, width: 0, height: 0}; + } + path = this.path2curve(path); + var x = 0, + y = 0, + X = [], + Y = [], + i = 0, + ln = path.length, + p, xmin, ymin, dim; + for (; i < ln; i++) { + p = path[i]; + if (p[0] == "M") { + x = p[1]; + y = p[2]; + X.push(x); + Y.push(y); + } + else { + dim = this.curveDim(x, y, p[1], p[2], p[3], p[4], p[5], p[6]); + X = X.concat(dim.min.x, dim.max.x); + Y = Y.concat(dim.min.y, dim.max.y); + x = p[5]; + y = p[6]; + } + } + xmin = Math.min.apply(0, X); + ymin = Math.min.apply(0, Y); + return { + x: xmin, + y: ymin, + path: path, + width: Math.max.apply(0, X) - xmin, + height: Math.max.apply(0, Y) - ymin + }; + }, + + intersectInside: function(path, cp1, cp2) { + return (cp2[0] - cp1[0]) * (path[1] - cp1[1]) > (cp2[1] - cp1[1]) * (path[0] - cp1[0]); + }, + + intersectIntersection: function(s, e, cp1, cp2) { + var p = [], + dcx = cp1[0] - cp2[0], + dcy = cp1[1] - cp2[1], + dpx = s[0] - e[0], + dpy = s[1] - e[1], + n1 = cp1[0] * cp2[1] - cp1[1] * cp2[0], + n2 = s[0] * e[1] - s[1] * e[0], + n3 = 1 / (dcx * dpy - dcy * dpx); + + p[0] = (n1 * dpx - n2 * dcx) * n3; + p[1] = (n1 * dpy - n2 * dcy) * n3; + return p; + }, + + intersect: function(subjectPolygon, clipPolygon) { + var me = this, + i = 0, + ln = clipPolygon.length, + cp1 = clipPolygon[ln - 1], + outputList = subjectPolygon, + cp2, s, e, point, ln2, inputList, j; + for (; i < ln; ++i) { + cp2 = clipPolygon[i]; + inputList = outputList; + outputList = []; + s = inputList[inputList.length - 1]; + j = 0; + ln2 = inputList.length; + for (; j < ln2; j++) { + e = inputList[j]; + if (me.intersectInside(e, cp1, cp2)) { + if (!me.intersectInside(s, cp1, cp2)) { + outputList.push(me.intersectIntersection(s, e, cp1, cp2)); + } + outputList.push(e); + } + else if (me.intersectInside(s, cp1, cp2)) { + outputList.push(me.intersectIntersection(s, e, cp1, cp2)); + } + s = e; + } + cp1 = cp2; + } + return outputList; + }, + + bezier : function (a, b, c, d, x) { + if (x === 0) { + return a; + } + else if (x === 1) { + return d; + } + var du = 1 - x, + d3 = du * du * du, + r = x / du; + return d3 * (a + r * (3 * b + r * (3 * c + d * r))); + }, + + bezierDim : function (a, b, c, d) { + var points = [], r, + A, top, C, delta, bottom, s, + min, max, i; + + if (a + 3 * c == d + 3 * b) { + r = a - b; + r /= 2 * (a - b - b + c); + if ( r < 1 && r > 0) { + points.push(r); + } + } else { + + + A = a - 3 * b + 3 * c - d; + top = 2 * (a - b - b + c); + C = a - b; + delta = top * top - 4 * A * C; + bottom = A + A; + if (delta === 0) { + r = top / bottom; + if (r < 1 && r > 0) { + points.push(r); + } + } else if (delta > 0) { + s = Math.sqrt(delta); + r = (s + top) / bottom; + + if (r < 1 && r > 0) { + points.push(r); + } + + r = (top - s) / bottom; + + if (r < 1 && r > 0) { + points.push(r); + } + } + } + min = Math.min(a, d); + max = Math.max(a, d); + for (i = 0; i < points.length; i++) { + min = Math.min(min, this.bezier(a, b, c, d, points[i])); + max = Math.max(max, this.bezier(a, b, c, d, points[i])); + } + return [min, max]; + }, + + curveDim: function (p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y) { + var x = this.bezierDim(p1x, c1x, c2x, p2x), + y = this.bezierDim(p1y, c1y, c2y, p2y); + return { + min: { + x: x[0], + y: y[0] + }, + max: { + x: x[1], + y: y[1] + } + }; + }, + + + getAnchors: function (prevX, prevY, curX, curY, nextX, nextY, value) { + value = value || 4; + var M = Math, + PI = M.PI, + halfPI = PI / 2, + abs = M.abs, + sin = M.sin, + cos = M.cos, + atan = M.atan, + control1Length, control2Length, control1Angle, control2Angle, + control1X, control1Y, control2X, control2Y, alpha; + + + + control1Length = (curX - prevX) / value; + control2Length = (nextX - curX) / value; + + + + + + if ((curY >= prevY && curY >= nextY) || (curY <= prevY && curY <= nextY)) { + control1Angle = control2Angle = halfPI; + } else { + control1Angle = atan((curX - prevX) / abs(curY - prevY)); + if (prevY < curY) { + control1Angle = PI - control1Angle; + } + control2Angle = atan((nextX - curX) / abs(curY - nextY)); + if (nextY < curY) { + control2Angle = PI - control2Angle; + } + } + + + alpha = halfPI - ((control1Angle + control2Angle) % (PI * 2)) / 2; + if (alpha > halfPI) { + alpha -= PI; + } + control1Angle += alpha; + control2Angle += alpha; + + + control1X = curX - control1Length * sin(control1Angle); + control1Y = curY + control1Length * cos(control1Angle); + control2X = curX + control2Length * sin(control2Angle); + control2Y = curY + control2Length * cos(control2Angle); + + + + + + if ((curY > prevY && control1Y < prevY) || (curY < prevY && control1Y > prevY)) { + control1X += abs(prevY - control1Y) * (control1X - curX) / (control1Y - curY); + control1Y = prevY; + } + if ((curY > nextY && control2Y < nextY) || (curY < nextY && control2Y > nextY)) { + control2X -= abs(nextY - control2Y) * (control2X - curX) / (control2Y - curY); + control2Y = nextY; + } + + return { + x1: control1X, + y1: control1Y, + x2: control2X, + y2: control2Y + }; + }, + + + smooth: function (originalPath, value) { + var path = this.path2curve(originalPath), + newp = [path[0]], + x = path[0][1], + y = path[0][2], + j, + points, + i = 1, + ii = path.length, + beg = 1, + mx = x, + my = y, + cx = 0, + cy = 0, + pathi, + pathil, + pathim, + pathiml, + pathip, + pathipl, + begl; + + for (; i < ii; i++) { + pathi = path[i]; + pathil = pathi.length; + pathim = path[i - 1]; + pathiml = pathim.length; + pathip = path[i + 1]; + pathipl = pathip && pathip.length; + if (pathi[0] == "M") { + mx = pathi[1]; + my = pathi[2]; + j = i + 1; + while (path[j][0] != "C") { + j++; + } + cx = path[j][5]; + cy = path[j][6]; + newp.push(["M", mx, my]); + beg = newp.length; + x = mx; + y = my; + continue; + } + if (pathi[pathil - 2] == mx && pathi[pathil - 1] == my && (!pathip || pathip[0] == "M")) { + begl = newp[beg].length; + points = this.getAnchors(pathim[pathiml - 2], pathim[pathiml - 1], mx, my, newp[beg][begl - 2], newp[beg][begl - 1], value); + newp[beg][1] = points.x2; + newp[beg][2] = points.y2; + } + else if (!pathip || pathip[0] == "M") { + points = { + x1: pathi[pathil - 2], + y1: pathi[pathil - 1] + }; + } else { + points = this.getAnchors(pathim[pathiml - 2], pathim[pathiml - 1], pathi[pathil - 2], pathi[pathil - 1], pathip[pathipl - 2], pathip[pathipl - 1], value); + } + newp.push(["C", x, y, points.x1, points.y1, pathi[pathil - 2], pathi[pathil - 1]]); + x = points.x2; + y = points.y2; + } + return newp; + }, + + findDotAtSegment: function (p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t) { + var t1 = 1 - t; + return { + x: Math.pow(t1, 3) * p1x + Math.pow(t1, 2) * 3 * t * c1x + t1 * 3 * t * t * c2x + Math.pow(t, 3) * p2x, + y: Math.pow(t1, 3) * p1y + Math.pow(t1, 2) * 3 * t * c1y + t1 * 3 * t * t * c2y + Math.pow(t, 3) * p2y + }; + }, + + + snapEnds: function (from, to, stepsMax, prettyNumbers) { + if (Ext.isDate(from)) { + return this.snapEndsByDate(from, to, stepsMax); + } + var step = (to - from) / stepsMax, + level = Math.floor(Math.log(step) / Math.LN10) + 1, + m = Math.pow(10, level), + cur, + modulo = Math.round((step % m) * Math.pow(10, 2 - level)), + interval = [[0, 15], [20, 4], [30, 2], [40, 4], [50, 9], [60, 4], [70, 2], [80, 4], [100, 15]], + stepCount = 0, + value, + weight, + i, + topValue, + topWeight = 1e9, + ln = interval.length; + cur = from = Math.floor(from / m) * m; + + if(prettyNumbers){ + for (i = 0; i < ln; i++) { + value = interval[i][0]; + weight = (value - modulo) < 0 ? 1e6 : (value - modulo) / interval[i][1]; + if (weight < topWeight) { + topValue = value; + topWeight = weight; + } + } + step = Math.floor(step * Math.pow(10, -level)) * Math.pow(10, level) + topValue * Math.pow(10, level - 2); + while (cur < to) { + cur += step; + stepCount++; + } + to = +cur.toFixed(10); + }else{ + stepCount = stepsMax; + } + + return { + from: from, + to: to, + power: level, + step: step, + steps: stepCount + }; + }, + + + snapEndsByDate: function (from, to, stepsMax, lockEnds) { + var selectedStep = false, + scales = [ + [Ext.Date.MILLI, [1, 2, 3, 5, 10, 20, 30, 50, 100, 200, 300, 500]], + [Ext.Date.SECOND, [1, 2, 3, 5, 10, 15, 30]], + [Ext.Date.MINUTE, [1, 2, 3, 5, 10, 20, 30]], + [Ext.Date.HOUR, [1, 2, 3, 4, 6, 12]], + [Ext.Date.DAY, [1, 2, 3, 7, 14]], + [Ext.Date.MONTH, [1, 2, 3, 4, 6]] + ], + sLen = scales.length, + stop = false, + scale, j, yearDiff, s; + + + for (s = 0; s < sLen; s++) { + scale = scales[s]; + if (!stop) { + for (j = 0; j < scale[1].length; j++) { + if (to < Ext.Date.add(from, scale[0], scale[1][j] * stepsMax)) { + selectedStep = [scale[0], scale[1][j]]; + stop = true; + break; + } + } + } + } + + if (!selectedStep) { + yearDiff = this.snapEnds(from.getFullYear(), to.getFullYear() + 1, stepsMax, lockEnds); + selectedStep = [Date.YEAR, Math.round(yearDiff.step)]; + } + return this.snapEndsByDateAndStep(from, to, selectedStep, lockEnds); + }, + + + + snapEndsByDateAndStep: function(from, to, step, lockEnds) { + var fromStat = [from.getFullYear(), from.getMonth(), from.getDate(), + from.getHours(), from.getMinutes(), from.getSeconds(), from.getMilliseconds()], + steps = 0, testFrom, testTo; + if (lockEnds) { + testFrom = from; + } else { + switch (step[0]) { + case Ext.Date.MILLI: + testFrom = new Date(fromStat[0], fromStat[1], fromStat[2], fromStat[3], + fromStat[4], fromStat[5], Math.floor(fromStat[6] / step[1]) * step[1]); + break; + case Ext.Date.SECOND: + testFrom = new Date(fromStat[0], fromStat[1], fromStat[2], fromStat[3], + fromStat[4], Math.floor(fromStat[5] / step[1]) * step[1], 0); + break; + case Ext.Date.MINUTE: + testFrom = new Date(fromStat[0], fromStat[1], fromStat[2], fromStat[3], + Math.floor(fromStat[4] / step[1]) * step[1], 0, 0); + break; + case Ext.Date.HOUR: + testFrom = new Date(fromStat[0], fromStat[1], fromStat[2], + Math.floor(fromStat[3] / step[1]) * step[1], 0, 0, 0); + break; + case Ext.Date.DAY: + testFrom = new Date(fromStat[0], fromStat[1], + Math.floor(fromStat[2] - 1 / step[1]) * step[1] + 1, 0, 0, 0, 0); + break; + case Ext.Date.MONTH: + testFrom = new Date(fromStat[0], Math.floor(fromStat[1] / step[1]) * step[1], 1, 0, 0, 0, 0); + break; + default: + testFrom = new Date(Math.floor(fromStat[0] / step[1]) * step[1], 0, 1, 0, 0, 0, 0); + break; + } + } + + testTo = testFrom; + + while (testTo < to) { + testTo = Ext.Date.add(testTo, step[0], step[1]); + steps++; + } + + if (lockEnds) { + testTo = to; + } + return { + from : +testFrom, + to : +testTo, + step : (testTo - testFrom) / steps, + steps : steps + }; + }, + + sorter: function (a, b) { + return a.offset - b.offset; + }, + + rad: function(degrees) { + return degrees % 360 * Math.PI / 180; + }, + + degrees: function(radian) { + return radian * 180 / Math.PI % 360; + }, + + withinBox: function(x, y, bbox) { + bbox = bbox || {}; + return (x >= bbox.x && x <= (bbox.x + bbox.width) && y >= bbox.y && y <= (bbox.y + bbox.height)); + }, + + parseGradient: function(gradient) { + var me = this, + type = gradient.type || 'linear', + angle = gradient.angle || 0, + radian = me.radian, + stops = gradient.stops, + stopsArr = [], + stop, + vector, + max, + stopObj; + + if (type == 'linear') { + vector = [0, 0, Math.cos(angle * radian), Math.sin(angle * radian)]; + max = 1 / (Math.max(Math.abs(vector[2]), Math.abs(vector[3])) || 1); + vector[2] *= max; + vector[3] *= max; + if (vector[2] < 0) { + vector[0] = -vector[2]; + vector[2] = 0; + } + if (vector[3] < 0) { + vector[1] = -vector[3]; + vector[3] = 0; + } + } + + for (stop in stops) { + if (stops.hasOwnProperty(stop) && me.stopsRE.test(stop)) { + stopObj = { + offset: parseInt(stop, 10), + color: Ext.draw.Color.toHex(stops[stop].color) || '#ffffff', + opacity: stops[stop].opacity || 1 + }; + stopsArr.push(stopObj); + } + } + + Ext.Array.sort(stopsArr, me.sorter); + if (type == 'linear') { + return { + id: gradient.id, + type: type, + vector: vector, + stops: stopsArr + }; + } + else { + return { + id: gradient.id, + type: type, + centerX: gradient.centerX, + centerY: gradient.centerY, + focalX: gradient.focalX, + focalY: gradient.focalY, + radius: gradient.radius, + vector: vector, + stops: stopsArr + }; + } + } +}); + + +Ext.define('Ext.fx.PropertyHandler', { + + + + requires: ['Ext.draw.Draw'], + + statics: { + defaultHandler: { + pixelDefaultsRE: /width|height|top$|bottom$|left$|right$/i, + unitRE: /^(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)*$/, + scrollRE: /^scroll/i, + + computeDelta: function(from, end, damper, initial, attr) { + damper = (typeof damper == 'number') ? damper : 1; + var unitRE = this.unitRE, + match = unitRE.exec(from), + start, units; + if (match) { + from = match[1]; + units = match[2]; + if (!this.scrollRE.test(attr) && !units && this.pixelDefaultsRE.test(attr)) { + units = 'px'; + } + } + from = +from || 0; + + match = unitRE.exec(end); + if (match) { + end = match[1]; + units = match[2] || units; + } + end = +end || 0; + start = (initial != null) ? initial : from; + return { + from: from, + delta: (end - start) * damper, + units: units + }; + }, + + get: function(from, end, damper, initialFrom, attr) { + var ln = from.length, + out = [], + i, initial, res, j, len; + for (i = 0; i < ln; i++) { + if (initialFrom) { + initial = initialFrom[i][1].from; + } + if (Ext.isArray(from[i][1]) && Ext.isArray(end)) { + res = []; + j = 0; + len = from[i][1].length; + for (; j < len; j++) { + res.push(this.computeDelta(from[i][1][j], end[j], damper, initial, attr)); + } + out.push([from[i][0], res]); + } + else { + out.push([from[i][0], this.computeDelta(from[i][1], end, damper, initial, attr)]); + } + } + return out; + }, + + set: function(values, easing) { + var ln = values.length, + out = [], + i, val, res, len, j; + for (i = 0; i < ln; i++) { + val = values[i][1]; + if (Ext.isArray(val)) { + res = []; + j = 0; + len = val.length; + for (; j < len; j++) { + res.push(val[j].from + val[j].delta * easing + (val[j].units || 0)); + } + out.push([values[i][0], res]); + } else { + out.push([values[i][0], val.from + val.delta * easing + (val.units || 0)]); + } + } + return out; + } + }, + stringHandler: { + computeDelta: function(from, end, damper, initial, attr) { + return { + from: from, + delta: end + }; + }, + + get: function(from, end, damper, initialFrom, attr) { + var ln = from.length, + out = [], + i, initial, res, j, len; + for (i = 0; i < ln; i++) { + out.push([from[i][0], this.computeDelta(from[i][1], end, damper, initial, attr)]); + } + return out; + }, + + set: function(values, easing) { + var ln = values.length, + out = [], + i, val, res, len, j; + for (i = 0; i < ln; i++) { + val = values[i][1]; + out.push([values[i][0], val.delta]); + } + return out; + } + }, + color: { + rgbRE: /^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i, + hexRE: /^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i, + hex3RE: /^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i, + + parseColor : function(color, damper) { + damper = (typeof damper == 'number') ? damper : 1; + var out = false, + reList = [this.hexRE, this.rgbRE, this.hex3RE], + length = reList.length, + match, base, re, i; + + for (i = 0; i < length; i++) { + re = reList[i]; + + base = (i % 2 === 0) ? 16 : 10; + match = re.exec(color); + if (match && match.length === 4) { + if (i === 2) { + match[1] += match[1]; + match[2] += match[2]; + match[3] += match[3]; + } + out = { + red: parseInt(match[1], base), + green: parseInt(match[2], base), + blue: parseInt(match[3], base) + }; + break; + } + } + + return out || color; + }, + + computeDelta: function(from, end, damper, initial) { + from = this.parseColor(from); + end = this.parseColor(end, damper); + var start = initial ? initial : from, + tfrom = typeof start, + tend = typeof end; + + if (tfrom == 'string' || tfrom == 'undefined' + || tend == 'string' || tend == 'undefined') { + return end || start; + } + return { + from: from, + delta: { + red: Math.round((end.red - start.red) * damper), + green: Math.round((end.green - start.green) * damper), + blue: Math.round((end.blue - start.blue) * damper) + } + }; + }, + + get: function(start, end, damper, initialFrom) { + var ln = start.length, + out = [], + i, initial; + for (i = 0; i < ln; i++) { + if (initialFrom) { + initial = initialFrom[i][1].from; + } + out.push([start[i][0], this.computeDelta(start[i][1], end, damper, initial)]); + } + return out; + }, + + set: function(values, easing) { + var ln = values.length, + out = [], + i, val, parsedString, from, delta; + for (i = 0; i < ln; i++) { + val = values[i][1]; + if (val) { + from = val.from; + delta = val.delta; + + val = (typeof val == 'object' && 'red' in val)? + 'rgb(' + val.red + ', ' + val.green + ', ' + val.blue + ')' : val; + val = (typeof val == 'object' && val.length)? val[0] : val; + if (typeof val == 'undefined') { + return []; + } + parsedString = typeof val == 'string'? val : + 'rgb(' + [ + (from.red + Math.round(delta.red * easing)) % 256, + (from.green + Math.round(delta.green * easing)) % 256, + (from.blue + Math.round(delta.blue * easing)) % 256 + ].join(',') + ')'; + out.push([ + values[i][0], + parsedString + ]); + } + } + return out; + } + }, + object: { + interpolate: function(prop, damper) { + damper = (typeof damper == 'number') ? damper : 1; + var out = {}, + p; + for(p in prop) { + out[p] = parseFloat(prop[p]) * damper; + } + return out; + }, + + computeDelta: function(from, end, damper, initial) { + from = this.interpolate(from); + end = this.interpolate(end, damper); + var start = initial ? initial : from, + delta = {}, + p; + + for(p in end) { + delta[p] = end[p] - start[p]; + } + return { + from: from, + delta: delta + }; + }, + + get: function(start, end, damper, initialFrom) { + var ln = start.length, + out = [], + i, initial; + for (i = 0; i < ln; i++) { + if (initialFrom) { + initial = initialFrom[i][1].from; + } + out.push([start[i][0], this.computeDelta(start[i][1], end, damper, initial)]); + } + return out; + }, + + set: function(values, easing) { + var ln = values.length, + out = [], + outObject = {}, + i, from, delta, val, p; + for (i = 0; i < ln; i++) { + val = values[i][1]; + from = val.from; + delta = val.delta; + for (p in from) { + outObject[p] = from[p] + delta[p] * easing; + } + out.push([ + values[i][0], + outObject + ]); + } + return out; + } + }, + + path: { + computeDelta: function(from, end, damper, initial) { + damper = (typeof damper == 'number') ? damper : 1; + var start; + from = +from || 0; + end = +end || 0; + start = (initial != null) ? initial : from; + return { + from: from, + delta: (end - start) * damper + }; + }, + + forcePath: function(path) { + if (!Ext.isArray(path) && !Ext.isArray(path[0])) { + path = Ext.draw.Draw.parsePathString(path); + } + return path; + }, + + get: function(start, end, damper, initialFrom) { + var endPath = this.forcePath(end), + out = [], + startLn = start.length, + startPathLn, pointsLn, i, deltaPath, initial, j, k, path, startPath; + for (i = 0; i < startLn; i++) { + startPath = this.forcePath(start[i][1]); + + deltaPath = Ext.draw.Draw.interpolatePaths(startPath, endPath); + startPath = deltaPath[0]; + endPath = deltaPath[1]; + + startPathLn = startPath.length; + path = []; + for (j = 0; j < startPathLn; j++) { + deltaPath = [startPath[j][0]]; + pointsLn = startPath[j].length; + for (k = 1; k < pointsLn; k++) { + initial = initialFrom && initialFrom[0][1][j][k].from; + deltaPath.push(this.computeDelta(startPath[j][k], endPath[j][k], damper, initial)); + } + path.push(deltaPath); + } + out.push([start[i][0], path]); + } + return out; + }, + + set: function(values, easing) { + var ln = values.length, + out = [], + i, j, k, newPath, calcPath, deltaPath, deltaPathLn, pointsLn; + for (i = 0; i < ln; i++) { + deltaPath = values[i][1]; + newPath = []; + deltaPathLn = deltaPath.length; + for (j = 0; j < deltaPathLn; j++) { + calcPath = [deltaPath[j][0]]; + pointsLn = deltaPath[j].length; + for (k = 1; k < pointsLn; k++) { + calcPath.push(deltaPath[j][k].from + deltaPath[j][k].delta * easing); + } + newPath.push(calcPath.join(',')); + } + out.push([values[i][0], newPath.join(',')]); + } + return out; + } + } + + } +}, function() { + + var props = [ + 'outlineColor', + 'backgroundColor', + 'borderColor', + 'borderTopColor', + 'borderRightColor', + 'borderBottomColor', + 'borderLeftColor', + 'fill', + 'stroke' + ], + length = props.length, + i = 0, + prop; + + for (; i= duration) { + elapsedTime = duration; + lastFrame = true; + } + if (me.reverse) { + elapsedTime = duration - elapsedTime; + } + + for (attr in attrs) { + if (attrs.hasOwnProperty(attr)) { + values = attrs[attr]; + easing = lastFrame ? 1 : easingFn(elapsedTime / duration); + ret[attr] = propHandlers[attr].set(values, easing); + } + } + me.frameCount++; + + return ret; + }, + + + lastFrame: function() { + var me = this, + iter = me.iterations, + iterCount = me.currentIteration; + + iterCount++; + if (iterCount < iter) { + if (me.alternate) { + me.reverse = !me.reverse; + } + me.startTime = new Date(); + me.currentIteration = iterCount; + + me.paused = false; + } + else { + me.currentIteration = 0; + me.end(); + me.fireEvent('lastframe', me, me.startTime); + } + }, + + endWasCalled: 0, + + + end: function() { + if (this.endWasCalled++) { + return; + } + var me = this; + me.startTime = 0; + me.paused = false; + me.running = false; + Ext.fx.Manager.removeAnim(me); + me.fireEvent('afteranimate', me, me.startTime); + Ext.callback(me.callback, me.scope, [me, me.startTime]); + }, + + isReady: function() { + return this.paused === false && this.running === false && this.iterations > 0; + }, + + isRunning: function() { + return this.paused === false && this.running === true && this.isAnimator !== true; + } +}); + +Ext.enableFx = true; + + + + + +Ext.define('Ext.dd.DragDrop', { + requires: ['Ext.dd.DragDropManager'], + + + constructor: function(id, sGroup, config) { + if(id) { + this.init(id, sGroup, config); + } + }, + + + + + id: null, + + + config: null, + + + dragElId: null, + + + handleElId: null, + + + invalidHandleTypes: null, + + + invalidHandleIds: null, + + + invalidHandleClasses: null, + + + startPageX: 0, + + + startPageY: 0, + + + groups: null, + + + locked: false, + + + lock: function() { + this.locked = true; + }, + + + moveOnly: false, + + + unlock: function() { + this.locked = false; + }, + + + isTarget: true, + + + padding: null, + + + _domRef: null, + + + __ygDragDrop: true, + + + constrainX: false, + + + constrainY: false, + + + minX: 0, + + + maxX: 0, + + + minY: 0, + + + maxY: 0, + + + maintainOffset: false, + + + xTicks: null, + + + yTicks: null, + + + primaryButtonOnly: true, + + + available: false, + + + hasOuterHandles: false, + + + b4StartDrag: function(x, y) { }, + + + startDrag: function(x, y) { }, + + + b4Drag: function(e) { }, + + + onDrag: function(e) { }, + + + onDragEnter: function(e, id) { }, + + + b4DragOver: function(e) { }, + + + onDragOver: function(e, id) { }, + + + b4DragOut: function(e) { }, + + + onDragOut: function(e, id) { }, + + + b4DragDrop: function(e) { }, + + + onDragDrop: function(e, id) { }, + + + onInvalidDrop: function(e) { }, + + + b4EndDrag: function(e) { }, + + + endDrag: function(e) { }, + + + b4MouseDown: function(e) { }, + + + onMouseDown: function(e) { }, + + + onMouseUp: function(e) { }, + + + onAvailable: function () { + }, + + + defaultPadding: { + left: 0, + right: 0, + top: 0, + bottom: 0 + }, + + + constrainTo : function(constrainTo, pad, inContent){ + if(Ext.isNumber(pad)){ + pad = {left: pad, right:pad, top:pad, bottom:pad}; + } + pad = pad || this.defaultPadding; + var b = Ext.get(this.getEl()).getBox(), + ce = Ext.get(constrainTo), + s = ce.getScroll(), + c, + cd = ce.dom, + xy, + topSpace, + leftSpace; + if(cd == document.body){ + c = { x: s.left, y: s.top, width: Ext.Element.getViewWidth(), height: Ext.Element.getViewHeight()}; + }else{ + xy = ce.getXY(); + c = {x : xy[0], y: xy[1], width: cd.clientWidth, height: cd.clientHeight}; + } + + topSpace = b.y - c.y; + leftSpace = b.x - c.x; + + this.resetConstraints(); + this.setXConstraint(leftSpace - (pad.left||0), + c.width - leftSpace - b.width - (pad.right||0), + this.xTickSize + ); + this.setYConstraint(topSpace - (pad.top||0), + c.height - topSpace - b.height - (pad.bottom||0), + this.yTickSize + ); + }, + + + getEl: function() { + if (!this._domRef) { + this._domRef = Ext.getDom(this.id); + } + + return this._domRef; + }, + + + getDragEl: function() { + return Ext.getDom(this.dragElId); + }, + + + init: function(id, sGroup, config) { + this.initTarget(id, sGroup, config); + Ext.EventManager.on(this.id, "mousedown", this.handleMouseDown, this); + + }, + + + initTarget: function(id, sGroup, config) { + + this.config = config || {}; + + + this.DDMInstance = Ext.dd.DragDropManager; + + this.groups = {}; + + + + if (typeof id !== "string") { + id = Ext.id(id); + } + + + this.id = id; + + + this.addToGroup((sGroup) ? sGroup : "default"); + + + + this.handleElId = id; + + + this.setDragElId(id); + + + this.invalidHandleTypes = { A: "A" }; + this.invalidHandleIds = {}; + this.invalidHandleClasses = []; + + this.applyConfig(); + + this.handleOnAvailable(); + }, + + + applyConfig: function() { + + + + this.padding = this.config.padding || [0, 0, 0, 0]; + this.isTarget = (this.config.isTarget !== false); + this.maintainOffset = (this.config.maintainOffset); + this.primaryButtonOnly = (this.config.primaryButtonOnly !== false); + + }, + + + handleOnAvailable: function() { + this.available = true; + this.resetConstraints(); + this.onAvailable(); + }, + + + setPadding: function(iTop, iRight, iBot, iLeft) { + + if (!iRight && 0 !== iRight) { + this.padding = [iTop, iTop, iTop, iTop]; + } else if (!iBot && 0 !== iBot) { + this.padding = [iTop, iRight, iTop, iRight]; + } else { + this.padding = [iTop, iRight, iBot, iLeft]; + } + }, + + + setInitPosition: function(diffX, diffY) { + var el = this.getEl(), + dx, dy, p; + + if (!this.DDMInstance.verifyEl(el)) { + return; + } + + dx = diffX || 0; + dy = diffY || 0; + + p = Ext.Element.getXY( el ); + + this.initPageX = p[0] - dx; + this.initPageY = p[1] - dy; + + this.lastPageX = p[0]; + this.lastPageY = p[1]; + + this.setStartPosition(p); + }, + + + setStartPosition: function(pos) { + var p = pos || Ext.Element.getXY( this.getEl() ); + this.deltaSetXY = null; + + this.startPageX = p[0]; + this.startPageY = p[1]; + }, + + + addToGroup: function(sGroup) { + this.groups[sGroup] = true; + this.DDMInstance.regDragDrop(this, sGroup); + }, + + + removeFromGroup: function(sGroup) { + if (this.groups[sGroup]) { + delete this.groups[sGroup]; + } + + this.DDMInstance.removeDDFromGroup(this, sGroup); + }, + + + setDragElId: function(id) { + this.dragElId = id; + }, + + + setHandleElId: function(id) { + if (typeof id !== "string") { + id = Ext.id(id); + } + this.handleElId = id; + this.DDMInstance.regHandle(this.id, id); + }, + + + setOuterHandleElId: function(id) { + if (typeof id !== "string") { + id = Ext.id(id); + } + Ext.EventManager.on(id, "mousedown", this.handleMouseDown, this); + this.setHandleElId(id); + + this.hasOuterHandles = true; + }, + + + unreg: function() { + Ext.EventManager.un(this.id, "mousedown", this.handleMouseDown, this); + this._domRef = null; + this.DDMInstance._remove(this); + }, + + destroy : function(){ + this.unreg(); + }, + + + isLocked: function() { + return (this.DDMInstance.isLocked() || this.locked); + }, + + + handleMouseDown: function(e, oDD){ + if (this.primaryButtonOnly && e.button != 0) { + return; + } + + if (this.isLocked()) { + return; + } + + this.DDMInstance.refreshCache(this.groups); + + if (this.hasOuterHandles || this.DDMInstance.isOverTarget(e.getPoint(), this) ) { + if (this.clickValidator(e)) { + + this.setStartPosition(); + this.b4MouseDown(e); + this.onMouseDown(e); + + this.DDMInstance.handleMouseDown(e, this); + + this.DDMInstance.stopEvent(e); + } + } + }, + + clickValidator: function(e) { + var target = e.getTarget(); + return ( this.isValidHandleChild(target) && + (this.id == this.handleElId || + this.DDMInstance.handleWasClicked(target, this.id)) ); + }, + + + addInvalidHandleType: function(tagName) { + var type = tagName.toUpperCase(); + this.invalidHandleTypes[type] = type; + }, + + + addInvalidHandleId: function(id) { + if (typeof id !== "string") { + id = Ext.id(id); + } + this.invalidHandleIds[id] = id; + }, + + + addInvalidHandleClass: function(cssClass) { + this.invalidHandleClasses.push(cssClass); + }, + + + removeInvalidHandleType: function(tagName) { + var type = tagName.toUpperCase(); + + delete this.invalidHandleTypes[type]; + }, + + + removeInvalidHandleId: function(id) { + if (typeof id !== "string") { + id = Ext.id(id); + } + delete this.invalidHandleIds[id]; + }, + + + removeInvalidHandleClass: function(cssClass) { + for (var i=0, len=this.invalidHandleClasses.length; i= this.minX; i = i - iTickSize) { + if (!tickMap[i]) { + this.xTicks[this.xTicks.length] = i; + tickMap[i] = true; + } + } + + for (i = this.initPageX; i <= this.maxX; i = i + iTickSize) { + if (!tickMap[i]) { + this.xTicks[this.xTicks.length] = i; + tickMap[i] = true; + } + } + + Ext.Array.sort(this.xTicks, this.DDMInstance.numericSort); + }, + + + setYTicks: function(iStartY, iTickSize) { + this.yTicks = []; + this.yTickSize = iTickSize; + + var tickMap = {}, + i; + + for (i = this.initPageY; i >= this.minY; i = i - iTickSize) { + if (!tickMap[i]) { + this.yTicks[this.yTicks.length] = i; + tickMap[i] = true; + } + } + + for (i = this.initPageY; i <= this.maxY; i = i + iTickSize) { + if (!tickMap[i]) { + this.yTicks[this.yTicks.length] = i; + tickMap[i] = true; + } + } + + Ext.Array.sort(this.yTicks, this.DDMInstance.numericSort); + }, + + + setXConstraint: function(iLeft, iRight, iTickSize) { + this.leftConstraint = iLeft; + this.rightConstraint = iRight; + + this.minX = this.initPageX - iLeft; + this.maxX = this.initPageX + iRight; + if (iTickSize) { this.setXTicks(this.initPageX, iTickSize); } + + this.constrainX = true; + }, + + + clearConstraints: function() { + this.constrainX = false; + this.constrainY = false; + this.clearTicks(); + }, + + + clearTicks: function() { + this.xTicks = null; + this.yTicks = null; + this.xTickSize = 0; + this.yTickSize = 0; + }, + + + setYConstraint: function(iUp, iDown, iTickSize) { + this.topConstraint = iUp; + this.bottomConstraint = iDown; + + this.minY = this.initPageY - iUp; + this.maxY = this.initPageY + iDown; + if (iTickSize) { this.setYTicks(this.initPageY, iTickSize); } + + this.constrainY = true; + + }, + + + resetConstraints: function() { + + if (this.initPageX || this.initPageX === 0) { + + var dx = (this.maintainOffset) ? this.lastPageX - this.initPageX : 0, + dy = (this.maintainOffset) ? this.lastPageY - this.initPageY : 0; + + this.setInitPosition(dx, dy); + + + } else { + this.setInitPosition(); + } + + if (this.constrainX) { + this.setXConstraint( this.leftConstraint, + this.rightConstraint, + this.xTickSize ); + } + + if (this.constrainY) { + this.setYConstraint( this.topConstraint, + this.bottomConstraint, + this.yTickSize ); + } + }, + + + getTick: function(val, tickArray) { + if (!tickArray) { + + + return val; + } else if (tickArray[0] >= val) { + + + return tickArray[0]; + } else { + var i, len, next, diff1, diff2; + for (i=0, len=tickArray.length; i= val) { + diff1 = val - tickArray[i]; + diff2 = tickArray[next] - val; + return (diff2 > diff1) ? tickArray[i] : tickArray[next]; + } + } + + + + return tickArray[tickArray.length - 1]; + } + }, + + + toString: function() { + return ("DragDrop " + this.id); + } + +}); + + + + + +Ext.define('Ext.dd.DD', { + extend: 'Ext.dd.DragDrop', + requires: ['Ext.dd.DragDropManager'], + + + constructor: function(id, sGroup, config) { + if (id) { + this.init(id, sGroup, config); + } + }, + + + scroll: true, + + + autoOffset: function(iPageX, iPageY) { + var x = iPageX - this.startPageX, + y = iPageY - this.startPageY; + this.setDelta(x, y); + }, + + + setDelta: function(iDeltaX, iDeltaY) { + this.deltaX = iDeltaX; + this.deltaY = iDeltaY; + }, + + + setDragElPos: function(iPageX, iPageY) { + + + + var el = this.getDragEl(); + this.alignElWithMouse(el, iPageX, iPageY); + }, + + + alignElWithMouse: function(el, iPageX, iPageY) { + var oCoord = this.getTargetCoord(iPageX, iPageY), + fly = el.dom ? el : Ext.fly(el, '_dd'), + elSize = fly.getSize(), + EL = Ext.Element, + vpSize, + aCoord, + newLeft, + newTop; + + if (!this.deltaSetXY) { + vpSize = this.cachedViewportSize = { width: EL.getDocumentWidth(), height: EL.getDocumentHeight() }; + aCoord = [ + Math.max(0, Math.min(oCoord.x, vpSize.width - elSize.width)), + Math.max(0, Math.min(oCoord.y, vpSize.height - elSize.height)) + ]; + fly.setXY(aCoord); + newLeft = fly.getLocalX(); + newTop = fly.getLocalY(); + this.deltaSetXY = [newLeft - oCoord.x, newTop - oCoord.y]; + } else { + vpSize = this.cachedViewportSize; + fly.setLeftTop( + Math.max(0, Math.min(oCoord.x + this.deltaSetXY[0], vpSize.width - elSize.width)), + Math.max(0, Math.min(oCoord.y + this.deltaSetXY[1], vpSize.height - elSize.height)) + ); + } + + this.cachePosition(oCoord.x, oCoord.y); + this.autoScroll(oCoord.x, oCoord.y, el.offsetHeight, el.offsetWidth); + return oCoord; + }, + + + cachePosition: function(iPageX, iPageY) { + if (iPageX) { + this.lastPageX = iPageX; + this.lastPageY = iPageY; + } else { + var aCoord = Ext.Element.getXY(this.getEl()); + this.lastPageX = aCoord[0]; + this.lastPageY = aCoord[1]; + } + }, + + + autoScroll: function(x, y, h, w) { + + if (this.scroll) { + + var clientH = Ext.Element.getViewHeight(), + + clientW = Ext.Element.getViewWidth(), + + st = this.DDMInstance.getScrollTop(), + + sl = this.DDMInstance.getScrollLeft(), + + bot = h + y, + + right = w + x, + + + + toBot = (clientH + st - y - this.deltaY), + + toRight = (clientW + sl - x - this.deltaX), + + + thresh = 40, + + + + scrAmt = (document.all) ? 80 : 30; + + + + if ( bot > clientH && toBot < thresh ) { + window.scrollTo(sl, st + scrAmt); + } + + + + if ( y < st && st > 0 && y - st < thresh ) { + window.scrollTo(sl, st - scrAmt); + } + + + + if ( right > clientW && toRight < thresh ) { + window.scrollTo(sl + scrAmt, st); + } + + + + if ( x < sl && sl > 0 && x - sl < thresh ) { + window.scrollTo(sl - scrAmt, st); + } + } + }, + + + getTargetCoord: function(iPageX, iPageY) { + var x = iPageX - this.deltaX, + y = iPageY - this.deltaY; + + if (this.constrainX) { + if (x < this.minX) { + x = this.minX; + } + if (x > this.maxX) { + x = this.maxX; + } + } + + if (this.constrainY) { + if (y < this.minY) { + y = this.minY; + } + if (y > this.maxY) { + y = this.maxY; + } + } + + x = this.getTick(x, this.xTicks); + y = this.getTick(y, this.yTicks); + + + return {x: x, y: y}; + }, + + + applyConfig: function() { + this.callParent(); + this.scroll = (this.config.scroll !== false); + }, + + + b4MouseDown: function(e) { + + this.autoOffset(e.getPageX(), e.getPageY()); + }, + + + b4Drag: function(e) { + this.setDragElPos(e.getPageX(), e.getPageY()); + }, + + toString: function() { + return ("DD " + this.id); + } + + + + + + +}); + + + + +Ext.define('Ext.dd.DDProxy', { + extend: 'Ext.dd.DD', + + statics: { + + dragElId: "ygddfdiv" + }, + + + constructor: function(id, sGroup, config) { + if (id) { + this.init(id, sGroup, config); + this.initFrame(); + } + }, + + + resizeFrame: true, + + + centerFrame: false, + + + createFrame: function() { + var self = this, + body = document.body, + div, + s; + + if (!body || !body.firstChild) { + setTimeout( function() { self.createFrame(); }, 50 ); + return; + } + + div = this.getDragEl(); + + if (!div) { + div = document.createElement("div"); + div.id = this.dragElId; + s = div.style; + + s.position = "absolute"; + s.visibility = "hidden"; + s.cursor = "move"; + s.border = "2px solid #aaa"; + s.zIndex = 999; + + + + + body.insertBefore(div, body.firstChild); + } + }, + + + initFrame: function() { + this.createFrame(); + }, + + applyConfig: function() { + this.callParent(); + + this.resizeFrame = (this.config.resizeFrame !== false); + this.centerFrame = (this.config.centerFrame); + this.setDragElId(this.config.dragElId || Ext.dd.DDProxy.dragElId); + }, + + + showFrame: function(iPageX, iPageY) { + var el = this.getEl(), + dragEl = this.getDragEl(), + s = dragEl.style; + + this._resizeProxy(); + + if (this.centerFrame) { + this.setDelta( Math.round(parseInt(s.width, 10)/2), + Math.round(parseInt(s.height, 10)/2) ); + } + + this.setDragElPos(iPageX, iPageY); + + Ext.fly(dragEl).show(); + }, + + + _resizeProxy: function() { + if (this.resizeFrame) { + var el = this.getEl(); + Ext.fly(this.getDragEl()).setSize(el.offsetWidth, el.offsetHeight); + } + }, + + + b4MouseDown: function(e) { + var x = e.getPageX(), + y = e.getPageY(); + this.autoOffset(x, y); + this.setDragElPos(x, y); + }, + + + b4StartDrag: function(x, y) { + + this.showFrame(x, y); + }, + + + b4EndDrag: function(e) { + Ext.fly(this.getDragEl()).hide(); + }, + + + + + endDrag: function(e) { + + var lel = this.getEl(), + del = this.getDragEl(); + + + del.style.visibility = ""; + + this.beforeMove(); + + + lel.style.visibility = "hidden"; + Ext.dd.DDM.moveToEl(lel, del); + del.style.visibility = "hidden"; + lel.style.visibility = ""; + + this.afterDrag(); + }, + + beforeMove : function(){ + + }, + + afterDrag : function(){ + + }, + + toString: function() { + return ("DDProxy " + this.id); + } + +}); + + +Ext.define('Ext.dd.StatusProxy', { + extend: 'Ext.Component', + animRepair: false, + + childEls: [ + 'ghost' + ], + + renderTpl: [ + '
' + + '
' + ], + + + constructor: function(config) { + var me = this; + + config = config || {}; + + Ext.apply(me, { + hideMode: 'visibility', + hidden: true, + floating: true, + id: me.id || Ext.id(), + cls: Ext.baseCSSPrefix + 'dd-drag-proxy ' + this.dropNotAllowed, + shadow: config.shadow || false, + renderTo: Ext.getDetachedBody() + }); + me.callParent(arguments); + this.dropStatus = this.dropNotAllowed; + }, + + + dropAllowed : Ext.baseCSSPrefix + 'dd-drop-ok', + + + dropNotAllowed : Ext.baseCSSPrefix + 'dd-drop-nodrop', + + + setStatus : function(cssClass){ + cssClass = cssClass || this.dropNotAllowed; + if (this.dropStatus != cssClass) { + this.el.replaceCls(this.dropStatus, cssClass); + this.dropStatus = cssClass; + } + }, + + + reset : function(clearGhost){ + var me = this, + clsPrefix = Ext.baseCSSPrefix + 'dd-drag-proxy '; + + me.el.replaceCls(clsPrefix + me.dropAllowed, clsPrefix + me.dropNotAllowed); + me.dropStatus = me.dropNotAllowed; + if (clearGhost) { + me.ghost.update(''); + } + }, + + + update : function(html){ + if (typeof html == "string") { + this.ghost.update(html); + } else { + this.ghost.update(""); + html.style.margin = "0"; + this.ghost.dom.appendChild(html); + } + var el = this.ghost.dom.firstChild; + if (el) { + Ext.fly(el).setStyle('float', 'none'); + } + }, + + + getGhost : function(){ + return this.ghost; + }, + + + hide : function(clear) { + this.callParent(); + if (clear) { + this.reset(true); + } + }, + + + stop : function(){ + if (this.anim && this.anim.isAnimated && this.anim.isAnimated()) { + this.anim.stop(); + } + }, + + + sync : function(){ + this.el.sync(); + }, + + + repair : function(xy, callback, scope) { + var me = this; + + me.callback = callback; + me.scope = scope; + if (xy && me.animRepair !== false) { + me.el.addCls(Ext.baseCSSPrefix + 'dd-drag-repair'); + me.el.hideUnders(true); + me.anim = me.el.animate({ + duration: me.repairDuration || 500, + easing: 'ease-out', + to: { + x: xy[0], + y: xy[1] + }, + stopAnimation: true, + callback: me.afterRepair, + scope: me + }); + } else { + me.afterRepair(); + } + }, + + + afterRepair : function() { + var me = this; + + me.hide(true); + me.el.removeCls(Ext.baseCSSPrefix + 'dd-drag-repair'); + if (typeof me.callback == "function") { + me.callback.call(me.scope || me); + } + delete me.callback; + delete me.scope; + } +}); + + +Ext.define('Ext.dd.DragSource', { + extend: 'Ext.dd.DDProxy', + requires: [ + 'Ext.dd.StatusProxy', + 'Ext.dd.DragDropManager' + ], + + + + + dropAllowed : Ext.baseCSSPrefix + 'dd-drop-ok', + + dropNotAllowed : Ext.baseCSSPrefix + 'dd-drop-nodrop', + + + animRepair: true, + + + repairHighlightColor: 'c3daf9', + + + constructor: function(el, config) { + this.el = Ext.get(el); + if(!this.dragData){ + this.dragData = {}; + } + + Ext.apply(this, config); + + if(!this.proxy){ + this.proxy = new Ext.dd.StatusProxy({ + id: this.el.id + '-drag-status-proxy', + animRepair: this.animRepair + }); + } + this.callParent([this.el.dom, this.ddGroup || this.group, + {dragElId : this.proxy.id, resizeFrame: false, isTarget: false, scroll: this.scroll === true}]); + + this.dragging = false; + }, + + + getDragData : function(e){ + return this.dragData; + }, + + + onDragEnter : function(e, id){ + var target = Ext.dd.DragDropManager.getDDById(id), + status; + this.cachedTarget = target; + if (this.beforeDragEnter(target, e, id) !== false) { + if (target.isNotifyTarget) { + status = target.notifyEnter(this, e, this.dragData); + this.proxy.setStatus(status); + } else { + this.proxy.setStatus(this.dropAllowed); + } + + if (this.afterDragEnter) { + + this.afterDragEnter(target, e, id); + } + } + }, + + + beforeDragEnter: function(target, e, id) { + return true; + }, + + + onDragOver: function(e, id) { + var target = this.cachedTarget || Ext.dd.DragDropManager.getDDById(id), + status; + if (this.beforeDragOver(target, e, id) !== false) { + if(target.isNotifyTarget){ + status = target.notifyOver(this, e, this.dragData); + this.proxy.setStatus(status); + } + + if (this.afterDragOver) { + + this.afterDragOver(target, e, id); + } + } + }, + + + beforeDragOver: function(target, e, id) { + return true; + }, + + + onDragOut: function(e, id) { + var target = this.cachedTarget || Ext.dd.DragDropManager.getDDById(id); + if (this.beforeDragOut(target, e, id) !== false) { + if (target.isNotifyTarget) { + target.notifyOut(this, e, this.dragData); + } + this.proxy.reset(); + if (this.afterDragOut) { + + this.afterDragOut(target, e, id); + } + } + this.cachedTarget = null; + }, + + + beforeDragOut: function(target, e, id){ + return true; + }, + + + onDragDrop: function(e, id){ + var target = this.cachedTarget || Ext.dd.DragDropManager.getDDById(id); + if (this.beforeDragDrop(target, e, id) !== false) { + if (target.isNotifyTarget) { + if (target.notifyDrop(this, e, this.dragData) !== false) { + this.onValidDrop(target, e, id); + } else { + this.onInvalidDrop(target, e, id); + } + } else { + this.onValidDrop(target, e, id); + } + + if (this.afterDragDrop) { + + this.afterDragDrop(target, e, id); + } + } + delete this.cachedTarget; + }, + + + beforeDragDrop: function(target, e, id){ + return true; + }, + + + onValidDrop: function(target, e, id){ + this.hideProxy(); + if(this.afterValidDrop){ + + this.afterValidDrop(target, e, id); + } + }, + + + getRepairXY: function(e, data){ + return this.el.getXY(); + }, + + + onInvalidDrop: function(target, e, id) { + + + + if (!e) { + e = target; + target = null; + id = e.getTarget().id; + } + this.beforeInvalidDrop(target, e, id); + if (this.cachedTarget) { + if(this.cachedTarget.isNotifyTarget){ + this.cachedTarget.notifyOut(this, e, this.dragData); + } + this.cacheTarget = null; + } + this.proxy.repair(this.getRepairXY(e, this.dragData), this.afterRepair, this); + + if (this.afterInvalidDrop) { + + this.afterInvalidDrop(e, id); + } + }, + + + afterRepair: function() { + var me = this; + if (Ext.enableFx) { + me.el.highlight(me.repairHighlightColor); + } + me.dragging = false; + }, + + + beforeInvalidDrop: function(target, e, id) { + return true; + }, + + + handleMouseDown: function(e) { + if (this.dragging) { + return; + } + var data = this.getDragData(e); + if (data && this.onBeforeDrag(data, e) !== false) { + this.dragData = data; + this.proxy.stop(); + this.callParent(arguments); + } + }, + + + onBeforeDrag: function(data, e){ + return true; + }, + + + onStartDrag: Ext.emptyFn, + + alignElWithMouse: function() { + this.proxy.ensureAttachedToBody(true); + return this.callParent(arguments); + }, + + + startDrag: function(x, y) { + this.proxy.reset(); + this.proxy.hidden = false; + this.dragging = true; + this.proxy.update(""); + this.onInitDrag(x, y); + this.proxy.show(); + }, + + + onInitDrag: function(x, y) { + var clone = this.el.dom.cloneNode(true); + clone.id = Ext.id(); + this.proxy.update(clone); + this.onStartDrag(x, y); + return true; + }, + + + getProxy: function() { + return this.proxy; + }, + + + hideProxy: function() { + this.proxy.hide(); + this.proxy.reset(true); + this.dragging = false; + }, + + + triggerCacheRefresh: function() { + Ext.dd.DDM.refreshCache(this.groups); + }, + + + b4EndDrag: function(e) { + }, + + + endDrag : function(e){ + this.onEndDrag(this.dragData, e); + }, + + + onEndDrag : function(data, e){ + }, + + + autoOffset : function(x, y) { + this.setDelta(-12, -20); + }, + + destroy: function(){ + this.callParent(); + Ext.destroy(this.proxy); + } +}); + + +Ext.define('Ext.panel.Proxy', { + + alternateClassName: 'Ext.dd.PanelProxy', + + + moveOnDrag: true, + + + constructor: function(panel, config){ + var me = this; + + + me.panel = panel; + me.id = me.panel.id +'-ddproxy'; + Ext.apply(me, config); + }, + + + insertProxy: true, + + + setStatus: Ext.emptyFn, + reset: Ext.emptyFn, + update: Ext.emptyFn, + stop: Ext.emptyFn, + sync: Ext.emptyFn, + + + getEl: function(){ + return this.ghost.el; + }, + + + getGhost: function(){ + return this.ghost; + }, + + + getProxy: function(){ + return this.proxy; + }, + + + hide : function(){ + var me = this; + + if (me.ghost) { + if (me.proxy) { + me.proxy.remove(); + delete me.proxy; + } + + + me.panel.unghost(null, me.moveOnDrag); + delete me.ghost; + } + }, + + + show: function(){ + var me = this, + panelSize; + + if (!me.ghost) { + panelSize = me.panel.getSize(); + me.panel.el.setVisibilityMode(Ext.Element.DISPLAY); + me.ghost = me.panel.ghost(); + if (me.insertProxy) { + + + me.proxy = me.panel.el.insertSibling({cls: Ext.baseCSSPrefix + 'panel-dd-spacer'}); + me.proxy.setSize(panelSize); + } + } + }, + + + repair: function(xy, callback, scope) { + this.hide(); + Ext.callback(callback, scope || this); + }, + + + moveProxy : function(parentNode, before){ + if (this.proxy) { + parentNode.insertBefore(this.proxy.dom, before); + } + } +}); + + +Ext.define('Ext.panel.DD', { + extend: 'Ext.dd.DragSource', + requires: ['Ext.panel.Proxy'], + + constructor : function(panel, cfg){ + var me = this; + + me.panel = panel; + me.dragData = {panel: panel}; + me.panelProxy = new Ext.panel.Proxy(panel, cfg); + me.proxy = me.panelProxy.proxy; + + me.callParent([panel.el, cfg]); + me.setupEl(panel); + }, + + setupEl: function(panel){ + var me = this, + header = panel.header, + el = panel.body; + + if (header) { + me.setHandleElId(header.id); + el = header.el; + } + if (el) { + el.setStyle('cursor', 'move'); + me.scroll = false; + } else { + + panel.on('boxready', me.setupEl, me, {single: true}); + } + }, + + showFrame: Ext.emptyFn, + startDrag: Ext.emptyFn, + + b4StartDrag: function(x, y) { + this.panelProxy.show(); + }, + + b4MouseDown: function(e) { + var x = e.getPageX(), + y = e.getPageY(); + + this.autoOffset(x, y); + }, + + onInitDrag : function(x, y){ + this.onStartDrag(x, y); + return true; + }, + + createFrame : Ext.emptyFn, + + getDragEl : function(e){ + return this.panelProxy.ghost.el.dom; + }, + + endDrag : function(e){ + this.panelProxy.hide(); + this.panel.saveState(); + }, + + autoOffset : function(x, y) { + x -= this.startPageX; + y -= this.startPageY; + this.setDelta(x, y); + }, + + + + onInvalidDrop: function(target, e, id) { + var me = this; + + me.beforeInvalidDrop(target, e, id); + if (me.cachedTarget) { + if(me.cachedTarget.isNotifyTarget){ + me.cachedTarget.notifyOut(me, e, me.dragData); + } + me.cacheTarget = null; + } + + if (me.afterInvalidDrop) { + + me.afterInvalidDrop(e, id); + } + } +}); + + +Ext.define('Ext.util.Memento', (function () { + + function captureOne (src, target, prop, prefix) { + src[prefix ? prefix + prop : prop] = target[prop]; + } + + function removeOne (src, target, prop) { + delete src[prop]; + } + + function restoreOne (src, target, prop, prefix) { + var name = prefix ? prefix + prop : prop, + value = src[name]; + + if (value || src.hasOwnProperty(name)) { + restoreValue(target, prop, value); + } + } + + function restoreValue (target, prop, value) { + if (Ext.isDefined(value)) { + target[prop] = value; + } else { + delete target[prop]; + } + } + + function doMany (doOne, src, target, props, prefix) { + if (src) { + if (Ext.isArray(props)) { + var p, pLen = props.length; + for (p = 0; p < pLen; p++) { + doOne(src, target, props[p], prefix); + } + } else { + doOne(src, target, props, prefix); + } + } + } + + return { + + data: null, + + + target: null, + + + constructor: function (target, props) { + if (target) { + this.target = target; + if (props) { + this.capture(props); + } + } + }, + + + capture: function (props, target, prefix) { + var me = this; + doMany(captureOne, me.data || (me.data = {}), target || me.target, props, prefix); + }, + + + remove: function (props) { + doMany(removeOne, this.data, null, props); + }, + + + restore: function (props, clear, target, prefix) { + doMany(restoreOne, this.data, target || this.target, props, prefix); + if (clear !== false) { + this.remove(props); + } + }, + + + restoreAll: function (clear, target) { + var me = this, + t = target || this.target, + data = me.data, + prop; + + for (prop in data) { + if (data.hasOwnProperty(prop)) { + restoreValue(t, prop, data[prop]); + } + } + + if (clear !== false) { + delete me.data; + } + } + }; +}())); + + +Ext.define('Ext.panel.Panel', { + extend: 'Ext.panel.AbstractPanel', + requires: [ + 'Ext.panel.Header', + 'Ext.fx.Anim', + 'Ext.util.KeyMap', + 'Ext.panel.DD', + 'Ext.XTemplate', + 'Ext.layout.component.Dock', + 'Ext.util.Memento' + ], + alias: 'widget.panel', + alternateClassName: 'Ext.Panel', + + + collapsedCls: 'collapsed', + + + animCollapse: Ext.enableFx, + + + minButtonWidth: 75, + + + collapsed: false, + + + collapseFirst: true, + + + hideCollapseTool: false, + + + titleCollapse: false, + + + + + + + floatable: true, + + + + + collapsible: false, + + + + + closable: false, + + + closeAction: 'destroy', + + + + + placeholderCollapseHideMode: Ext.Element.VISIBILITY, + + + preventHeader: false, + + + header: undefined, + + + headerPosition: 'top', + + + frame: false, + + + frameHeader: true, + + + + + + + titleAlign: 'left', + + + manageHeight: true, + + + + + + initComponent: function() { + var me = this; + + me.addEvents( + + + 'beforeclose', + + + 'close', + + + "beforeexpand", + + + "beforecollapse", + + + "expand", + + + "collapse", + + + 'titlechange', + + + 'iconchange', + + + 'iconclschange' + ); + + if (me.collapsible) { + + this.addStateEvents(['expand', 'collapse']); + } + if (me.unstyled) { + me.setUI('plain'); + } + + if (me.frame) { + me.setUI(me.ui + '-framed'); + } + + + me.bridgeToolbars(); + + me.callParent(); + me.collapseDirection = me.collapseDirection || me.headerPosition || Ext.Component.DIRECTION_TOP; + + + me.hiddenOnCollapse = new Ext.dom.CompositeElement(); + + }, + + beforeDestroy: function() { + var me = this; + Ext.destroy( + me.placeholder, + me.ghostPanel, + me.dd + ); + me.callParent(); + }, + + initAria: function() { + this.callParent(); + this.initHeaderAria(); + }, + + getFocusEl: function() { + return this.el; + }, + + initHeaderAria: function() { + var me = this, + el = me.el, + header = me.header; + if (el && header) { + el.dom.setAttribute('aria-labelledby', header.titleCmp.id); + } + }, + + + getHeader: function() { + return this.header; + }, + + + setTitle: function(newTitle) { + var me = this, + oldTitle = me.title, + header = me.header, + reExpander = me.reExpander, + placeholder = me.placeholder; + + me.title = newTitle; + + if (header) { + if (header.isHeader) { + header.setTitle(newTitle); + } else { + header.title = newTitle; + } + } else { + me.updateHeader(); + } + + if (reExpander) { + reExpander.setTitle(newTitle); + } + + if (placeholder && placeholder.setTitle) { + placeholder.setTitle(newTitle); + } + + me.fireEvent('titlechange', me, newTitle, oldTitle); + }, + + + setIconCls: function(newIconCls) { + var me = this, + oldIconCls = me.iconCls, + header = me.header, + placeholder = me.placeholder; + + me.iconCls = newIconCls; + + if (header) { + if (header.isHeader) { + header.setIconCls(newIconCls); + } else { + header.iconCls = newIconCls; + } + } else { + me.updateHeader(); + } + + if (placeholder && placeholder.setIconCls) { + placeholder.setIconCls(newIconCls); + } + + me.fireEvent('iconclschange', me, newIconCls, oldIconCls); + }, + + + setIcon: function(newIcon) { + var me = this, + oldIcon = me.icon, + header = me.header, + placeholder = me.placeholder; + + me.icon = newIcon; + + if (header) { + if (header.isHeader) { + header.setIcon(newIcon); + } else { + header.icon = newIcon; + } + } else { + me.updateHeader(); + } + + if (placeholder && placeholder.setIcon) { + placeholder.setIcon(newIcon); + } + + me.fireEvent('iconchange', me, newIcon, oldIcon); + }, + + bridgeToolbars: function() { + var me = this, + docked = [], + fbar, + fbarDefaults, + minButtonWidth = me.minButtonWidth; + + function initToolbar (toolbar, pos, useButtonAlign) { + if (Ext.isArray(toolbar)) { + toolbar = { + xtype: 'toolbar', + items: toolbar + }; + } + else if (!toolbar.xtype) { + toolbar.xtype = 'toolbar'; + } + toolbar.dock = pos; + if (pos == 'left' || pos == 'right') { + toolbar.vertical = true; + } + + + if (useButtonAlign) { + toolbar.layout = Ext.applyIf(toolbar.layout || {}, { + + pack: { left:'start', center:'center' }[me.buttonAlign] || 'end' + }); + } + return toolbar; + } + + + + + + + if (me.tbar) { + docked.push(initToolbar(me.tbar, 'top')); + me.tbar = null; + } + + + if (me.bbar) { + docked.push(initToolbar(me.bbar, 'bottom')); + me.bbar = null; + } + + + if (me.buttons) { + me.fbar = me.buttons; + me.buttons = null; + } + + + if (me.fbar) { + fbar = initToolbar(me.fbar, 'bottom', true); + fbar.ui = 'footer'; + + + if (minButtonWidth) { + fbarDefaults = fbar.defaults; + fbar.defaults = function(config) { + var defaults = fbarDefaults || {}; + if ((!config.xtype || config.xtype === 'button' || (config.isComponent && config.isXType('button'))) && + !('minWidth' in defaults)) { + defaults = Ext.apply({minWidth: minButtonWidth}, defaults); + } + return defaults; + }; + } + + docked.push(fbar); + me.fbar = null; + } + + + if (me.lbar) { + docked.push(initToolbar(me.lbar, 'left')); + me.lbar = null; + } + + + if (me.rbar) { + docked.push(initToolbar(me.rbar, 'right')); + me.rbar = null; + } + + if (me.dockedItems) { + if (!Ext.isArray(me.dockedItems)) { + me.dockedItems = [me.dockedItems]; + } + me.dockedItems = me.dockedItems.concat(docked); + } else { + me.dockedItems = docked; + } + }, + + isPlaceHolderCollapse: function(){ + return this.collapseMode == 'placeholder'; + }, + + onBoxReady: function(){ + this.callParent(); + if (this.collapsed) { + this.setHiddenDocked(); + } + }, + + beforeRender: function() { + var me = this, + wasCollapsed; + + me.callParent(); + + + + me.initTools(); + + + if (!(me.preventHeader || (me.header === false))) { + me.updateHeader(); + } + + + if (me.collapsed) { + if (me.isPlaceHolderCollapse()) { + me.hidden = true; + + + + + me.placeholderCollapse(); + wasCollapsed = me.collapsed; + + + + + me.collapsed = false; + } else { + me.beginCollapse(); + me.addClsWithUI(me.collapsedCls); + } + } + + + if (wasCollapsed) { + me.collapsed = wasCollapsed; + } + }, + + + initTools: function() { + var me = this; + + me.tools = me.tools ? Ext.Array.clone(me.tools) : []; + + + + if (me.collapsible && !(me.hideCollapseTool || me.header === false || me.preventHeader)) { + me.collapseDirection = me.collapseDirection || me.headerPosition || 'top'; + me.collapseTool = me.expandTool = Ext.widget({ + xtype: 'tool', + type: (me.collapsed && !me.isPlaceHolderCollapse()) ? ('expand-' + me.getOppositeDirection(me.collapseDirection)) : ('collapse-' + me.collapseDirection), + handler: me.toggleCollapse, + scope: me + }); + + + if (me.collapseFirst) { + me.tools.unshift(me.collapseTool); + } + } + + + me.addTools(); + + + if (me.closable) { + me.addClsWithUI('closable'); + me.addTool({ + type: 'close', + handler: Ext.Function.bind(me.close, me, []) + }); + } + + + if (me.collapseTool && !me.collapseFirst) { + me.addTool(me.collapseTool); + } + }, + + + addTools: Ext.emptyFn, + + + close: function() { + if (this.fireEvent('beforeclose', this) !== false) { + this.doClose(); + } + }, + + + doClose: function() { + this.fireEvent('close', this); + this[this.closeAction](); + }, + + + updateHeader: function(force) { + var me = this, + header = me.header, + title = me.title, + tools = me.tools, + icon = me.icon || me.iconCls, + vertical = me.headerPosition == 'left' || me.headerPosition == 'right'; + + if ((header !== false) && (force || (title || icon) || (tools && tools.length) || (me.collapsible && !me.titleCollapse))) { + if (header && header.isHeader) { + header.show(); + } else { + + header = me.header = Ext.widget(Ext.apply({ + xtype : 'header', + title : title, + titleAlign : me.titleAlign, + orientation : vertical ? 'vertical' : 'horizontal', + dock : me.headerPosition || 'top', + textCls : me.headerTextCls, + iconCls : me.iconCls, + icon : me.icon, + baseCls : me.baseCls + '-header', + tools : tools, + ui : me.ui, + id : me.id + '_header', + indicateDrag: me.draggable, + frame : (me.frame || me.alwaysFramed) && me.frameHeader, + ignoreParentFrame : me.frame || me.overlapHeader, + ignoreBorderManagement: me.frame || me.ignoreHeaderBorderManagement, + listeners : me.collapsible && me.titleCollapse ? { + click: me.toggleCollapse, + scope: me + } : null + }, me.header)); + me.addDocked(header, 0); + + + + me.tools = header.tools; + } + me.initHeaderAria(); + } else if (header) { + header.hide(); + } + }, + + + setUI: function(ui) { + var me = this; + + me.callParent(arguments); + + if (me.header && me.header.rendered) { + me.header.setUI(ui); + } + }, + + + getContentTarget: function() { + return this.body; + }, + + getTargetEl: function() { + var me = this; + return me.body || me.protoBody || me.frameBody || me.el; + }, + + + + + isVisible: function(deep){ + var me = this; + if (me.collapsed && me.placeholder) { + return me.placeholder.isVisible(deep); + } + return me.callParent(arguments); + }, + + + onHide: function(){ + var me = this; + if (me.collapsed && me.placeholder) { + me.placeholder.hide(); + } else { + me.callParent(arguments); + } + }, + + + onShow: function(){ + var me = this; + if (me.collapsed && me.placeholder) { + + me.hidden = true; + me.placeholder.show(); + } else { + me.callParent(arguments); + } + }, + + onRemoved: function(destroying) { + var me = this; + + me.callParent(arguments); + + + + if (me.placeholder && !destroying) { + me.ownerCt.remove(me.placeholder, false); + } + }, + + addTool: function(tools) { + tools = [].concat(tools); + + var me = this, + header = me.header, + t, + tLen = tools.length, + tool; + + for (t = 0; t < tLen; t++) { + tool = tools[t]; + + me.tools.push(tool); + + if (header && header.isHeader) { + header.addTool(tool); + } + } + + me.updateHeader(); + }, + + getOppositeDirection: function(d) { + var c = Ext.Component; + switch (d) { + case c.DIRECTION_TOP: + return c.DIRECTION_BOTTOM; + case c.DIRECTION_RIGHT: + return c.DIRECTION_LEFT; + case c.DIRECTION_BOTTOM: + return c.DIRECTION_TOP; + case c.DIRECTION_LEFT: + return c.DIRECTION_RIGHT; + } + }, + + getWidthAuthority: function() { + if (this.collapsed && this.collapsedHorizontal()) { + return 1; + } + + return this.callParent(); + }, + + getHeightAuthority: function() { + if (this.collapsed && this.collapsedVertical()) { + return 1; + } + + return this.callParent(); + }, + + collapsedHorizontal: function () { + var dir = this.getCollapsed(); + return dir == 'left' || dir == 'right'; + }, + + collapsedVertical: function () { + var dir = this.getCollapsed(); + return dir == 'top' || dir == 'bottom'; + }, + + restoreDimension: function(){ + var dir = this.collapseDirection; + + + return (dir === 'top' || dir === 'bottom') ? 'height' : 'width'; + }, + + + getCollapsed: function() { + var me = this; + + + if (me.collapsed === true) { + return me.collapseDirection; + } + return me.collapsed; + }, + + getState: function() { + var me = this, + state = me.callParent(), + memento; + + state = me.addPropertyToState(state, 'collapsed'); + + + if (me.collapsed) { + memento = me.collapseMemento; + memento = memento && memento.data; + + if (me.collapsedVertical()) { + if (state) { + delete state.height; + } + if (memento) { + state = me.addPropertyToState(state, 'height', memento.height); + } + } else { + if (state) { + delete state.width; + } + if (memento) { + state = me.addPropertyToState(state, 'width', memento.width); + } + } + } + + return state; + }, + + findReExpander: function (direction) { + var me = this, + c = Ext.Component, + dockedItems = me.dockedItems.items, + dockedItemCount = dockedItems.length, + comp, i; + + + if (me.collapseMode == 'mini') { + return; + } + + switch (direction) { + case c.DIRECTION_TOP: + case c.DIRECTION_BOTTOM: + + + + for (i = 0; i < dockedItemCount; i++) { + comp = dockedItems[i]; + if (!comp.hidden) { + if (comp.isHeader && (!comp.dock || comp.dock == 'top' || comp.dock == 'bottom')) { + return comp; + } + } + } + break; + + case c.DIRECTION_LEFT: + case c.DIRECTION_RIGHT: + + + + for (i = 0; i < dockedItemCount; i++) { + comp = dockedItems[i]; + if (!comp.hidden) { + if (comp.isHeader && (comp.dock == 'left' || comp.dock == 'right')) { + return comp; + } + } + } + break; + + default: + throw('Panel#findReExpander must be passed a valid collapseDirection'); + } + }, + + getReExpander: function (direction) { + var me = this, + collapseDir = direction || me.collapseDirection, + reExpander = me.reExpander || me.findReExpander(collapseDir); + + me.expandDirection = me.getOppositeDirection(collapseDir); + + if (!reExpander) { + + me.reExpander = reExpander = me.createReExpander(collapseDir, { + dock: collapseDir, + cls: Ext.baseCSSPrefix + 'docked ' + me.baseCls + '-' + me.ui + '-collapsed', + ownerCt: me, + ownerLayout: me.componentLayout + }); + + me.dockedItems.insert(0, reExpander); + } + return reExpander; + }, + + createReExpander: function(direction, defaults) { + var me = this, + isLeft = direction == 'left', + isRight = direction == 'right', + isVertical = isLeft || isRight, + toolAtTop, + result = Ext.apply({ + hideMode: 'offsets', + title: me.title, + orientation: isVertical ? 'vertical' : 'horizontal', + textCls: me.headerTextCls, + icon: me.icon, + iconCls: me.iconCls, + baseCls: me.baseCls + '-header', + ui: me.ui, + frame: me.frame && me.frameHeader, + ignoreParentFrame: me.frame || me.overlapHeader, + indicateDrag: me.draggable + }, defaults); + + + + if (me.collapseMode == 'mini') { + if (isVertical) { + result.width = 1; + } else { + result.height = 1; + } + } + + + + + if (!me.hideCollapseTool) { + toolAtTop = isLeft || (isRight && me.isPlaceHolderCollapse()); + result[toolAtTop ? 'items' : 'tools'] = [{ + xtype: 'tool', + type: 'expand-' + me.getOppositeDirection(direction), + uiCls: ['top'], + handler: me.toggleCollapse, + scope: me + }]; + } + result = new Ext.panel.Header(result); + result.addClsWithUI(me.getHeaderCollapsedClasses(result)); + return result; + }, + + + + getHeaderCollapsedClasses: function(header) { + var me = this, + collapsedCls = me.collapsedCls, + collapsedClasses; + + collapsedClasses = [ collapsedCls, collapsedCls + '-' + header.dock]; + if (me.border && (!me.frame || (me.frame && Ext.supports.CSS3BorderRadius))) { + collapsedClasses.push(collapsedCls + '-border-' + header.dock); + } + return collapsedClasses; + }, + + + beginCollapse: function() { + var me = this, + lastBox = me.lastBox, + rendered = me.rendered, + collapseMemento = me.collapseMemento || (me.collapseMemento = new Ext.util.Memento(me)), + sizeModel = me.getSizeModel(), + reExpander; + + + + + + + + + + + + + collapseMemento.capture(['height', 'minHeight', 'width', 'minWidth']); + if (lastBox) { + collapseMemento.capture(me.restoreDimension(), lastBox, 'last.'); + } + + + + + + if (me.collapsedVertical()) { + if (sizeModel.width.shrinkWrap) { + me.width = rendered ? me.getWidth() : me.width || me.minWidth || 100; + } + delete me.height; + me.minHeight = 0; + } else if (me.collapsedHorizontal()) { + if (sizeModel.height.shrinkWrap) { + me.height = rendered ? me.getHeight() : me.height || me.minHeight || 100; + } + delete me.width; + me.minWidth = 0; + } + + if (me.ownerCt) { + me.ownerCt.getLayout().beginCollapse(me); + } + + + + if (!me.isPlaceHolderCollapse()) { + if (me.header === (reExpander = me.getReExpander())) { + me.header.addClsWithUI(me.getHeaderCollapsedClasses(me.header)); + + + if (me.header.rendered) { + me.header.updateFrame(); + } + } + + else { + if (reExpander.el) { + reExpander.el.show(); + reExpander.hidden = false; + } + } + } + if (me.resizer) { + me.resizer.disable(); + } + }, + + beginExpand: function() { + var me = this, + lastBox = me.lastBox, + collapseMemento = me.collapseMemento, + restoreDimension = this.restoreDimension(), + reExpander; + + collapseMemento.restore(['minHeight', 'minWidth', restoreDimension]); + if (lastBox) { + collapseMemento.restore(restoreDimension, true, lastBox, 'last.'); + } + + if (me.ownerCt) { + me.ownerCt.getLayout().beginExpand(me); + } + + if (!me.isPlaceHolderCollapse()) { + + if (me.header === (reExpander = me.getReExpander())) { + me.header.removeClsWithUI(me.getHeaderCollapsedClasses(me.header)); + + + if (me.header.rendered) { + me.header.updateFrame(); + } + } + + else { + reExpander.hidden = true; + reExpander.el.hide(); + } + } + if (me.resizer) { + me.resizer.enable(); + } + }, + + + collapse: function(direction, animate) { + var me = this, + collapseDir = direction || me.collapseDirection, + ownerCt = me.ownerCt; + + if (me.isCollapsingOrExpanding) { + return me; + } + + if (arguments.length < 2) { + animate = me.animCollapse; + } + + if (me.collapsed || me.fireEvent('beforecollapse', me, direction, animate) === false) { + return me; + } + + if (ownerCt && me.isPlaceHolderCollapse()) { + return me.placeholderCollapse(direction, animate); + } + + me.collapsed = collapseDir; + me.beginCollapse(); + + me.fireHierarchyEvent('collapse'); + + return me.doCollapseExpand(1, animate); + }, + + doCollapseExpand: function (flags, animate) { + var me = this, + originalAnimCollapse = me.animCollapse, + ownerLayout = me.ownerLayout; + + + + me.animCollapse = animate; + + + + me.isCollapsingOrExpanding = flags; + + if (ownerLayout && !animate) { + ownerLayout.onContentChange(me); + } else { + me.updateLayout({ isRoot: true }); + } + + + me.animCollapse = originalAnimCollapse; + + return me; + }, + + + afterCollapse: function(animated) { + var me = this, + ownerLayout = me.ownerLayout; + + me.isCollapsingOrExpanding = 0; + if (me.collapseTool) { + me.collapseTool.setType('expand-' + me.getOppositeDirection(me.collapseDirection)); + } + + if (ownerLayout && animated) { + ownerLayout.onContentChange(me); + } + + me.setHiddenDocked(); + me.fireEvent('collapse', me); + }, + + setHiddenDocked: function(){ + + + var me = this, + toHide = me.hiddenOnCollapse, + reExpander = me.getReExpander(), + items = me.getDockedItems(), + len = items.length, + i = 0, + item; + + toHide.add(me.body); + for (; i < len; i++) { + item = items[i]; + if (item && item !== reExpander && item.el) { + toHide.add(item.el); + } + } + toHide.setStyle('visibility', 'hidden'); + }, + + restoreHiddenDocked: function(){ + var toShow = this.hiddenOnCollapse; + + toShow.setStyle('visibility', ''); + toShow.clear(); + }, + + getPlaceholder: function(direction) { + var me = this, + collapseDir = direction || me.collapseDirection, + listeners = null, + placeholder = me.placeholder; + + if (!placeholder) { + if (me.floatable || (me.collapsible && me.titleCollapse)) { + listeners = { + click: { + fn: me.floatable ? me.floatCollapsedPanel : me.toggleCollapse, + element: 'el', + scope: me + } + }; + } + + me.placeholder = placeholder = Ext.widget(me.createReExpander(collapseDir, { + id: me.id + '-placeholder', + listeners: listeners + })); + } + + + if (!placeholder.placeholderFor) { + + if (!placeholder.isComponent) { + me.placeholder = placeholder = me.lookupComponent(placeholder); + } + Ext.applyIf(placeholder, { + margins: me.margins, + placeholderFor: me + }); + + placeholder.addCls([Ext.baseCSSPrefix + 'region-collapsed-placeholder', Ext.baseCSSPrefix + 'region-collapsed-' + collapseDir + '-placeholder', me.collapsedCls]); + } + + return placeholder; + }, + + placeholderCollapse: function(direction, animate) { + var me = this, + ownerCt = me.ownerCt, + collapseDir = direction || me.collapseDirection, + floatCls = Ext.baseCSSPrefix + 'border-region-slide-in', + placeholder = me.getPlaceholder(direction); + + me.isCollapsingOrExpanding = 1; + + + me.hidden = true; + me.collapsed = collapseDir; + + if (placeholder.rendered) { + + if (placeholder.el.dom.parentNode !== me.el.dom.parentNode) { + me.el.dom.parentNode.insertBefore(placeholder.el.dom, me.el.dom); + } + + placeholder.hidden = false; + placeholder.el.show(); + ownerCt.updateLayout(); + } else { + ownerCt.insert(ownerCt.items.indexOf(me), placeholder); + } + + if (me.rendered) { + + me.el.setVisibilityMode(me.placeholderCollapseHideMode); + if (animate) { + me.el.addCls(floatCls); + placeholder.el.hide(); + + me.el.slideOut(collapseDir.substr(0, 1), { + preserveScroll: true, + duration: Ext.Number.from(animate, Ext.fx.Anim.prototype.duration), + listeners: { + afteranimate: function() { + me.el.removeCls(floatCls); + + placeholder.el.show().setStyle('display', 'none').slideIn(collapseDir.substr(0, 1), { + easing: 'linear', + duration: 100, + listeners: { + afteranimate: function() { + placeholder.focus(); + me.isCollapsingOrExpanding = 0; + me.fireEvent('collapse', me); + } + } + }); + } + } + }); + } else { + me.el.hide(); + me.isCollapsingOrExpanding = 0; + me.fireEvent('collapse', me); + } + } else { + me.isCollapsingOrExpanding = 0; + me.fireEvent('collapse', me); + } + + return me; + }, + + floatCollapsedPanel: function() { + var me = this, + placeholder = me.placeholder, + pb = placeholder.getBox(true), + myBox, + floatCls = Ext.baseCSSPrefix + 'border-region-slide-in', + collapsed = me.collapsed, + layoutOwner = me.ownerCt || me, + slideDirection; + + + if (me.el.hasCls(floatCls)) { + me.slideOutFloatedPanel(); + return; + } + + if (me.isSliding) { + return; + } + me.isSliding = true; + + + + function onMouseLeaveFloated(e) { + if (!me.isDestroyed) { + var slideRegion = me.el.getRegion().union(placeholder.el.getRegion()).adjust(1, -1, -1, 1); + + + if (!slideRegion.contains(e.getPoint())) { + me.slideOutFloatedPanel(); + } + } + } + + + me.placeholder.el.hide(); + me.placeholder.hidden = true; + me.el.show(); + me.hidden = false; + me.collapsed = false; + layoutOwner.updateLayout(); + myBox = me.getBox(true); + + + me.placeholder.el.show(); + me.placeholder.hidden = false; + me.el.hide(); + me.hidden = true; + me.collapsed = collapsed; + layoutOwner.updateLayout(); + + + me.placeholderMouseMon = placeholder.el.monitorMouseLeave(500, onMouseLeaveFloated); + me.panelMouseMon = me.el.monitorMouseLeave(500, onMouseLeaveFloated); + me.el.addCls(floatCls); + + + if (me.collapseTool) { + me.collapseTool.el.hide(); + } + + switch (me.collapsed) { + case 'top': + me.el.setLeftTop(pb.x, pb.y + pb.height - 1); + slideDirection = 't'; + break; + case 'right': + me.el.setLeftTop(pb.x - myBox.width + 1, pb.y); + slideDirection = 'r'; + break; + case 'bottom': + me.el.setLeftTop(pb.x, pb.y - myBox.height + 1); + slideDirection = 'b'; + break; + case 'left': + me.el.setLeftTop(pb.x + pb.width - 1, pb.y); + slideDirection = 'l'; + break; + } + + + + me.floatedFromCollapse = me.collapsed; + me.collapsed = me.hidden = false; + + me.el.slideIn(slideDirection, { + preserveScroll: true, + listeners: { + afteranimate: function() { + me.isSliding = false; + } + } + }); + }, + + isLayoutRoot: function() { + if (this.floatedFromCollapse) { + return true; + } + return this.callParent(); + }, + + slideOutFloatedPanel: function() { + var me = this, + compEl = this.el, + collapseDirection; + + if (me.isSliding) { + return; + } + + me.isSliding = true; + + me.slideOutFloatedPanelBegin(); + + if (typeof me.collapsed == 'string') { + collapseDirection = me.collapsed.charAt(0); + } + + compEl.slideOut(collapseDirection, { + preserveScroll: true, + listeners: { + afteranimate: function() { + me.slideOutFloatedPanelEnd(); + + + me.el.removeCls(Ext.baseCSSPrefix + 'border-region-slide-in'); + me.isSliding = false; + } + } + }); + }, + + + slideOutFloatedPanelBegin: function() { + var me = this, + compEl = this.el; + + me.collapsed = me.floatedFromCollapse; + me.hidden = true; + me.floatedFromCollapse = null; + + + compEl.un(me.panelMouseMon); + me.placeholder.el.un(me.placeholderMouseMon); + }, + + + slideOutFloatedPanelEnd: function() { + if (this.collapseTool) { + this.collapseTool.el.show(); + } + }, + + + expand: function(animate) { + var me = this; + + if (me.isCollapsingOrExpanding) { + return me; + } + + if (!arguments.length) { + animate = me.animCollapse; + } + + if (!me.collapsed && !me.floatedFromCollapse) { + return me; + } + + if (me.fireEvent('beforeexpand', me, animate) === false) { + return me; + } + + if (me.isPlaceHolderCollapse()) { + return me.placeholderExpand(animate); + } + + me.restoreHiddenDocked(); + me.beginExpand(); + me.collapsed = false; + + me.fireHierarchyEvent('expand'); + + return me.doCollapseExpand(2, animate); + }, + + placeholderExpand: function(animate) { + var me = this, + collapseDir = me.collapsed, + floatCls = Ext.baseCSSPrefix + 'border-region-slide-in', + finalPos, + floatedPos, + slideInDirection; + + if (me.floatedFromCollapse) { + floatedPos = me.getPosition(true); + + me.slideOutFloatedPanelBegin(); + me.slideOutFloatedPanelEnd(); + } + + me.isCollapsingOrExpanding = 2; + + + me.placeholder.hidden = true; + me.placeholder.el.hide(); + me.collapsed = false; + me.show(); + + if (animate) { + + if (floatedPos) { + finalPos = me.el.getXY(); + me.el.setLeftTop(floatedPos[0], floatedPos[1]); + me.el.moveTo(finalPos[0], finalPos[1], { + duration: Ext.Number.from(animate, Ext.fx.Anim.prototype.duration), + listeners: { + afteranimate: function() { + me.el.removeCls(floatCls); + me.isCollapsingOrExpanding = 0; + me.fireEvent('expand', me); + } + } + }); + } + + else { + me.hidden = true; + me.el.addCls(floatCls); + me.el.hide(); + me.collapsed = collapseDir; + me.placeholder.show(); + slideInDirection = collapseDir.substr(0, 1); + + + me.hidden = false; + me.el.slideIn(slideInDirection, { + preserveScroll: true, + duration: Ext.Number.from(animate, Ext.fx.Anim.prototype.duration), + listeners: { + afteranimate: function() { + me.collapsed = false; + + + + + + + me.el.removeCls(floatCls); + me.placeholder.hide(); + + me.isCollapsingOrExpanding = 0; + me.fireEvent('expand', me); + } + } + }); + } + + } else { + me.isCollapsingOrExpanding = 0; + me.fireEvent('expand', me); + } + + return me; + }, + + + afterExpand: function(animated) { + var me = this, + ownerLayout = me.ownerLayout; + + me.isCollapsingOrExpanding = 0; + if (me.collapseTool) { + me.collapseTool.setType('collapse-' + me.collapseDirection); + } + + if (ownerLayout && animated) { + ownerLayout.onContentChange(me); + } + + me.fireEvent('expand', me); + }, + + + setBorder: function(border, targetEl) { + if (targetEl) { + + return; + } + + var me = this, + header = me.header; + + if (!border) { + border = 0; + } else { + border = Ext.Element.unitizeBox((border === true) ? 1 : border); + } + + if (header) { + if (header.isHeader) { + header.setBorder(border); + } else { + header.border = border; + } + } + + if (me.rendered && me.bodyBorder !== false) { + me.body.setStyle('border-width', border); + } + me.updateLayout(); + + me.border = border; + }, + + + toggleCollapse: function() { + return (this.collapsed || this.floatedFromCollapse) ? this.expand() : this.collapse(); + }, + + + getKeyMap : function() { + return this.keyMap || (this.keyMap = new Ext.util.KeyMap(Ext.apply({ + target: this.el + }, this.keys))); + }, + + + initDraggable : function(){ + + this.dd = new Ext.panel.DD(this, Ext.isBoolean(this.draggable) ? null : this.draggable); + }, + + + ghostTools : function() { + var tools = [], + header = this.header, + headerTools = header ? header.query('tool[hidden=false]') : [], + t, tLen, tool; + + if (headerTools.length) { + t = 0; + tLen = headerTools.length; + + for (; t < tLen; t++) { + tool = headerTools[t]; + + + + + + tools.push({ + type: tool.type + }); + } + } else { + tools = [{ + type: 'placeholder' + }]; + } + return tools; + }, + + + ghost: function(cls) { + var me = this, + ghostPanel = me.ghostPanel, + box = me.getBox(), + header; + + if (!ghostPanel) { + ghostPanel = new Ext.panel.Panel({ + renderTo: document.body, + floating: { + shadow: false + }, + frame: me.frame && !me.alwaysFramed, + alwaysFramed: me.alwaysFramed, + overlapHeader: me.overlapHeader, + headerPosition: me.headerPosition, + baseCls: me.baseCls, + cls: me.baseCls + '-ghost ' + (cls ||'') + }); + me.ghostPanel = ghostPanel; + } else { + ghostPanel.el.show(); + } + ghostPanel.floatParent = me.floatParent; + if (me.floating) { + ghostPanel.setZIndex(Ext.Number.from(me.el.getStyle('zIndex'), 0)); + } else { + ghostPanel.toFront(); + } + if (!(me.preventHeader || (me.header === false))) { + header = ghostPanel.header; + + if (header) { + header.suspendLayouts(); + Ext.Array.forEach(header.query('tool'), header.remove, header); + header.resumeLayouts(); + } + ghostPanel.addTool(me.ghostTools()); + ghostPanel.setTitle(me.title); + ghostPanel.setIconCls(me.iconCls); + } + + ghostPanel.setPagePosition(box.x, box.y); + ghostPanel.setSize(box.width, box.height); + me.el.hide(); + return ghostPanel; + }, + + + unghost: function(show, matchPosition) { + var me = this; + if (!me.ghostPanel) { + return; + } + if (show !== false) { + + + me.el.show(); + if (matchPosition !== false) { + me.setPagePosition(me.ghostPanel.el.getXY()); + if (me.hideMode == 'offsets') { + + delete me.el.hideModeStyles; + } + } + Ext.defer(me.focus, 10, me); + } + me.ghostPanel.el.hide(); + }, + + beginDrag: function() { + if (this.floatingDescendants) { + this.floatingDescendants.hide(); + } + }, + + endDrag: function() { + if (this.floatingDescendants) { + this.floatingDescendants.show(); + } + }, + + initResizable: function(resizable) { + if (this.collapsed) { + resizable.disabled = true; + } + this.callParent([resizable]); + } +}, function() { + this.prototype.animCollapse = Ext.enableFx; +}); + + +Ext.define('Ext.tip.Tip', { + extend: 'Ext.panel.Panel', + + alternateClassName: 'Ext.Tip', + + + + + minWidth : 40, + + maxWidth : 300, + + shadow : "sides", + + + defaultAlign : "tl-bl?", + + constrainPosition : true, + + + autoRender: true, + hidden: true, + baseCls: Ext.baseCSSPrefix + 'tip', + floating: { + shadow: true, + shim: true, + constrain: true + }, + focusOnToFront: false, + + + closeAction: 'hide', + + ariaRole: 'tooltip', + + + alwaysFramed: true, + + frameHeader: false, + + initComponent: function() { + var me = this; + + me.floating = Ext.apply({}, {shadow: me.shadow}, me.self.prototype.floating); + me.callParent(arguments); + + + me.constrain = me.constrain || me.constrainPosition; + }, + + + showAt : function(xy){ + var me = this; + this.callParent(arguments); + + if (me.isVisible()) { + me.setPagePosition(xy[0], xy[1]); + if (me.constrainPosition || me.constrain) { + me.doConstrain(); + } + me.toFront(true); + } + }, + + + showBy : function(el, pos) { + this.showAt(this.el.getAlignToXY(el, pos || this.defaultAlign)); + }, + + + initDraggable : function(){ + var me = this; + me.draggable = { + el: me.getDragEl(), + delegate: me.header.el, + constrain: me, + constrainTo: me.el.getScopeParent() + }; + + Ext.Component.prototype.initDraggable.call(me); + }, + + + ghost: undefined, + unghost: undefined +}); + + +Ext.define('Ext.tip.ToolTip', { + extend: 'Ext.tip.Tip', + alias: 'widget.tooltip', + alternateClassName: 'Ext.ToolTip', + + + + autoHide: true, + + + showDelay: 500, + + hideDelay: 200, + + dismissDelay: 5000, + + + trackMouse: false, + + + anchorToTarget: true, + + anchorOffset: 0, + + + + targetCounter: 0, + quickShowInterval: 250, + + + initComponent: function() { + var me = this; + me.callParent(arguments); + me.lastActive = new Date(); + me.setTarget(me.target); + me.origAnchor = me.anchor; + }, + + + onRender: function(ct, position) { + var me = this; + me.callParent(arguments); + me.anchorCls = Ext.baseCSSPrefix + 'tip-anchor-' + me.getAnchorPosition(); + me.anchorEl = me.el.createChild({ + cls: Ext.baseCSSPrefix + 'tip-anchor ' + me.anchorCls + }); + }, + + + setTarget: function(target) { + var me = this, + t = Ext.get(target), + tg; + + if (me.target) { + tg = Ext.get(me.target); + me.mun(tg, 'mouseover', me.onTargetOver, me); + me.mun(tg, 'mouseout', me.onTargetOut, me); + me.mun(tg, 'mousemove', me.onMouseMove, me); + } + + me.target = t; + if (t) { + + me.mon(t, { + + + freezeEvent: true, + + mouseover: me.onTargetOver, + mouseout: me.onTargetOut, + mousemove: me.onMouseMove, + scope: me + }); + } + if (me.anchor) { + me.anchorTarget = me.target; + } + }, + + + onMouseMove: function(e) { + var me = this, + t = me.delegate ? e.getTarget(me.delegate) : me.triggerElement = true, + xy; + if (t) { + me.targetXY = e.getXY(); + if (t === me.triggerElement) { + if (!me.hidden && me.trackMouse) { + xy = me.getTargetXY(); + if (me.constrainPosition) { + xy = me.el.adjustForConstraints(xy, me.el.getScopeParent()); + } + me.setPagePosition(xy); + } + } else { + me.hide(); + me.lastActive = new Date(0); + me.onTargetOver(e); + } + } else if ((!me.closable && me.isVisible()) && me.autoHide !== false) { + me.hide(); + } + }, + + + getTargetXY: function() { + var me = this, + mouseOffset, + offsets, xy, dw, dh, de, bd, scrollX, scrollY, axy, sz, constrainPosition; + if (me.delegate) { + me.anchorTarget = me.triggerElement; + } + if (me.anchor) { + me.targetCounter++; + offsets = me.getOffsets(); + xy = (me.anchorToTarget && !me.trackMouse) ? me.el.getAlignToXY(me.anchorTarget, me.getAnchorAlign()) : me.targetXY; + dw = Ext.Element.getViewWidth() - 5; + dh = Ext.Element.getViewHeight() - 5; + de = document.documentElement; + bd = document.body; + scrollX = (de.scrollLeft || bd.scrollLeft || 0) + 5; + scrollY = (de.scrollTop || bd.scrollTop || 0) + 5; + axy = [xy[0] + offsets[0], xy[1] + offsets[1]]; + sz = me.getSize(); + constrainPosition = me.constrainPosition; + + me.anchorEl.removeCls(me.anchorCls); + + if (me.targetCounter < 2 && constrainPosition) { + if (axy[0] < scrollX) { + if (me.anchorToTarget) { + me.defaultAlign = 'l-r'; + if (me.mouseOffset) { + me.mouseOffset[0] *= -1; + } + } + me.anchor = 'left'; + return me.getTargetXY(); + } + if (axy[0] + sz.width > dw) { + if (me.anchorToTarget) { + me.defaultAlign = 'r-l'; + if (me.mouseOffset) { + me.mouseOffset[0] *= -1; + } + } + me.anchor = 'right'; + return me.getTargetXY(); + } + if (axy[1] < scrollY) { + if (me.anchorToTarget) { + me.defaultAlign = 't-b'; + if (me.mouseOffset) { + me.mouseOffset[1] *= -1; + } + } + me.anchor = 'top'; + return me.getTargetXY(); + } + if (axy[1] + sz.height > dh) { + if (me.anchorToTarget) { + me.defaultAlign = 'b-t'; + if (me.mouseOffset) { + me.mouseOffset[1] *= -1; + } + } + me.anchor = 'bottom'; + return me.getTargetXY(); + } + } + + me.anchorCls = Ext.baseCSSPrefix + 'tip-anchor-' + me.getAnchorPosition(); + me.anchorEl.addCls(me.anchorCls); + me.targetCounter = 0; + return axy; + } else { + mouseOffset = me.getMouseOffset(); + return (me.targetXY) ? [me.targetXY[0] + mouseOffset[0], me.targetXY[1] + mouseOffset[1]] : mouseOffset; + } + }, + + getMouseOffset: function() { + var me = this, + offset = me.anchor ? [0, 0] : [15, 18]; + if (me.mouseOffset) { + offset[0] += me.mouseOffset[0]; + offset[1] += me.mouseOffset[1]; + } + return offset; + }, + + + getAnchorPosition: function() { + var me = this, + m; + if (me.anchor) { + me.tipAnchor = me.anchor.charAt(0); + } else { + m = me.defaultAlign.match(/^([a-z]+)-([a-z]+)(\?)?$/); + me.tipAnchor = m[1].charAt(0); + } + + switch (me.tipAnchor) { + case 't': + return 'top'; + case 'b': + return 'bottom'; + case 'r': + return 'right'; + } + return 'left'; + }, + + + getAnchorAlign: function() { + switch (this.anchor) { + case 'top': + return 'tl-bl'; + case 'left': + return 'tl-tr'; + case 'right': + return 'tr-tl'; + default: + return 'bl-tl'; + } + }, + + + getOffsets: function() { + var me = this, + mouseOffset, + offsets, + ap = me.getAnchorPosition().charAt(0); + if (me.anchorToTarget && !me.trackMouse) { + switch (ap) { + case 't': + offsets = [0, 9]; + break; + case 'b': + offsets = [0, -13]; + break; + case 'r': + offsets = [ - 13, 0]; + break; + default: + offsets = [9, 0]; + break; + } + } else { + switch (ap) { + case 't': + offsets = [ - 15 - me.anchorOffset, 30]; + break; + case 'b': + offsets = [ - 19 - me.anchorOffset, -13 - me.el.dom.offsetHeight]; + break; + case 'r': + offsets = [ - 15 - me.el.dom.offsetWidth, -13 - me.anchorOffset]; + break; + default: + offsets = [25, -13 - me.anchorOffset]; + break; + } + } + mouseOffset = me.getMouseOffset(); + offsets[0] += mouseOffset[0]; + offsets[1] += mouseOffset[1]; + + return offsets; + }, + + + onTargetOver: function(e) { + var me = this, + t; + + if (me.disabled || e.within(me.target.dom, true)) { + return; + } + t = e.getTarget(me.delegate); + if (t) { + me.triggerElement = t; + me.clearTimer('hide'); + me.targetXY = e.getXY(); + me.delayShow(); + } + }, + + + delayShow: function() { + var me = this; + if (me.hidden && !me.showTimer) { + if (Ext.Date.getElapsed(me.lastActive) < me.quickShowInterval) { + me.show(); + } else { + me.showTimer = Ext.defer(me.show, me.showDelay, me); + } + } + else if (!me.hidden && me.autoHide !== false) { + me.show(); + } + }, + + onShowVeto: function(){ + this.callParent(); + this.clearTimer('show'); + }, + + + onTargetOut: function(e) { + var me = this; + + + + if (me.disabled || e.within(me.target.dom, true)) { + return; + } + me.clearTimer('show'); + if (me.autoHide !== false) { + me.delayHide(); + } + }, + + + delayHide: function() { + var me = this; + if (!me.hidden && !me.hideTimer) { + me.hideTimer = Ext.defer(me.hide, me.hideDelay, me); + } + }, + + + hide: function() { + var me = this; + me.clearTimer('dismiss'); + me.lastActive = new Date(); + if (me.anchorEl) { + me.anchorEl.hide(); + } + me.callParent(arguments); + delete me.triggerElement; + }, + + + show: function() { + var me = this; + + + + this.callParent(); + if (this.hidden === false) { + me.setPagePosition(-10000, -10000); + + if (me.anchor) { + me.anchor = me.origAnchor; + } + + if (!me.calledFromShowAt) { + me.showAt(me.getTargetXY()); + } + + if (me.anchor) { + me.syncAnchor(); + me.anchorEl.show(); + } else { + me.anchorEl.hide(); + } + } + }, + + + showAt: function(xy) { + var me = this; + me.lastActive = new Date(); + me.clearTimers(); + me.calledFromShowAt = true; + + + if (!me.isVisible()) { + this.callParent(arguments); + } + + + if (me.isVisible()) { + me.setPagePosition(xy[0], xy[1]); + if (me.constrainPosition || me.constrain) { + me.doConstrain(); + } + me.toFront(true); + me.el.sync(true); + if (me.dismissDelay && me.autoHide !== false) { + me.dismissTimer = Ext.defer(me.hide, me.dismissDelay, me); + } + if (me.anchor) { + me.syncAnchor(); + if (!me.anchorEl.isVisible()) { + me.anchorEl.show(); + } + } else { + me.anchorEl.hide(); + } + } + delete me.calledFromShowAt; + }, + + + syncAnchor: function() { + var me = this, + anchorPos, + targetPos, + offset; + switch (me.tipAnchor.charAt(0)) { + case 't': + anchorPos = 'b'; + targetPos = 'tl'; + offset = [20 + me.anchorOffset, 1]; + break; + case 'r': + anchorPos = 'l'; + targetPos = 'tr'; + offset = [ - 1, 12 + me.anchorOffset]; + break; + case 'b': + anchorPos = 't'; + targetPos = 'bl'; + offset = [20 + me.anchorOffset, -1]; + break; + default: + anchorPos = 'r'; + targetPos = 'tl'; + offset = [1, 12 + me.anchorOffset]; + break; + } + me.anchorEl.alignTo(me.el, anchorPos + '-' + targetPos, offset); + me.anchorEl.setStyle('z-index', parseInt(me.el.getZIndex(), 10) || 0 + 1).setVisibilityMode(Ext.Element.DISPLAY); + }, + + + setPagePosition: function(x, y) { + var me = this; + me.callParent(arguments); + if (me.anchor) { + me.syncAnchor(); + } + }, + + + clearTimer: function(name) { + name = name + 'Timer'; + clearTimeout(this[name]); + delete this[name]; + }, + + + clearTimers: function() { + var me = this; + me.clearTimer('show'); + me.clearTimer('dismiss'); + me.clearTimer('hide'); + }, + + + onShow: function() { + var me = this; + me.callParent(); + me.mon(Ext.getDoc(), 'mousedown', me.onDocMouseDown, me); + }, + + + onHide: function() { + var me = this; + me.callParent(); + me.mun(Ext.getDoc(), 'mousedown', me.onDocMouseDown, me); + }, + + + onDocMouseDown: function(e) { + var me = this; + if (!me.closable && !e.within(me.el.dom)) { + me.disable(); + Ext.defer(me.doEnable, 100, me); + } + }, + + + doEnable: function() { + if (!this.isDestroyed) { + this.enable(); + } + }, + + + onDisable: function() { + this.callParent(); + this.clearTimers(); + this.hide(); + }, + + beforeDestroy: function() { + var me = this; + me.clearTimers(); + Ext.destroy(me.anchorEl); + delete me.anchorEl; + delete me.target; + delete me.anchorTarget; + delete me.triggerElement; + me.callParent(); + }, + + + onDestroy: function() { + Ext.getDoc().un('mousedown', this.onDocMouseDown, this); + this.callParent(); + } +}); + + +Ext.define('Ext.tip.QuickTip', { + extend: 'Ext.tip.ToolTip', + alias: 'widget.quicktip', + alternateClassName: 'Ext.QuickTip', + + + + + interceptTitles : false, + + + title: ' ', + + + tagConfig : { + namespace : "data-", + attribute : "qtip", + width : "qwidth", + target : "target", + title : "qtitle", + hide : "hide", + cls : "qclass", + align : "qalign", + anchor : "anchor" + }, + + + initComponent : function(){ + var me = this; + + me.target = me.target || Ext.getDoc(); + me.targets = me.targets || {}; + me.callParent(); + }, + + + register : function(config){ + var configs = Ext.isArray(config) ? config : arguments, + i = 0, + len = configs.length, + target, j, targetLen; + + for (; i < len; i++) { + config = configs[i]; + target = config.target; + if (target) { + if (Ext.isArray(target)) { + for (j = 0, targetLen = target.length; j < targetLen; j++) { + this.targets[Ext.id(target[j])] = config; + } + } else{ + this.targets[Ext.id(target)] = config; + } + } + } + }, + + + unregister : function(el){ + delete this.targets[Ext.id(el)]; + }, + + + cancelShow: function(el){ + var me = this, + activeTarget = me.activeTarget; + + el = Ext.get(el).dom; + if (me.isVisible()) { + if (activeTarget && activeTarget.el == el) { + me.hide(); + } + } else if (activeTarget && activeTarget.el == el) { + me.clearTimer('show'); + } + }, + + + getTipCfg: function(e) { + var t = e.getTarget(), + titleText = t.title, + cfg; + + if (this.interceptTitles && titleText && Ext.isString(titleText)) { + t.qtip = titleText; + t.removeAttribute("title"); + e.preventDefault(); + return { + text: titleText + }; + } + else { + cfg = this.tagConfig; + t = e.getTarget('[' + cfg.namespace + cfg.attribute + ']'); + if (t) { + return { + target: t, + text: t.getAttribute(cfg.namespace + cfg.attribute) + }; + } + } + }, + + + onTargetOver : function(e){ + var me = this, + target = e.getTarget(me.delegate), + hasShowDelay, + delay, + elTarget, + cfg, + ns, + tipConfig, + autoHide, + targets, targetEl, value, key; + + if (me.disabled) { + return; + } + + + + + me.targetXY = e.getXY(); + + + if(!target || target.nodeType !== 1 || target == document.documentElement || target == document.body){ + return; + } + + if (me.activeTarget && ((target == me.activeTarget.el) || Ext.fly(me.activeTarget.el).contains(target))) { + me.clearTimer('hide'); + me.show(); + return; + } + + if (target) { + targets = me.targets; + + for (key in targets) { + if (targets.hasOwnProperty(key)) { + value = targets[key]; + + targetEl = Ext.fly(value.target); + if (targetEl && (targetEl.dom === target || targetEl.contains(target))) { + elTarget = targetEl.dom; + break; + } + } + } + + if (elTarget) { + me.activeTarget = me.targets[elTarget.id]; + me.activeTarget.el = target; + me.anchor = me.activeTarget.anchor; + if (me.anchor) { + me.anchorTarget = target; + } + hasShowDelay = Ext.isDefined(me.activeTarget.showDelay); + if (hasShowDelay) { + delay = me.showDelay; + me.showDelay = me.activeTarget.showDelay; + } + me.delayShow(); + if (hasShowDelay) { + me.showDelay = delay; + } + return; + } + } + + + elTarget = Ext.fly(target, '_quicktip-target'); + cfg = me.tagConfig; + ns = cfg.namespace; + tipConfig = me.getTipCfg(e); + + if (tipConfig) { + + + + if (tipConfig.target) { + target = tipConfig.target; + elTarget = Ext.fly(target, '_quicktip-target'); + } + autoHide = elTarget.getAttribute(ns + cfg.hide); + + me.activeTarget = { + el: target, + text: tipConfig.text, + width: +elTarget.getAttribute(ns + cfg.width) || null, + autoHide: autoHide != "user" && autoHide !== 'false', + title: elTarget.getAttribute(ns + cfg.title), + cls: elTarget.getAttribute(ns + cfg.cls), + align: elTarget.getAttribute(ns + cfg.align) + + }; + me.anchor = elTarget.getAttribute(ns + cfg.anchor); + if (me.anchor) { + me.anchorTarget = target; + } + hasShowDelay = Ext.isDefined(me.activeTarget.showDelay); + if (hasShowDelay) { + delay = me.showDelay; + me.showDelay = me.activeTarget.showDelay; + } + me.delayShow(); + if (hasShowDelay) { + me.showDelay = delay; + } + } + }, + + + onTargetOut : function(e){ + var me = this, + active = me.activeTarget, + hasHideDelay, + delay; + + + + if (active && e.within(me.activeTarget.el) && !me.getTipCfg(e)) { + return; + } + + me.clearTimer('show'); + delete me.activeTarget; + if (me.autoHide !== false) { + hasHideDelay = active && Ext.isDefined(active.hideDelay); + if (hasHideDelay) { + delay = me.hideDelay; + me.hideDelay = active.hideDelay; + } + me.delayHide(); + if (hasHideDelay) { + me.hideDelay = delay; + } + } + }, + + + showAt : function(xy){ + var me = this, + target = me.activeTarget, + cls; + + if (target) { + if (!me.rendered) { + me.render(Ext.getBody()); + me.activeTarget = target; + } + me.suspendLayouts(); + if (target.title) { + me.setTitle(target.title); + me.header.show(); + } else { + me.header.hide(); + } + me.update(target.text); + me.autoHide = target.autoHide; + me.dismissDelay = target.dismissDelay || me.dismissDelay; + if (target.mouseOffset) { + xy[0] += target.mouseOffset[0]; + xy[1] += target.mouseOffset[1]; + } + + cls = me.lastCls; + if (cls) { + me.removeCls(cls); + delete me.lastCls; + } + + cls = target.cls; + if (cls) { + me.addCls(cls); + me.lastCls = cls; + } + + me.setWidth(target.width); + + if (me.anchor) { + me.constrainPosition = false; + } else if (target.align) { + xy = me.el.getAlignToXY(target.el, target.align); + me.constrainPosition = false; + }else{ + me.constrainPosition = true; + } + me.resumeLayouts(true); + } + me.callParent([xy]); + }, + + + hide: function(){ + delete this.activeTarget; + this.callParent(); + } +}); + + +Ext.define('Ext.tip.QuickTipManager', (function() { + var tip, + disabled = false; + + return { + requires: ['Ext.tip.QuickTip'], + singleton: true, + alternateClassName: 'Ext.QuickTips', + + + init : function (autoRender, config) { + if (!tip) { + if (!Ext.isReady) { + Ext.onReady(function(){ + Ext.tip.QuickTipManager.init(autoRender, config); + }); + return; + } + + var tipConfig = Ext.apply({ disabled: disabled, id: 'ext-quicktips-tip' }, config), + className = tipConfig.className, + xtype = tipConfig.xtype; + + if (className) { + delete tipConfig.className; + } else if (xtype) { + className = 'widget.' + xtype; + delete tipConfig.xtype; + } + + if (autoRender !== false) { + tipConfig.renderTo = document.body; + + } + + tip = Ext.create(className || 'Ext.tip.QuickTip', tipConfig); + } + }, + + + destroy: function() { + if (tip) { + var undef; + tip.destroy(); + tip = undef; + } + }, + + + ddDisable : function(){ + + if(tip && !disabled){ + tip.disable(); + } + }, + + + ddEnable : function(){ + + if(tip && !disabled){ + tip.enable(); + } + }, + + + enable : function(){ + if(tip){ + tip.enable(); + } + disabled = false; + }, + + + disable : function(){ + if(tip){ + tip.disable(); + } + disabled = true; + }, + + + isEnabled : function(){ + return tip !== undefined && !tip.disabled; + }, + + + getQuickTip : function(){ + return tip; + }, + + + register : function(){ + tip.register.apply(tip, arguments); + }, + + + unregister : function(){ + tip.unregister.apply(tip, arguments); + }, + + + tips : function(){ + tip.register.apply(tip, arguments); + } + }; +}())); + + +Ext.define('Ext.app.EventBus', { + requires: [ + 'Ext.util.Event', + 'Ext.Component' + ], + mixins: { + observable: 'Ext.util.Observable' + }, + + constructor: function() { + this.mixins.observable.constructor.call(this); + + this.bus = {}; + + var me = this; + Ext.override(Ext.Component, { + fireEvent: function(ev) { + if (Ext.util.Observable.prototype.fireEvent.apply(this, arguments) !== false) { + return me.dispatch.call(me, ev, this, arguments); + } + return false; + } + }); + }, + + dispatch: function(ev, target, args) { + var bus = this.bus, + selectors = bus[ev], + selector, controllers, id, events, event, i, ln; + + if (selectors) { + + for (selector in selectors) { + + if (selectors.hasOwnProperty(selector) && target.is(selector)) { + + controllers = selectors[selector]; + for (id in controllers) { + if (controllers.hasOwnProperty(id)) { + + events = controllers[id]; + for (i = 0, ln = events.length; i < ln; i++) { + event = events[i]; + + if (event.fire.apply(event, Array.prototype.slice.call(args, 1)) === false) { + return false; + } + } + } + } + } + } + } + return true; + }, + + control: function(selectors, listeners, controller) { + var bus = this.bus, + hasListeners, tree, list, + selector, options, listener, scope, event, listenerList, ev; + + if (Ext.isString(selectors)) { + selector = selectors; + selectors = {}; + selectors[selector] = listeners; + this.control(selectors, null, controller); + return; + } + + hasListeners = Ext.util.Observable.HasListeners.prototype; + for (selector in selectors) { + if (selectors.hasOwnProperty(selector)) { + listenerList = selectors[selector] || {}; + + for (ev in listenerList) { + if (listenerList.hasOwnProperty(ev)) { + options = {}; + listener = listenerList[ev]; + scope = controller; + event = new Ext.util.Event(controller, ev); + + + if (Ext.isObject(listener)) { + options = listener; + listener = options.fn; + scope = options.scope || controller; + + delete options.fn; + delete options.scope; + } + + event.addListener(listener, scope, options); + + hasListeners[ev] = 1; + + + tree = bus[ev] || (bus[ev] = {}); + tree = tree[selector] || (tree[selector] = {}); + list = tree[controller.id] || (tree[controller.id] = []); + + + list.push(event); + } + } + } + } + } +}); + + +Ext.define('Ext.app.Application', { + extend: 'Ext.app.Controller', + + requires: [ + 'Ext.ModelManager', + 'Ext.data.Model', + 'Ext.data.StoreManager', + 'Ext.tip.QuickTipManager', + 'Ext.ComponentManager', + 'Ext.app.EventBus' + ], + + + + + + + scope: undefined, + + + enableQuickTips: true, + + + appFolder: 'app', + + + autoCreateViewport: false, + + + + + constructor: function(config) { + config = config || {}; + Ext.apply(this, config); + + var me = this, + requires = config.requires || [], + controllers, ln, i, controller, + paths, path, ns; + + Ext.Loader.setPath(me.name, me.appFolder); + + if (me.paths) { + paths = me.paths; + + for (ns in paths) { + if (paths.hasOwnProperty(ns)) { + path = paths[ns]; + + Ext.Loader.setPath(ns, path); + } + } + } + + me.callParent(arguments); + + me.eventbus = new Ext.app.EventBus; + + controllers = Ext.Array.from(me.controllers); + ln = controllers && controllers.length; + + me.controllers = new Ext.util.MixedCollection(); + + if (me.autoCreateViewport) { + requires.push(me.getModuleClassName('Viewport', 'view')); + } + + for (i = 0; i < ln; i++) { + requires.push(me.getModuleClassName(controllers[i], 'controller')); + } + + Ext.require(requires); + + Ext.onReady(function() { + me.init(me); + for (i = 0; i < ln; i++) { + controller = me.getController(controllers[i]); + controller.init(me); + } + + me.onBeforeLaunch.call(me); + }, me); + }, + + control: function(selectors, listeners, controller) { + this.eventbus.control(selectors, listeners, controller); + }, + + + launch: Ext.emptyFn, + + + onBeforeLaunch: function() { + var me = this, + controllers, c, cLen, controller; + + if (me.enableQuickTips) { + Ext.tip.QuickTipManager.init(); + } + + if (me.autoCreateViewport) { + me.getView('Viewport').create(); + } + + me.launch.call(this.scope || this); + me.launched = true; + me.fireEvent('launch', this); + + controllers = me.controllers.items; + cLen = controllers.length; + + for (c = 0; c < cLen; c++) { + controller = controllers[c]; + controller.onLaunch(this); + } + }, + + getModuleClassName: function(name, module) { + + + + + + + + if (name.indexOf('.') !== -1 && (Ext.ClassManager.isCreated(name) || Ext.Loader.isAClassNameWithAKnownPrefix(name))) { + return name; + } else { + return this.name + '.' + module + '.' + name; + } + }, + + getController: function(name) { + var controller = this.controllers.get(name); + + if (!controller) { + controller = Ext.create(this.getModuleClassName(name, 'controller'), { + application: this, + id: name + }); + + this.controllers.add(controller); + } + + return controller; + }, + + getStore: function(name) { + var store = Ext.StoreManager.get(name); + + if (!store) { + store = Ext.create(this.getModuleClassName(name, 'store'), { + storeId: name + }); + } + + return store; + }, + + getModel: function(model) { + model = this.getModuleClassName(model, 'model'); + + return Ext.ModelManager.getModel(model); + }, + + getView: function(view) { + view = this.getModuleClassName(view, 'view'); + + return Ext.ClassManager.get(view); + } +}); + + +Ext.define('Ext.button.Split', { + + + alias: 'widget.splitbutton', + + extend: 'Ext.button.Button', + alternateClassName: 'Ext.SplitButton', + + + + + + + arrowCls : 'split', + split : true, + + + initComponent : function(){ + this.callParent(); + + this.addEvents("arrowclick"); + }, + + + setArrowHandler : function(handler, scope){ + this.arrowHandler = handler; + this.scope = scope; + }, + + + onClick : function(e, t) { + var me = this; + + e.preventDefault(); + if (!me.disabled) { + if (me.overMenuTrigger) { + me.maybeShowMenu(); + me.fireEvent("arrowclick", me, e); + if (me.arrowHandler) { + me.arrowHandler.call(me.scope || me, me, e); + } + } else { + me.doToggle(); + me.fireHandler(e); + } + } + } +}); + + +Ext.define('Ext.button.Cycle', { + + + + alias: 'widget.cycle', + + extend: 'Ext.button.Split', + alternateClassName: 'Ext.CycleButton', + + + + + + + + + + + + getButtonText: function(item) { + var me = this, + text = ''; + + if (item && me.showText === true) { + if (me.prependText) { + text += me.prependText; + } + text += item.text; + return text; + } + return me.text; + }, + + + setActiveItem: function(item, suppressEvent) { + var me = this; + + if (!Ext.isObject(item)) { + item = me.menu.getComponent(item); + } + if (item) { + if (!me.rendered) { + me.text = me.getButtonText(item); + me.iconCls = item.iconCls; + } else { + me.setText(me.getButtonText(item)); + me.setIconCls(item.iconCls); + } + me.activeItem = item; + if (!item.checked) { + item.setChecked(true, false); + } + if (me.forceIcon) { + me.setIconCls(me.forceIcon); + } + if (!suppressEvent) { + me.fireEvent('change', me, item); + } + } + }, + + + getActiveItem: function() { + return this.activeItem; + }, + + + initComponent: function() { + var me = this, + checked = 0, + items, + i, iLen, item; + + me.addEvents( + + "change" + ); + + if (me.changeHandler) { + me.on('change', me.changeHandler, me.scope || me); + delete me.changeHandler; + } + + + + items = (me.menu.items || []).concat(me.items || []); + me.menu = Ext.applyIf({ + cls: Ext.baseCSSPrefix + 'cycle-menu', + items: [] + }, me.menu); + + iLen = items.length; + + + for (i = 0; i < iLen; i++) { + item = items[i]; + + item = Ext.applyIf({ + group : me.id, + itemIndex : i, + checkHandler : me.checkHandler, + scope : me, + checked : item.checked || false + }, item); + + me.menu.items.push(item); + + if (item.checked) { + checked = i; + } + } + + me.itemCount = me.menu.items.length; + me.callParent(arguments); + me.on('click', me.toggleSelected, me); + me.setActiveItem(checked, me); + + + if (me.width && me.showText) { + me.addCls(Ext.baseCSSPrefix + 'cycle-fixed-width'); + } + }, + + + checkHandler: function(item, pressed) { + if (pressed) { + this.setActiveItem(item); + } + }, + + + toggleSelected: function() { + var me = this, + m = me.menu, + checkItem; + + checkItem = me.activeItem.next(':not([disabled])') || m.items.getAt(0); + checkItem.setChecked(true); + } +}); + + +Ext.define('Ext.chart.Callout', { + + + + + + constructor: function(config) { + if (config.callouts) { + config.callouts.styles = Ext.applyIf(config.callouts.styles || {}, { + color: "#000", + font: "11px Helvetica, sans-serif" + }); + this.callouts = Ext.apply(this.callouts || {}, config.callouts); + this.calloutsArray = []; + } + }, + + renderCallouts: function() { + if (!this.callouts) { + return; + } + + var me = this, + items = me.items, + animate = me.chart.animate, + config = me.callouts, + styles = config.styles, + group = me.calloutsArray, + store = me.chart.store, + len = store.getCount(), + ratio = items.length / len, + previouslyPlacedCallouts = [], + i, + count, + j, + p, + item, + label, + storeItem, + display; + + for (i = 0, count = 0; i < len; i++) { + for (j = 0; j < ratio; j++) { + item = items[count]; + label = group[count]; + storeItem = store.getAt(i); + + display = config.filter(storeItem); + + if (!display && !label) { + count++; + continue; + } + + if (!label) { + group[count] = label = me.onCreateCallout(storeItem, item, i, display, j, count); + } + for (p in label) { + if (label[p] && label[p].setAttributes) { + label[p].setAttributes(styles, true); + } + } + if (!display) { + for (p in label) { + if (label[p]) { + if (label[p].setAttributes) { + label[p].setAttributes({ + hidden: true + }, true); + } else if(label[p].setVisible) { + label[p].setVisible(false); + } + } + } + } + config.renderer(label, storeItem); + me.onPlaceCallout(label, storeItem, item, i, display, animate, + j, count, previouslyPlacedCallouts); + previouslyPlacedCallouts.push(label); + count++; + } + } + this.hideCallouts(count); + }, + + onCreateCallout: function(storeItem, item, i, display) { + var me = this, + group = me.calloutsGroup, + config = me.callouts, + styles = config.styles, + width = styles.width, + height = styles.height, + chart = me.chart, + surface = chart.surface, + calloutObj = { + + + lines: false + }; + + calloutObj.lines = surface.add(Ext.apply({}, + { + type: 'path', + path: 'M0,0', + stroke: me.getLegendColor() || '#555' + }, + styles)); + + if (config.items) { + calloutObj.panel = new Ext.Panel({ + style: "position: absolute;", + width: width, + height: height, + items: config.items, + renderTo: chart.el + }); + } + + return calloutObj; + }, + + hideCallouts: function(index) { + var calloutsArray = this.calloutsArray, + len = calloutsArray.length, + co, + p; + while (len-->index) { + co = calloutsArray[len]; + for (p in co) { + if (co[p]) { + co[p].hide(true); + } + } + } + } +}); + + + +Ext.define('Ext.layout.component.Draw', { + + + + alias: 'layout.draw', + + extend: 'Ext.layout.component.Auto', + + + + type: 'draw', + + measureContentWidth : function (ownerContext) { + var target = ownerContext.target, + paddingInfo = ownerContext.getPaddingInfo(), + bbox = this.getBBox(ownerContext); + + if (!target.viewBox) { + if (target.autoSize) { + return bbox.width + paddingInfo.width; + } else { + return bbox.x + bbox.width + paddingInfo.width; + } + } else { + if (ownerContext.heightModel.shrinkWrap) { + return paddingInfo.width; + } else { + return bbox.width / bbox.height * (ownerContext.getProp('contentHeight') - paddingInfo.height) + paddingInfo.width; + } + } + }, + + measureContentHeight : function (ownerContext) { + var target = ownerContext.target, + paddingInfo = ownerContext.getPaddingInfo(), + bbox = this.getBBox(ownerContext); + + if (!ownerContext.target.viewBox) { + if (target.autoSize) { + return bbox.height + paddingInfo.height; + } else { + return bbox.y + bbox.height + paddingInfo.height; + } + } else { + if (ownerContext.widthModel.shrinkWrap) { + return paddingInfo.height; + } else { + return bbox.height / bbox.width * (ownerContext.getProp('contentWidth') - paddingInfo.width) + paddingInfo.height; + } + } + }, + + getBBox: function(ownerContext) { + var bbox = ownerContext.surfaceBBox; + if (!bbox) { + bbox = ownerContext.target.surface.items.getBBox(); + + if (bbox.width === -Infinity && bbox.height === -Infinity) { + bbox.width = bbox.height = bbox.x = bbox.y = 0; + } + ownerContext.surfaceBBox = bbox; + } + return bbox; + }, + + publishInnerWidth: function (ownerContext, width) { + ownerContext.setContentWidth(width - ownerContext.getFrameInfo().width, true); + }, + + publishInnerHeight: function (ownerContext, height) { + ownerContext.setContentHeight(height - ownerContext.getFrameInfo().height, true); + }, + + finishedLayout: function (ownerContext) { + + var props = ownerContext.props, + paddingInfo = ownerContext.getPaddingInfo(); + + + + this.owner.setSurfaceSize(props.contentWidth - paddingInfo.width, props.contentHeight - paddingInfo.height); + + + this.callParent(arguments); + } +}); + + +Ext.define('Ext.draw.CompositeSprite', { + + + + extend: 'Ext.util.MixedCollection', + mixins: { + animate: 'Ext.util.Animate' + }, + autoDestroy: false, + + + isCompositeSprite: true, + constructor: function(config) { + var me = this; + + config = config || {}; + Ext.apply(me, config); + + me.addEvents( + + 'mousedown', + + 'mouseup', + + 'mouseover', + + 'mouseout', + + 'click' + ); + me.id = Ext.id(null, 'ext-sprite-group-'); + me.callParent(); + }, + + + onClick: function(e) { + this.fireEvent('click', e); + }, + + + onMouseUp: function(e) { + this.fireEvent('mouseup', e); + }, + + + onMouseDown: function(e) { + this.fireEvent('mousedown', e); + }, + + + onMouseOver: function(e) { + this.fireEvent('mouseover', e); + }, + + + onMouseOut: function(e) { + this.fireEvent('mouseout', e); + }, + + attachEvents: function(o) { + var me = this; + + o.on({ + scope: me, + mousedown: me.onMouseDown, + mouseup: me.onMouseUp, + mouseover: me.onMouseOver, + mouseout: me.onMouseOut, + click: me.onClick + }); + }, + + + add: function(key, o) { + var result = this.callParent(arguments); + this.attachEvents(result); + return result; + }, + + insert: function(index, key, o) { + return this.callParent(arguments); + }, + + + remove: function(o) { + var me = this; + + o.un({ + scope: me, + mousedown: me.onMouseDown, + mouseup: me.onMouseUp, + mouseover: me.onMouseOver, + mouseout: me.onMouseOut, + click: me.onClick + }); + return me.callParent(arguments); + }, + + + getBBox: function() { + var i = 0, + sprite, + bb, + items = this.items, + len = this.length, + infinity = Infinity, + minX = infinity, + maxHeight = -infinity, + minY = infinity, + maxWidth = -infinity, + maxWidthBBox, maxHeightBBox; + + for (; i < len; i++) { + sprite = items[i]; + if (sprite.el && ! sprite.bboxExcluded) { + bb = sprite.getBBox(); + minX = Math.min(minX, bb.x); + minY = Math.min(minY, bb.y); + maxHeight = Math.max(maxHeight, bb.height + bb.y); + maxWidth = Math.max(maxWidth, bb.width + bb.x); + } + } + + return { + x: minX, + y: minY, + height: maxHeight - minY, + width: maxWidth - minX + }; + }, + + + setAttributes: function(attrs, redraw) { + var i = 0, + items = this.items, + len = this.length; + + for (; i < len; i++) { + items[i].setAttributes(attrs, redraw); + } + return this; + }, + + + hide: function(redraw) { + var i = 0, + items = this.items, + len = this.length; + + for (; i < len; i++) { + items[i].hide(redraw); + } + return this; + }, + + + show: function(redraw) { + var i = 0, + items = this.items, + len = this.length; + + for (; i < len; i++) { + items[i].show(redraw); + } + return this; + }, + + + redraw: function() { + var me = this, + i = 0, + items = me.items, + surface = me.getSurface(), + len = me.length; + + if (surface) { + for (; i < len; i++) { + surface.renderItem(items[i]); + } + } + return me; + }, + + + setStyle: function(obj) { + var i = 0, + items = this.items, + len = this.length, + item, el; + + for (; i < len; i++) { + item = items[i]; + el = item.el; + if (el) { + el.setStyle(obj); + } + } + }, + + + addCls: function(obj) { + var i = 0, + items = this.items, + surface = this.getSurface(), + len = this.length; + + if (surface) { + for (; i < len; i++) { + surface.addCls(items[i], obj); + } + } + }, + + + removeCls: function(obj) { + var i = 0, + items = this.items, + surface = this.getSurface(), + len = this.length; + + if (surface) { + for (; i < len; i++) { + surface.removeCls(items[i], obj); + } + } + }, + + + getSurface: function(){ + var first = this.first(); + if (first) { + return first.surface; + } + return null; + }, + + + destroy: function(){ + var me = this, + surface = me.getSurface(), + destroySprites = me.autoDestroy, + item; + + if (surface) { + while (me.getCount() > 0) { + item = me.first(); + me.remove(item); + surface.remove(item, destroySprites); + } + } + me.clearListeners(); + } +}); + + +Ext.define('Ext.draw.Surface', { + + + + mixins: { + observable: 'Ext.util.Observable' + }, + + requires: ['Ext.draw.CompositeSprite'], + uses: ['Ext.draw.engine.Svg', 'Ext.draw.engine.Vml', 'Ext.draw.engine.SvgExporter', 'Ext.draw.engine.ImageExporter'], + + separatorRe: /[, ]+/, + + statics: { + + create: function(config, enginePriority) { + enginePriority = enginePriority || ['Svg', 'Vml']; + + var i = 0, + len = enginePriority.length, + surfaceClass; + + for (; i < len; i++) { + if (Ext.supports[enginePriority[i]] !== false) { + return Ext.create('Ext.draw.engine.' + enginePriority[i], config); + } + } + return false; + }, + + + save: function(surface, config) { + config = config || {}; + var exportTypes = { + 'image/png': 'Image', + 'image/jpeg': 'Image', + 'image/svg+xml': 'Svg' + }, + prefix = exportTypes[config.type] || 'Svg', + exporter = Ext.draw.engine[prefix + 'Exporter']; + + return exporter.generate(surface, config); + + } + }, + + + + + availableAttrs: { + blur: 0, + "clip-rect": "0 0 1e9 1e9", + cursor: "default", + cx: 0, + cy: 0, + 'dominant-baseline': 'auto', + fill: "none", + "fill-opacity": 1, + font: '10px "Arial"', + "font-family": '"Arial"', + "font-size": "10", + "font-style": "normal", + "font-weight": 400, + gradient: "", + height: 0, + hidden: false, + href: "http://sencha.com/", + opacity: 1, + path: "M0,0", + radius: 0, + rx: 0, + ry: 0, + scale: "1 1", + src: "", + stroke: "none", + "stroke-dasharray": "", + "stroke-linecap": "butt", + "stroke-linejoin": "butt", + "stroke-miterlimit": 0, + "stroke-opacity": 1, + "stroke-width": 1, + target: "_blank", + text: "", + "text-anchor": "middle", + title: "Ext Draw", + width: 0, + x: 0, + y: 0, + zIndex: 0 + }, + + + + + container: undefined, + height: 352, + width: 512, + x: 0, + y: 0, + + + + + orderSpritesByZIndex: true, + + + + constructor: function(config) { + var me = this; + config = config || {}; + Ext.apply(me, config); + + me.domRef = Ext.getDoc().dom; + + me.customAttributes = {}; + + me.addEvents( + + 'mousedown', + + 'mouseup', + + 'mouseover', + + 'mouseout', + + 'mousemove', + + 'mouseenter', + + 'mouseleave', + + 'click', + + 'dblclick' + ); + + me.mixins.observable.constructor.call(me); + + me.getId(); + me.initGradients(); + me.initItems(); + if (me.renderTo) { + me.render(me.renderTo); + delete me.renderTo; + } + me.initBackground(config.background); + }, + + + + initSurface: Ext.emptyFn, + + + + renderItem: Ext.emptyFn, + + + renderItems: Ext.emptyFn, + + + setViewBox: function (x, y, width, height) { + if (isFinite(x) && isFinite(y) && isFinite(width) && isFinite(height)) { + this.viewBox = {x: x, y: y, width: width, height: height}; + this.applyViewBox(); + } + }, + + + addCls: Ext.emptyFn, + + + removeCls: Ext.emptyFn, + + + setStyle: Ext.emptyFn, + + + initGradients: function() { + if (this.hasOwnProperty('gradients')) { + var gradients = this.gradients, + gLen = gradients.length, + fn = this.addGradient, + g; + + if (gradients) { + for (g = 0; g < gLen; g++) { + if (fn.call(this, gradients[g], g, gLen) === false) { + break; + } + } + } + } + }, + + + initItems: function() { + var items = this.items; + this.items = new Ext.draw.CompositeSprite(); + this.items.autoDestroy = true; + this.groups = new Ext.draw.CompositeSprite(); + if (items) { + this.add(items); + } + }, + + + initBackground: function(config) { + var me = this, + width = me.width, + height = me.height, + gradientId, gradient, backgroundSprite; + if (Ext.isString(config)) { + config = { + fill : config + }; + } + if (config) { + if (config.gradient) { + gradient = config.gradient; + gradientId = gradient.id; + me.addGradient(gradient); + me.background = me.add({ + type: 'rect', + x: 0, + y: 0, + width: width, + height: height, + fill: 'url(#' + gradientId + ')', + zIndex: -1 + }); + } else if (config.fill) { + me.background = me.add({ + type: 'rect', + x: 0, + y: 0, + width: width, + height: height, + fill: config.fill, + zIndex: -1 + }); + } else if (config.image) { + me.background = me.add({ + type: 'image', + x: 0, + y: 0, + width: width, + height: height, + src: config.image, + zIndex: -1 + }); + } + + me.background.bboxExcluded = true; + } + }, + + + setSize: function(w, h) { + this.applyViewBox(); + }, + + + scrubAttrs: function(sprite) { + var i, + attrs = {}, + exclude = {}, + sattr = sprite.attr; + for (i in sattr) { + + if (this.translateAttrs.hasOwnProperty(i)) { + + attrs[this.translateAttrs[i]] = sattr[i]; + exclude[this.translateAttrs[i]] = true; + } + else if (this.availableAttrs.hasOwnProperty(i) && !exclude[i]) { + + attrs[i] = sattr[i]; + } + } + return attrs; + }, + + + onClick: function(e) { + this.processEvent('click', e); + }, + + + onDblClick: function(e) { + this.processEvent('dblclick', e); + }, + + + onMouseUp: function(e) { + this.processEvent('mouseup', e); + }, + + + onMouseDown: function(e) { + this.processEvent('mousedown', e); + }, + + + onMouseOver: function(e) { + this.processEvent('mouseover', e); + }, + + + onMouseOut: function(e) { + this.processEvent('mouseout', e); + }, + + + onMouseMove: function(e) { + this.fireEvent('mousemove', e); + }, + + + onMouseEnter: Ext.emptyFn, + + + onMouseLeave: Ext.emptyFn, + + + addGradient: Ext.emptyFn, + + + add: function() { + var args = Array.prototype.slice.call(arguments), + sprite, + index, + hasMultipleArgs = args.length > 1, + items, + results, + i, + ln, + item; + + if (hasMultipleArgs || Ext.isArray(args[0])) { + items = hasMultipleArgs ? args : args[0]; + results = []; + + for (i = 0, ln = items.length; i < ln; i++) { + item = items[i]; + item = this.add(item); + results.push(item); + } + + return results; + } + sprite = this.prepareItems(args[0], true)[0]; + this.insertByZIndex(sprite); + this.onAdd(sprite); + return sprite; + }, + + + insertByZIndex: function(sprite) { + var me = this, + sprites = me.items.items, + len = sprites.length, + ceil = Math.ceil, + zIndex = sprite.attr.zIndex, + idx = len, + high = idx - 1, + low = 0, + otherZIndex; + + if (me.orderSpritesByZIndex && len && zIndex < sprites[high].attr.zIndex) { + + while (low <= high) { + idx = ceil((low + high) / 2); + otherZIndex = sprites[idx].attr.zIndex; + if (otherZIndex > zIndex) { + high = idx - 1; + } + else if (otherZIndex < zIndex) { + low = idx + 1; + } + else { + break; + } + } + + while (idx < len && sprites[idx].attr.zIndex <= zIndex) { + idx++; + } + } + + me.items.insert(idx, sprite); + return idx; + }, + + onAdd: function(sprite) { + var group = sprite.group, + draggable = sprite.draggable, + groups, ln, i; + if (group) { + groups = [].concat(group); + ln = groups.length; + for (i = 0; i < ln; i++) { + group = groups[i]; + this.getGroup(group).add(sprite); + } + delete sprite.group; + } + if (draggable) { + sprite.initDraggable(); + } + }, + + + remove: function(sprite, destroySprite) { + if (sprite) { + this.items.remove(sprite); + + var groups = [].concat(this.groups.items), + gLen = groups.length, + g; + + for (g = 0; g < gLen; g++) { + groups[g].remove(sprite); + } + + sprite.onRemove(); + if (destroySprite === true) { + sprite.destroy(); + } + } + }, + + + removeAll: function(destroySprites) { + var items = this.items.items, + ln = items.length, + i; + for (i = ln - 1; i > -1; i--) { + this.remove(items[i], destroySprites); + } + }, + + onRemove: Ext.emptyFn, + + onDestroy: Ext.emptyFn, + + + applyViewBox: function() { + var me = this, + viewBox = me.viewBox, + width = me.width || 1, + height = me.height || 1, + viewBoxX, viewBoxY, viewBoxWidth, viewBoxHeight, + relativeHeight, relativeWidth, size; + + if (viewBox && (width || height)) { + viewBoxX = viewBox.x; + viewBoxY = viewBox.y; + viewBoxWidth = viewBox.width; + viewBoxHeight = viewBox.height; + relativeHeight = height / viewBoxHeight; + relativeWidth = width / viewBoxWidth; + size = Math.min(relativeWidth, relativeHeight); + + if (viewBoxWidth * size < width) { + viewBoxX -= (width - viewBoxWidth * size) / 2 / size; + } + if (viewBoxHeight * size < height) { + viewBoxY -= (height - viewBoxHeight * size) / 2 / size; + } + + me.viewBoxShift = { + dx: -viewBoxX, + dy: -viewBoxY, + scale: size + }; + + if (me.background) { + me.background.setAttributes(Ext.apply({}, { + x: viewBoxX, + y: viewBoxY, + width: width / size, + height: height / size + }, { hidden: false }), true); + } + } else { + if (me.background && width && height) { + me.background.setAttributes(Ext.apply({x: 0, y: 0, width: width, height: height}, { hidden: false }), true); + } + } + }, + + + getBBox: function (sprite, isWithoutTransform) { + var realPath = this["getPath" + sprite.type](sprite); + if (isWithoutTransform) { + sprite.bbox.plain = sprite.bbox.plain || Ext.draw.Draw.pathDimensions(realPath); + return sprite.bbox.plain; + } + if (sprite.dirtyTransform) { + this.applyTransformations(sprite, true); + } + sprite.bbox.transform = sprite.bbox.transform || Ext.draw.Draw.pathDimensions(Ext.draw.Draw.mapPath(realPath, sprite.matrix)); + return sprite.bbox.transform; + }, + + transformToViewBox: function (x, y) { + if (this.viewBoxShift) { + var me = this, shift = me.viewBoxShift; + return [x / shift.scale - shift.dx, y / shift.scale - shift.dy]; + } else { + return [x, y]; + } + }, + + + applyTransformations: function(sprite, onlyMatrix) { + if (sprite.type == 'text') { + + sprite.bbox.transform = 0; + this.transform(sprite, false); + } + + + sprite.dirtyTransform = false; + + var me = this, + attr = sprite.attr; + + if (attr.translation.x != null || attr.translation.y != null) { + me.translate(sprite); + } + if (attr.scaling.x != null || attr.scaling.y != null) { + me.scale(sprite); + } + if (attr.rotation.degrees != null) { + me.rotate(sprite); + } + + sprite.bbox.transform = 0; + this.transform(sprite, onlyMatrix); + sprite.transformations = []; + }, + + + rotate: function (sprite) { + var bbox, + deg = sprite.attr.rotation.degrees, + centerX = sprite.attr.rotation.x, + centerY = sprite.attr.rotation.y; + if (!Ext.isNumber(centerX) || !Ext.isNumber(centerY)) { + bbox = this.getBBox(sprite, true); + centerX = !Ext.isNumber(centerX) ? bbox.x + bbox.width / 2 : centerX; + centerY = !Ext.isNumber(centerY) ? bbox.y + bbox.height / 2 : centerY; + } + sprite.transformations.push({ + type: "rotate", + degrees: deg, + x: centerX, + y: centerY + }); + }, + + + translate: function(sprite) { + var x = sprite.attr.translation.x || 0, + y = sprite.attr.translation.y || 0; + sprite.transformations.push({ + type: "translate", + x: x, + y: y + }); + }, + + + scale: function(sprite) { + var bbox, + x = sprite.attr.scaling.x || 1, + y = sprite.attr.scaling.y || 1, + centerX = sprite.attr.scaling.centerX, + centerY = sprite.attr.scaling.centerY; + + if (!Ext.isNumber(centerX) || !Ext.isNumber(centerY)) { + bbox = this.getBBox(sprite, true); + centerX = !Ext.isNumber(centerX) ? bbox.x + bbox.width / 2 : centerX; + centerY = !Ext.isNumber(centerY) ? bbox.y + bbox.height / 2 : centerY; + } + sprite.transformations.push({ + type: "scale", + x: x, + y: y, + centerX: centerX, + centerY: centerY + }); + }, + + + rectPath: function (x, y, w, h, r) { + if (r) { + return [["M", x + r, y], ["l", w - r * 2, 0], ["a", r, r, 0, 0, 1, r, r], ["l", 0, h - r * 2], ["a", r, r, 0, 0, 1, -r, r], ["l", r * 2 - w, 0], ["a", r, r, 0, 0, 1, -r, -r], ["l", 0, r * 2 - h], ["a", r, r, 0, 0, 1, r, -r], ["z"]]; + } + return [["M", x, y], ["l", w, 0], ["l", 0, h], ["l", -w, 0], ["z"]]; + }, + + + ellipsePath: function (x, y, rx, ry) { + if (ry == null) { + ry = rx; + } + return [["M", x, y], ["m", 0, -ry], ["a", rx, ry, 0, 1, 1, 0, 2 * ry], ["a", rx, ry, 0, 1, 1, 0, -2 * ry], ["z"]]; + }, + + + getPathpath: function (el) { + return el.attr.path; + }, + + + getPathcircle: function (el) { + var a = el.attr; + return this.ellipsePath(a.x, a.y, a.radius, a.radius); + }, + + + getPathellipse: function (el) { + var a = el.attr; + return this.ellipsePath(a.x, a.y, + a.radiusX || (a.width / 2) || 0, + a.radiusY || (a.height / 2) || 0); + }, + + + getPathrect: function (el) { + var a = el.attr; + return this.rectPath(a.x || 0, a.y || 0, a.width || 0, a.height || 0, a.r || 0); + }, + + + getPathimage: function (el) { + var a = el.attr; + return this.rectPath(a.x || 0, a.y || 0, a.width, a.height); + }, + + + getPathtext: function (el) { + var bbox = this.getBBoxText(el); + return this.rectPath(bbox.x, bbox.y, bbox.width, bbox.height); + }, + + createGroup: function(id) { + var group = this.groups.get(id); + if (!group) { + group = new Ext.draw.CompositeSprite({ + surface: this + }); + group.id = id || Ext.id(null, 'ext-surface-group-'); + this.groups.add(group); + } + return group; + }, + + + getGroup: function(id) { + var group; + if (typeof id == "string") { + group = this.groups.get(id); + if (!group) { + group = this.createGroup(id); + } + } else { + group = id; + } + return group; + }, + + + prepareItems: function(items, applyDefaults) { + items = [].concat(items); + + var item, i, ln; + for (i = 0, ln = items.length; i < ln; i++) { + item = items[i]; + if (!(item instanceof Ext.draw.Sprite)) { + + item.surface = this; + items[i] = this.createItem(item); + } else { + item.surface = this; + } + } + return items; + }, + + + setText: Ext.emptyFn, + + + + createItem: Ext.emptyFn, + + + getId: function() { + return this.id || (this.id = Ext.id(null, 'ext-surface-')); + }, + + + destroy: function() { + var me = this; + delete me.domRef; + if (me.background) { + me.background.destroy(); + } + me.removeAll(true); + Ext.destroy(me.groups.items); + } +}); + + +Ext.define('Ext.draw.Component', { + + + + alias: 'widget.draw', + + extend: 'Ext.Component', + + requires: [ + 'Ext.draw.Surface', + 'Ext.layout.component.Draw' + ], + + + + + enginePriority: ['Svg', 'Vml'], + + baseCls: Ext.baseCSSPrefix + 'surface', + + componentLayout: 'draw', + + + viewBox: true, + + shrinkWrap: 3, + + + autoSize: false, + + + + + + + + initComponent: function() { + this.callParent(arguments); + + this.addEvents( + + 'mousedown', + + 'mouseup', + + 'mousemove', + + 'mouseenter', + + 'mouseleave', + + 'click', + + 'dblclick' + ); + }, + + + onRender: function() { + var me = this, + viewBox = me.viewBox, + autoSize = me.autoSize, + bbox, items, width, height, x, y; + me.callParent(arguments); + + if (me.createSurface() !== false) { + items = me.surface.items; + + if (viewBox || autoSize) { + bbox = items.getBBox(); + width = bbox.width; + height = bbox.height; + x = bbox.x; + y = bbox.y; + if (me.viewBox) { + me.surface.setViewBox(x, y, width, height); + } else { + me.autoSizeSurface(); + } + } + } + }, + + + autoSizeSurface: function() { + var bbox = this.surface.items.getBBox(); + this.setSurfaceSize(bbox.width, bbox.height); + }, + + setSurfaceSize: function (width, height) { + this.surface.setSize(width, height); + if (this.autoSize) { + var bbox = this.surface.items.getBBox(); + this.surface.setViewBox(bbox.x, bbox.y - (+Ext.isOpera), width, height); + } + }, + + + createSurface: function() { + var me = this, + cfg = Ext.applyIf({ + renderTo: me.el, + height: me.height, + width: me.width, + items: me.items + }, me.initialConfig), surface; + + + delete cfg.listeners; + surface = Ext.draw.Surface.create(cfg); + if (!surface) { + + return false; + } + me.surface = surface; + + + function refire(eventName) { + return function(e) { + me.fireEvent(eventName, e); + }; + } + + surface.on({ + scope: me, + mouseup: refire('mouseup'), + mousedown: refire('mousedown'), + mousemove: refire('mousemove'), + mouseenter: refire('mouseenter'), + mouseleave: refire('mouseleave'), + click: refire('click'), + dblclick: refire('dblclick') + }); + }, + + + + onDestroy: function() { + Ext.destroy(this.surface); + this.callParent(arguments); + } + +}); + + +Ext.define('Ext.chart.Shape', { + + + + singleton: true, + + + + circle: function (surface, opts) { + return surface.add(Ext.apply({ + type: 'circle', + x: opts.x, + y: opts.y, + stroke: null, + radius: opts.radius + }, opts)); + }, + line: function (surface, opts) { + return surface.add(Ext.apply({ + type: 'rect', + x: opts.x - opts.radius, + y: opts.y - opts.radius, + height: 2 * opts.radius, + width: 2 * opts.radius / 5 + }, opts)); + }, + square: function (surface, opts) { + return surface.add(Ext.applyIf({ + type: 'rect', + x: opts.x - opts.radius, + y: opts.y - opts.radius, + height: 2 * opts.radius, + width: 2 * opts.radius, + radius: null + }, opts)); + }, + triangle: function (surface, opts) { + opts.radius *= 1.75; + return surface.add(Ext.apply({ + type: 'path', + stroke: null, + path: "M".concat(opts.x, ",", opts.y, "m0-", opts.radius * 0.58, "l", opts.radius * 0.5, ",", opts.radius * 0.87, "-", opts.radius, ",0z") + }, opts)); + }, + diamond: function (surface, opts) { + var r = opts.radius; + r *= 1.5; + return surface.add(Ext.apply({ + type: 'path', + stroke: null, + path: ["M", opts.x, opts.y - r, "l", r, r, -r, r, -r, -r, r, -r, "z"] + }, opts)); + }, + cross: function (surface, opts) { + var r = opts.radius; + r = r / 1.7; + return surface.add(Ext.apply({ + type: 'path', + stroke: null, + path: "M".concat(opts.x - r, ",", opts.y, "l", [-r, -r, r, -r, r, r, r, -r, r, r, -r, r, r, r, -r, r, -r, -r, -r, r, -r, -r, "z"]) + }, opts)); + }, + plus: function (surface, opts) { + var r = opts.radius / 1.3; + return surface.add(Ext.apply({ + type: 'path', + stroke: null, + path: "M".concat(opts.x - r / 2, ",", opts.y - r / 2, "l", [0, -r, r, 0, 0, r, r, 0, 0, r, -r, 0, 0, r, -r, 0, 0, -r, -r, 0, 0, -r, "z"]) + }, opts)); + }, + arrow: function (surface, opts) { + var r = opts.radius; + return surface.add(Ext.apply({ + type: 'path', + path: "M".concat(opts.x - r * 0.7, ",", opts.y - r * 0.4, "l", [r * 0.6, 0, 0, -r * 0.4, r, r * 0.8, -r, r * 0.8, 0, -r * 0.4, -r * 0.6, 0], "z") + }, opts)); + }, + drop: function (surface, x, y, text, size, angle) { + size = size || 30; + angle = angle || 0; + surface.add({ + type: 'path', + path: ['M', x, y, 'l', size, 0, 'A', size * 0.4, size * 0.4, 0, 1, 0, x + size * 0.7, y - size * 0.7, 'z'], + fill: '#000', + stroke: 'none', + rotate: { + degrees: 22.5 - angle, + x: x, + y: y + } + }); + angle = (angle + 90) * Math.PI / 180; + surface.add({ + type: 'text', + x: x + size * Math.sin(angle) - 10, + y: y + size * Math.cos(angle) + 5, + text: text, + 'font-size': size * 12 / 40, + stroke: 'none', + fill: '#fff' + }); + } +}); + + +Ext.define('Ext.chart.LegendItem', { + + + + extend: 'Ext.draw.CompositeSprite', + + requires: ['Ext.chart.Shape'], + + + + + x: 0, + y: 0, + zIndex: 500, + + + boldRe: /bold\s\d{1,}.*/i, + + constructor: function(config) { + this.callParent(arguments); + this.createLegend(config); + }, + + + createLegend: function(config) { + var me = this, + index = config.yFieldIndex, + series = me.series, + seriesType = series.type, + idx = me.yFieldIndex, + legend = me.legend, + surface = me.surface, + refX = legend.x + me.x, + refY = legend.y + me.y, + bbox, z = me.zIndex, + markerConfig, label, mask, + radius, toggle = false, + seriesStyle = Ext.apply(series.seriesStyle, series.style); + + function getSeriesProp(name) { + var val = series[name]; + return (Ext.isArray(val) ? val[idx] : val); + } + + label = me.add('label', surface.add({ + type: 'text', + x: 20, + y: 0, + zIndex: (z || 0) + 2, + fill: legend.labelColor, + font: legend.labelFont, + text: getSeriesProp('title') || getSeriesProp('yField'), + style: { + 'cursor': 'pointer' + } + })); + + + if (seriesType === 'line' || seriesType === 'scatter') { + if(seriesType === 'line') { + me.add('line', surface.add({ + type: 'path', + path: 'M0.5,0.5L16.5,0.5', + zIndex: (z || 0) + 2, + "stroke-width": series.lineWidth, + "stroke-linejoin": "round", + "stroke-dasharray": series.dash, + stroke: seriesStyle.stroke || series.getLegendColor(index) || '#000', + style: { + cursor: 'pointer' + } + })); + } + if (series.showMarkers || seriesType === 'scatter') { + markerConfig = Ext.apply(series.markerStyle, series.markerConfig || {}, { + fill: series.getLegendColor(index) + }); + me.add('marker', Ext.chart.Shape[markerConfig.type](surface, { + fill: markerConfig.fill, + x: 8.5, + y: 0.5, + zIndex: (z || 0) + 2, + radius: markerConfig.radius || markerConfig.size, + style: { + cursor: 'pointer' + } + })); + } + } + + else { + me.add('box', surface.add({ + type: 'rect', + zIndex: (z || 0) + 2, + x: 0, + y: 0, + width: 12, + height: 12, + fill: series.getLegendColor(index), + style: { + cursor: 'pointer' + } + })); + } + + me.setAttributes({ + hidden: false + }, true); + + bbox = me.getBBox(); + + mask = me.add('mask', surface.add({ + type: 'rect', + x: bbox.x, + y: bbox.y, + width: bbox.width || 20, + height: bbox.height || 20, + zIndex: (z || 0) + 1, + fill: me.legend.boxFill, + style: { + 'cursor': 'pointer' + } + })); + + + me.on('mouseover', function() { + label.setStyle({ + 'font-weight': 'bold' + }); + mask.setStyle({ + 'cursor': 'pointer' + }); + series._index = index; + series.highlightItem(); + }, me); + + me.on('mouseout', function() { + label.setStyle({ + 'font-weight': legend.labelFont && me.boldRe.test(legend.labelFont) ? 'bold' : 'normal' + }); + series._index = index; + series.unHighlightItem(); + }, me); + + if (!series.visibleInLegend(index)) { + toggle = true; + label.setAttributes({ + opacity: 0.5 + }, true); + } + + me.on('mousedown', function() { + if (!toggle) { + series.hideAll(index); + label.setAttributes({ + opacity: 0.5 + }, true); + } else { + series.showAll(index); + label.setAttributes({ + opacity: 1 + }, true); + } + toggle = !toggle; + me.legend.chart.redraw(); + }, me); + me.updatePosition({x:0, y:0}); + }, + + + updatePosition: function(relativeTo) { + var me = this, + items = me.items, + ln = items.length, + i = 0, + item; + if (!relativeTo) { + relativeTo = me.legend; + } + for (; i < ln; i++) { + item = items[i]; + switch (item.type) { + case 'text': + item.setAttributes({ + x: 20 + relativeTo.x + me.x, + y: relativeTo.y + me.y + }, true); + break; + case 'rect': + item.setAttributes({ + translate: { + x: relativeTo.x + me.x, + y: relativeTo.y + me.y - 6 + } + }, true); + break; + default: + item.setAttributes({ + translate: { + x: relativeTo.x + me.x, + y: relativeTo.y + me.y + } + }, true); + } + } + } +}); + + +Ext.define('Ext.chart.Legend', { + + + + requires: ['Ext.chart.LegendItem'], + + + + + visible: true, + + + update: true, + + + position: 'bottom', + + + x: 0, + + + y: 0, + + + labelColor: '#000', + + + labelFont: '12px Helvetica, sans-serif', + + + boxStroke: '#000', + + + boxStrokeWidth: 1, + + + boxFill: '#FFF', + + + itemSpacing: 10, + + + padding: 5, + + + width: 0, + + height: 0, + + + boxZIndex: 100, + + + constructor: function(config) { + var me = this; + if (config) { + Ext.apply(me, config); + } + me.items = []; + + me.isVertical = ("left|right|float".indexOf(me.position) !== -1); + + + me.origX = me.x; + me.origY = me.y; + }, + + + create: function() { + var me = this, + seriesItems = me.chart.series.items, + i, ln, series; + + me.createBox(); + + if (me.rebuild !== false) { + me.createItems(); + } + + if (!me.created && me.isDisplayed()) { + me.created = true; + + + for (i = 0, ln = seriesItems.length; i < ln; i++) { + series = seriesItems[i]; + series.on('titlechange', function() { + me.create(); + me.updatePosition(); + }); + } + } + }, + + + isDisplayed: function() { + return this.visible && this.chart.series.findIndex('showInLegend', true) !== -1; + }, + + + createItems: function() { + var me = this, + chart = me.chart, + seriesItems = chart.series.items, + ln, series, + surface = chart.surface, + items = me.items, + padding = me.padding, + itemSpacing = me.itemSpacing, + spacingOffset = 2, + maxWidth = 0, + maxHeight = 0, + totalWidth = 0, + totalHeight = 0, + vertical = me.isVertical, + math = Math, + mfloor = math.floor, + mmax = math.max, + index = 0, + i = 0, + len = items ? items.length : 0, + x, y, spacing, item, bbox, height, width, + fields, field, nFields, j; + + + if (len) { + for (; i < len; i++) { + items[i].destroy(); + } + } + + items.length = []; + + + for (i = 0, ln = seriesItems.length; i < ln; i++) { + series = seriesItems[i]; + if (series.showInLegend) { + fields = [].concat(series.yField); + for (j = 0, nFields = fields.length; j < nFields; j++) { + field = fields[j]; + item = new Ext.chart.LegendItem({ + legend: this, + series: series, + surface: chart.surface, + yFieldIndex: j + }); + bbox = item.getBBox(); + + + width = bbox.width; + height = bbox.height; + + if (i + j === 0) { + spacing = vertical ? padding + height / 2 : padding; + } + else { + spacing = itemSpacing / (vertical ? 2 : 1); + } + + item.x = mfloor(vertical ? padding : totalWidth + spacing); + item.y = mfloor(vertical ? totalHeight + spacing : padding + height / 2); + + + totalWidth += width + spacing; + totalHeight += height + spacing; + maxWidth = mmax(maxWidth, width); + maxHeight = mmax(maxHeight, height); + + items.push(item); + } + } + } + + + me.width = mfloor((vertical ? maxWidth : totalWidth) + padding * 2); + if (vertical && items.length === 1) { + spacingOffset = 1; + } + me.height = mfloor((vertical ? totalHeight - spacingOffset * spacing : maxHeight) + (padding * 2)); + me.itemHeight = maxHeight; + }, + + + getBBox: function() { + var me = this; + return { + x: Math.round(me.x) - me.boxStrokeWidth / 2, + y: Math.round(me.y) - me.boxStrokeWidth / 2, + width: me.width, + height: me.height + }; + }, + + + createBox: function() { + var me = this, + box, bbox; + + if (me.boxSprite) { + me.boxSprite.destroy(); + } + + bbox = me.getBBox(); + + + + + + if (isNaN(bbox.width) || isNaN(bbox.height)) { + me.boxSprite = false; + return; + } + + box = me.boxSprite = me.chart.surface.add(Ext.apply({ + type: 'rect', + stroke: me.boxStroke, + "stroke-width": me.boxStrokeWidth, + fill: me.boxFill, + zIndex: me.boxZIndex + }, bbox)); + + box.redraw(); + }, + + + updatePosition: function() { + var me = this, + items = me.items, + i, ln, + x, y, + legendWidth = me.width || 0, + legendHeight = me.height || 0, + padding = me.padding, + chart = me.chart, + chartBBox = chart.chartBBox, + insets = chart.insetPadding, + chartWidth = chartBBox.width - (insets * 2), + chartHeight = chartBBox.height - (insets * 2), + chartX = chartBBox.x + insets, + chartY = chartBBox.y + insets, + surface = chart.surface, + mfloor = Math.floor, + bbox; + + if (me.isDisplayed()) { + + switch(me.position) { + case "left": + x = insets; + y = mfloor(chartY + chartHeight / 2 - legendHeight / 2); + break; + case "right": + x = mfloor(surface.width - legendWidth) - insets; + y = mfloor(chartY + chartHeight / 2 - legendHeight / 2); + break; + case "top": + x = mfloor(chartX + chartWidth / 2 - legendWidth / 2); + y = insets; + break; + case "bottom": + x = mfloor(chartX + chartWidth / 2 - legendWidth / 2); + y = mfloor(surface.height - legendHeight) - insets; + break; + default: + x = mfloor(me.origX) + insets; + y = mfloor(me.origY) + insets; + } + me.x = x; + me.y = y; + + + for (i = 0, ln = items.length; i < ln; i++) { + items[i].updatePosition(); + } + + bbox = me.getBBox(); + + + + + + + if (isNaN(bbox.width) || isNaN(bbox.height)) { + if (me.boxSprite) { + me.boxSprite.hide(true); + } + } else { + if (!me.boxSprite) { + me.createBox(); + } + + me.boxSprite.setAttributes(bbox, true); + me.boxSprite.show(true); + } + } + }, + + + toggle: function(show) { + var me = this, + i = 0, + items = me.items, + len = items.length; + + if (me.boxSprite) { + if (show) { + me.boxSprite.show(true); + } else { + me.boxSprite.hide(true); + } + } + + for (; i < len; ++i) { + if (show) { + items[i].show(true); + } else { + items[i].hide(true); + } + } + + me.visible = show; + } +}); + + +Ext.define('Ext.chart.theme.Theme', { + + + + requires: ['Ext.draw.Color'], + + + + theme: 'Base', + themeAttrs: false, + + initTheme: function(theme) { + var me = this, + themes = Ext.chart.theme, + key, gradients; + if (theme) { + theme = theme.split(':'); + for (key in themes) { + if (key == theme[0]) { + gradients = theme[1] == 'gradients'; + me.themeAttrs = new themes[key]({ + useGradients: gradients + }); + if (gradients) { + me.gradients = me.themeAttrs.gradients; + } + if (me.themeAttrs.background) { + me.background = me.themeAttrs.background; + } + return; + } + } + } + } +}, + +function() { + + +(function() { + Ext.chart.theme = function(config, base) { + config = config || {}; + var i = 0, d = +new Date(), l, colors, color, + seriesThemes, markerThemes, + seriesTheme, markerTheme, + key, gradients = [], + midColor, midL; + + if (config.baseColor) { + midColor = Ext.draw.Color.fromString(config.baseColor); + midL = midColor.getHSL()[2]; + if (midL < 0.15) { + midColor = midColor.getLighter(0.3); + } else if (midL < 0.3) { + midColor = midColor.getLighter(0.15); + } else if (midL > 0.85) { + midColor = midColor.getDarker(0.3); + } else if (midL > 0.7) { + midColor = midColor.getDarker(0.15); + } + config.colors = [ midColor.getDarker(0.3).toString(), + midColor.getDarker(0.15).toString(), + midColor.toString(), + midColor.getLighter(0.15).toString(), + midColor.getLighter(0.3).toString()]; + + delete config.baseColor; + } + if (config.colors) { + colors = config.colors.slice(); + markerThemes = base.markerThemes; + seriesThemes = base.seriesThemes; + l = colors.length; + base.colors = colors; + for (; i < l; i++) { + color = colors[i]; + markerTheme = markerThemes[i] || {}; + seriesTheme = seriesThemes[i] || {}; + markerTheme.fill = seriesTheme.fill = markerTheme.stroke = seriesTheme.stroke = color; + markerThemes[i] = markerTheme; + seriesThemes[i] = seriesTheme; + } + base.markerThemes = markerThemes.slice(0, l); + base.seriesThemes = seriesThemes.slice(0, l); + + } + for (key in base) { + if (key in config) { + if (Ext.isObject(config[key]) && Ext.isObject(base[key])) { + Ext.apply(base[key], config[key]); + } else { + base[key] = config[key]; + } + } + } + if (config.useGradients) { + colors = base.colors || (function () { + var ans = []; + for (i = 0, seriesThemes = base.seriesThemes, l = seriesThemes.length; i < l; i++) { + ans.push(seriesThemes[i].fill || seriesThemes[i].stroke); + } + return ans; + }()); + for (i = 0, l = colors.length; i < l; i++) { + midColor = Ext.draw.Color.fromString(colors[i]); + if (midColor) { + color = midColor.getDarker(0.1).toString(); + midColor = midColor.toString(); + key = 'theme-' + midColor.substr(1) + '-' + color.substr(1) + '-' + d; + gradients.push({ + id: key, + angle: 45, + stops: { + 0: { + color: midColor.toString() + }, + 100: { + color: color.toString() + } + } + }); + colors[i] = 'url(#' + key + ')'; + } + } + base.gradients = gradients; + base.colors = colors; + } + + Ext.apply(this, base); + }; +}()); +}); + + +Ext.define('Ext.chart.theme.Base', { + + + + requires: ['Ext.chart.theme.Theme'], + + + + constructor: function(config) { + Ext.chart.theme.call(this, config, { + background: false, + axis: { + stroke: '#444', + 'stroke-width': 1 + }, + axisLabelTop: { + fill: '#444', + font: '12px Arial, Helvetica, sans-serif', + spacing: 2, + padding: 5, + renderer: function(v) { return v; } + }, + axisLabelRight: { + fill: '#444', + font: '12px Arial, Helvetica, sans-serif', + spacing: 2, + padding: 5, + renderer: function(v) { return v; } + }, + axisLabelBottom: { + fill: '#444', + font: '12px Arial, Helvetica, sans-serif', + spacing: 2, + padding: 5, + renderer: function(v) { return v; } + }, + axisLabelLeft: { + fill: '#444', + font: '12px Arial, Helvetica, sans-serif', + spacing: 2, + padding: 5, + renderer: function(v) { return v; } + }, + axisTitleTop: { + font: 'bold 18px Arial', + fill: '#444' + }, + axisTitleRight: { + font: 'bold 18px Arial', + fill: '#444', + rotate: { + x:0, y:0, + degrees: 270 + } + }, + axisTitleBottom: { + font: 'bold 18px Arial', + fill: '#444' + }, + axisTitleLeft: { + font: 'bold 18px Arial', + fill: '#444', + rotate: { + x:0, y:0, + degrees: 270 + } + }, + series: { + 'stroke-width': 0 + }, + seriesLabel: { + font: '12px Arial', + fill: '#333' + }, + marker: { + stroke: '#555', + radius: 3, + size: 3 + }, + colors: [ "#94ae0a", "#115fa6","#a61120", "#ff8809", "#ffd13e", "#a61187", "#24ad9a", "#7c7474", "#a66111"], + seriesThemes: [{ + fill: "#115fa6" + }, { + fill: "#94ae0a" + }, { + fill: "#a61120" + }, { + fill: "#ff8809" + }, { + fill: "#ffd13e" + }, { + fill: "#a61187" + }, { + fill: "#24ad9a" + }, { + fill: "#7c7474" + }, { + fill: "#115fa6" + }, { + fill: "#94ae0a" + }, { + fill: "#a61120" + }, { + fill: "#ff8809" + }, { + fill: "#ffd13e" + }, { + fill: "#a61187" + }, { + fill: "#24ad9a" + }, { + fill: "#7c7474" + }, { + fill: "#a66111" + }], + markerThemes: [{ + fill: "#115fa6", + type: 'circle' + }, { + fill: "#94ae0a", + type: 'cross' + }, { + fill: "#115fa6", + type: 'plus' + }, { + fill: "#94ae0a", + type: 'circle' + }, { + fill: "#a61120", + type: 'cross' + }] + }); + } +}, function() { + var palette = ['#b1da5a', '#4ce0e7', '#e84b67', '#da5abd', '#4d7fe6', '#fec935'], + names = ['Green', 'Sky', 'Red', 'Purple', 'Blue', 'Yellow'], + i = 0, j = 0, l = palette.length, themes = Ext.chart.theme, + categories = [['#f0a50a', '#c20024', '#2044ba', '#810065', '#7eae29'], + ['#6d9824', '#87146e', '#2a9196', '#d39006', '#1e40ac'], + ['#fbbc29', '#ce2e4e', '#7e0062', '#158b90', '#57880e'], + ['#ef5773', '#fcbd2a', '#4f770d', '#1d3eaa', '#9b001f'], + ['#7eae29', '#fdbe2a', '#910019', '#27b4bc', '#d74dbc'], + ['#44dce1', '#0b2592', '#996e05', '#7fb325', '#b821a1']], + cats = categories.length; + + + for (; i < l; i++) { + themes[names[i]] = (function(color) { + return Ext.extend(themes.Base, { + constructor: function(config) { + themes.Base.prototype.constructor.call(this, Ext.apply({ + baseColor: color + }, config)); + } + }); + }(palette[i])); + } + + + for (i = 0; i < cats; i++) { + themes['Category' + (i + 1)] = (function(category) { + return Ext.extend(themes.Base, { + constructor: function(config) { + themes.Base.prototype.constructor.call(this, Ext.apply({ + colors: category + }, config)); + } + }); + }(categories[i])); + } +}); + + +Ext.define('Ext.chart.MaskLayer', { + extend: 'Ext.Component', + + constructor: function(config) { + config = Ext.apply(config || {}, { + style: 'position:absolute;background-color:#888;cursor:move;opacity:0.6;border:1px solid #222;' + }); + this.callParent([config]); + }, + + initComponent: function() { + var me = this; + me.callParent(arguments); + me.addEvents( + 'mousedown', + 'mouseup', + 'mousemove', + 'mouseenter', + 'mouseleave' + ); + }, + + initDraggable: function() { + this.callParent(arguments); + this.dd.onStart = function (e) { + var me = this, + comp = me.comp; + + + this.startPosition = comp.getPosition(true); + + + + if (comp.ghost && !comp.liveDrag) { + me.proxy = comp.ghost(); + me.dragTarget = me.proxy.header.el; + } + + + if (me.constrain || me.constrainDelegate) { + me.constrainTo = me.calculateConstrainRegion(); + } + }; + } +}); + + +Ext.define('Ext.chart.Mask', { + requires: [ + 'Ext.chart.MaskLayer' + ], + + + + + constructor: function(config) { + var me = this, + resizeHandler; + + me.addEvents('select'); + + if (config) { + Ext.apply(me, config); + } + if (me.enableMask) { + me.on('afterrender', function() { + + var comp = new Ext.chart.MaskLayer({ + renderTo: me.el, + hidden: true + }); + comp.el.on({ + 'mousemove': function(e) { + me.onMouseMove(e); + }, + 'mouseup': function(e) { + me.resized(e); + } + }); + + resizeHandler = new Ext.resizer.Resizer({ + el: comp.el, + handles: 'all', + pinned: true + }); + resizeHandler.on({ + 'resize': function(e) { + me.resized(e); + } + }); + comp.initDraggable(); + me.maskType = me.mask; + me.mask = comp; + me.maskSprite = me.surface.add({ + type: 'path', + path: ['M', 0, 0], + zIndex: 1001, + opacity: 0.7, + hidden: true, + stroke: '#444' + }); + }, me, { single: true }); + } + }, + + resized: function(e) { + var me = this, + bbox = me.bbox || me.chartBBox, + x = bbox.x, + y = bbox.y, + width = bbox.width, + height = bbox.height, + box = me.mask.getBox(true), + max = Math.max, + min = Math.min, + staticX = box.x - x, + staticY = box.y - y; + + staticX = max(staticX, x); + staticY = max(staticY, y); + staticX = min(staticX, width); + staticY = min(staticY, height); + box.x = staticX; + box.y = staticY; + me.fireEvent('select', me, box); + }, + + onMouseUp: function(e) { + var me = this, + bbox = me.bbox || me.chartBBox, + sel = me.maskSelection; + me.maskMouseDown = false; + me.mouseDown = false; + if (me.mouseMoved) { + me.onMouseMove(e); + me.mouseMoved = false; + me.fireEvent('select', me, { + x: sel.x - bbox.x, + y: sel.y - bbox.y, + width: sel.width, + height: sel.height + }); + } + }, + + onMouseDown: function(e) { + var me = this; + me.mouseDown = true; + me.mouseMoved = false; + me.maskMouseDown = { + x: e.getPageX() - me.el.getX(), + y: e.getPageY() - me.el.getY() + }; + }, + + onMouseMove: function(e) { + var me = this, + mask = me.maskType, + bbox = me.bbox || me.chartBBox, + x = bbox.x, + y = bbox.y, + math = Math, + floor = math.floor, + abs = math.abs, + min = math.min, + max = math.max, + height = floor(y + bbox.height), + width = floor(x + bbox.width), + posX = e.getPageX(), + posY = e.getPageY(), + staticX = posX - me.el.getX(), + staticY = posY - me.el.getY(), + maskMouseDown = me.maskMouseDown, + path; + + me.mouseMoved = me.mouseDown; + staticX = max(staticX, x); + staticY = max(staticY, y); + staticX = min(staticX, width); + staticY = min(staticY, height); + if (maskMouseDown && me.mouseDown) { + if (mask == 'horizontal') { + staticY = y; + maskMouseDown.y = height; + posY = me.el.getY() + bbox.height + me.insetPadding; + } + else if (mask == 'vertical') { + staticX = x; + maskMouseDown.x = width; + } + width = maskMouseDown.x - staticX; + height = maskMouseDown.y - staticY; + path = ['M', staticX, staticY, 'l', width, 0, 0, height, -width, 0, 'z']; + me.maskSelection = { + x: width > 0 ? staticX : staticX + width, + y: height > 0 ? staticY : staticY + height, + width: abs(width), + height: abs(height) + }; + me.mask.updateBox(me.maskSelection); + me.mask.show(); + me.maskSprite.setAttributes({ + hidden: true + }, true); + } + else { + if (mask == 'horizontal') { + path = ['M', staticX, y, 'L', staticX, height]; + } + else if (mask == 'vertical') { + path = ['M', x, staticY, 'L', width, staticY]; + } + else { + path = ['M', staticX, y, 'L', staticX, height, 'M', x, staticY, 'L', width, staticY]; + } + me.maskSprite.setAttributes({ + path: path, + fill: me.maskMouseDown ? me.maskSprite.stroke : false, + 'stroke-width': mask === true ? 1 : 3, + hidden: false + }, true); + } + }, + + onMouseLeave: function(e) { + var me = this; + me.mouseMoved = false; + me.mouseDown = false; + me.maskMouseDown = false; + me.mask.hide(); + me.maskSprite.hide(true); + } +}); + + + +Ext.define('Ext.chart.Navigation', { + + constructor: function() { + this.originalStore = this.store; + }, + + + setZoom: function(zoomConfig) { + var me = this, + axes = me.axes, + axesItems = axes.items, + i, ln, axis, + bbox = me.chartBBox, + xScale = 1 / bbox.width, + yScale = 1 / bbox.height, + zoomer = { + x : zoomConfig.x * xScale, + y : zoomConfig.y * yScale, + width : zoomConfig.width * xScale, + height : zoomConfig.height * yScale + }, + ends, from, to; + for (i = 0, ln = axesItems.length; i < ln; i++) { + axis = axesItems[i]; + ends = axis.calcEnds(); + if (axis.position == 'bottom' || axis.position == 'top') { + from = (ends.to - ends.from) * zoomer.x + ends.from; + to = (ends.to - ends.from) * zoomer.width + from; + axis.minimum = from; + axis.maximum = to; + } else { + to = (ends.to - ends.from) * (1 - zoomer.y) + ends.from; + from = to - (ends.to - ends.from) * zoomer.height; + axis.minimum = from; + axis.maximum = to; + } + } + me.redraw(false); + }, + + + restoreZoom: function() { + if (this.originalStore) { + this.store = this.substore = this.originalStore; + this.redraw(true); + } + } + +}); + + +Ext.define('Ext.chart.Chart', { + + + + alias: 'widget.chart', + + extend: 'Ext.draw.Component', + + mixins: { + themeManager: 'Ext.chart.theme.Theme', + mask: 'Ext.chart.Mask', + navigation: 'Ext.chart.Navigation', + bindable: 'Ext.util.Bindable', + observable: 'Ext.util.Observable' + }, + + uses: [ + 'Ext.chart.series.Series' + ], + + requires: [ + 'Ext.util.MixedCollection', + 'Ext.data.StoreManager', + 'Ext.chart.Legend', + 'Ext.chart.theme.Base', + 'Ext.chart.theme.Theme', + 'Ext.util.DelayedTask' + ], + + + + + viewBox: false, + + + + + animate: false, + + + legend: false, + + + insetPadding: 10, + + + enginePriority: ['Svg', 'Vml'], + + + background: false, + + + + + + + + + + constructor: function(config) { + var me = this, + defaultAnim; + + config = Ext.apply({}, config); + me.initTheme(config.theme || me.theme); + if (me.gradients) { + Ext.apply(config, { gradients: me.gradients }); + } + if (me.background) { + Ext.apply(config, { background: me.background }); + } + if (config.animate) { + defaultAnim = { + easing: 'ease', + duration: 500 + }; + if (Ext.isObject(config.animate)) { + config.animate = Ext.applyIf(config.animate, defaultAnim); + } + else { + config.animate = defaultAnim; + } + } + + me.mixins.observable.constructor.call(me, config); + if (config.enableMask) { + me.mixins.mask.constructor.call(me); + } + me.mixins.navigation.constructor.call(me); + me.callParent([config]); + }, + + getChartStore: function(){ + return this.substore || this.store; + }, + + initComponent: function() { + var me = this, + axes, + series; + me.callParent(); + me.addEvents( + 'itemmousedown', + 'itemmouseup', + 'itemmouseover', + 'itemmouseout', + 'itemclick', + 'itemdblclick', + 'itemdragstart', + 'itemdrag', + 'itemdragend', + + 'beforerefresh', + + 'refresh' + ); + Ext.applyIf(me, { + zoom: { + width: 1, + height: 1, + x: 0, + y: 0 + } + }); + me.maxGutter = [0, 0]; + me.store = Ext.data.StoreManager.lookup(me.store); + axes = me.axes; + me.axes = new Ext.util.MixedCollection(false, function(a) { return a.position; }); + if (axes) { + me.axes.addAll(axes); + } + series = me.series; + me.series = new Ext.util.MixedCollection(false, function(a) { return a.seriesId || (a.seriesId = Ext.id(null, 'ext-chart-series-')); }); + if (series) { + me.series.addAll(series); + } + if (me.legend !== false) { + me.legend = new Ext.chart.Legend(Ext.applyIf({chart:me}, me.legend)); + } + + me.on({ + mousemove: me.onMouseMove, + mouseleave: me.onMouseLeave, + mousedown: me.onMouseDown, + mouseup: me.onMouseUp, + click: me.onClick, + dblclick: me.onDblClick, + scope: me + }); + }, + + + afterComponentLayout: function(width, height) { + var me = this; + if (Ext.isNumber(width) && Ext.isNumber(height)) { + if (width !== me.curWidth || height !== me.curHeight) { + me.curWidth = width; + me.curHeight = height; + me.redraw(true); + } else if (me.needsRedraw) { + delete me.needsRedraw; + me.redraw(); + } + } + this.callParent(arguments); + }, + + + redraw: function(resize) { + var me = this, + seriesItems = me.series.items, + seriesLen = seriesItems.length, + axesItems = me.axes.items, + axesLen = axesItems.length, + i, + chartBBox = me.chartBBox = { + x: 0, + y: 0, + height: me.curHeight, + width: me.curWidth + }, + legend = me.legend; + me.surface.setSize(chartBBox.width, chartBBox.height); + + for (i = 0; i < seriesLen; i++) { + me.initializeSeries(seriesItems[i],i); + } + for (i = 0; i < axesLen; i++) { + me.initializeAxis(axesItems[i]); + } + + + for (i = 0; i < axesLen; i++) { + axesItems[i].processView(); + } + for (i = 0; i < axesLen; i++) { + axesItems[i].drawAxis(true); + } + + + if (legend !== false && legend.visible) { + if (legend.update || !legend.created) { + legend.create(); + } + } + + + me.alignAxes(); + + + if (legend !== false && legend.visible) { + legend.updatePosition(); + } + + + me.getMaxGutter(); + + + me.resizing = !!resize; + + for (i = 0; i < axesLen; i++) { + axesItems[i].drawAxis(); + } + for (i = 0; i < seriesLen; i++) { + me.drawCharts(seriesItems[i]); + } + me.resizing = false; + }, + + + afterRender: function() { + var ref, + me = this; + this.callParent(); + + if (me.categoryNames) { + me.setCategoryNames(me.categoryNames); + } + + if (me.tipRenderer) { + ref = me.getFunctionRef(me.tipRenderer); + me.setTipRenderer(ref.fn, ref.scope); + } + me.bindStore(me.store, true); + me.refresh(); + + if (me.surface.engine === 'Vml') { + me.on('added', me.onAddedVml, me); + me.mon(Ext.container.Container.hierarchyEventSource, 'added', me.onContainerAddedVml, me); + } + }, + + + + + + + onAddedVml: function() { + this.needsRedraw = true; + }, + + onContainerAddedVml: function(container) { + if (this.isDescendantOf(container)) { + this.needsRedraw = true; + } + }, + + + getEventXY: function(e) { + var me = this, + box = this.surface.getRegion(), + pageXY = e.getXY(), + x = pageXY[0] - box.left, + y = pageXY[1] - box.top; + return [x, y]; + }, + + onClick: function(e) { + this.handleClick('itemclick', e); + }, + + onDblClick: function(e) { + this.handleClick('itemdblclick', e); + }, + + + handleClick: function(name, e) { + var me = this, + position = me.getEventXY(e), + seriesItems = me.series.items, + i, ln, series, + item; + + + + for (i = 0, ln = seriesItems.length; i < ln; i++) { + series = seriesItems[i]; + if (Ext.draw.Draw.withinBox(position[0], position[1], series.bbox)) { + if (series.getItemForPoint) { + item = series.getItemForPoint(position[0], position[1]); + if (item) { + series.fireEvent(name, item); + } + } + } + } + }, + + + onMouseDown: function(e) { + var me = this, + position = me.getEventXY(e), + seriesItems = me.series.items, + i, ln, series, + item; + + if (me.enableMask) { + me.mixins.mask.onMouseDown.call(me, e); + } + + + for (i = 0, ln = seriesItems.length; i < ln; i++) { + series = seriesItems[i]; + if (Ext.draw.Draw.withinBox(position[0], position[1], series.bbox)) { + if (series.getItemForPoint) { + item = series.getItemForPoint(position[0], position[1]); + if (item) { + series.fireEvent('itemmousedown', item); + } + } + } + } + }, + + + onMouseUp: function(e) { + var me = this, + position = me.getEventXY(e), + seriesItems = me.series.items, + i, ln, series, + item; + + if (me.enableMask) { + me.mixins.mask.onMouseUp.call(me, e); + } + + + for (i = 0, ln = seriesItems.length; i < ln; i++) { + series = seriesItems[i]; + if (Ext.draw.Draw.withinBox(position[0], position[1], series.bbox)) { + if (series.getItemForPoint) { + item = series.getItemForPoint(position[0], position[1]); + if (item) { + series.fireEvent('itemmouseup', item); + } + } + } + } + }, + + + onMouseMove: function(e) { + var me = this, + position = me.getEventXY(e), + seriesItems = me.series.items, + i, ln, series, + item, last, storeItem, storeField; + + + if (me.enableMask) { + me.mixins.mask.onMouseMove.call(me, e); + } + + + for (i = 0, ln = seriesItems.length; i < ln; i++) { + series = seriesItems[i]; + if (Ext.draw.Draw.withinBox(position[0], position[1], series.bbox)) { + if (series.getItemForPoint) { + item = series.getItemForPoint(position[0], position[1]); + last = series._lastItemForPoint; + storeItem = series._lastStoreItem; + storeField = series._lastStoreField; + + + if (item !== last || item && (item.storeItem != storeItem || item.storeField != storeField)) { + if (last) { + series.fireEvent('itemmouseout', last); + delete series._lastItemForPoint; + delete series._lastStoreField; + delete series._lastStoreItem; + } + if (item) { + series.fireEvent('itemmouseover', item); + series._lastItemForPoint = item; + series._lastStoreItem = item.storeItem; + series._lastStoreField = item.storeField; + } + } + } + } else { + last = series._lastItemForPoint; + if (last) { + series.fireEvent('itemmouseout', last); + delete series._lastItemForPoint; + delete series._lastStoreField; + delete series._lastStoreItem; + } + } + } + }, + + + onMouseLeave: function(e) { + var me = this, + seriesItems = me.series.items, + i, ln, series; + + if (me.enableMask) { + me.mixins.mask.onMouseLeave.call(me, e); + } + for (i = 0, ln = seriesItems.length; i < ln; i++) { + series = seriesItems[i]; + delete series._lastItemForPoint; + } + }, + + + delayRefresh: function() { + var me = this; + if (!me.refreshTask) { + me.refreshTask = new Ext.util.DelayedTask(me.refresh, me); + } + me.refreshTask.delay(me.refreshBuffer); + }, + + + refresh: function() { + var me = this; + + if (me.rendered && me.curWidth !== undefined && me.curHeight !== undefined) { + if (!me.isVisible(true) && !me.refreshPending) { + me.setShowListeners('mon'); + me.refreshPending = true; + return; + } + if (me.fireEvent('beforerefresh', me) !== false) { + me.redraw(); + me.fireEvent('refresh', me); + } + } + }, + + onShow: function(){ + var me = this; + me.callParent(arguments); + if (me.refreshPending) { + me.delayRefresh(); + me.setShowListeners('mun'); + } + delete me.refreshPending; + }, + + setShowListeners: function(method){ + var me = this; + me[method](Ext.container.Container.hierarchyEventSource, { + scope: me, + single: true, + show: me.forceRefresh, + expand: me.forceRefresh + }); + }, + + forceRefresh: function(container) { + var me = this; + if (me.isDescendantOf(container) && me.refreshPending) { + + + me.setShowListeners('mun'); + me.delayRefresh(); + } + delete me.refreshPending; + }, + + bindStore: function(store, initial) { + var me = this; + me.mixins.bindable.bindStore.apply(me, arguments); + if (me.store && !initial) { + me.refresh(); + } + }, + + getStoreListeners: function() { + var refresh = this.refresh, + delayRefresh = this.delayRefresh; + + return { + refresh: refresh, + add: delayRefresh, + remove: delayRefresh, + update: delayRefresh, + clear: refresh + }; + }, + + + initializeAxis: function(axis) { + var me = this, + chartBBox = me.chartBBox, + w = chartBBox.width, + h = chartBBox.height, + x = chartBBox.x, + y = chartBBox.y, + themeAttrs = me.themeAttrs, + config = { + chart: me + }; + if (themeAttrs) { + config.axisStyle = Ext.apply({}, themeAttrs.axis); + config.axisLabelLeftStyle = Ext.apply({}, themeAttrs.axisLabelLeft); + config.axisLabelRightStyle = Ext.apply({}, themeAttrs.axisLabelRight); + config.axisLabelTopStyle = Ext.apply({}, themeAttrs.axisLabelTop); + config.axisLabelBottomStyle = Ext.apply({}, themeAttrs.axisLabelBottom); + config.axisTitleLeftStyle = Ext.apply({}, themeAttrs.axisTitleLeft); + config.axisTitleRightStyle = Ext.apply({}, themeAttrs.axisTitleRight); + config.axisTitleTopStyle = Ext.apply({}, themeAttrs.axisTitleTop); + config.axisTitleBottomStyle = Ext.apply({}, themeAttrs.axisTitleBottom); + } + switch (axis.position) { + case 'top': + Ext.apply(config, { + length: w, + width: h, + x: x, + y: y + }); + break; + case 'bottom': + Ext.apply(config, { + length: w, + width: h, + x: x, + y: h + }); + break; + case 'left': + Ext.apply(config, { + length: h, + width: w, + x: x, + y: h + }); + break; + case 'right': + Ext.apply(config, { + length: h, + width: w, + x: w, + y: h + }); + break; + } + if (!axis.chart) { + Ext.apply(config, axis); + axis = me.axes.replace(Ext.createByAlias('axis.' + axis.type.toLowerCase(), config)); + } + else { + Ext.apply(axis, config); + } + }, + + + + alignAxes: function() { + var me = this, + axes = me.axes, + axesItems = axes.items, + axis, + legend = me.legend, + edges = ['top', 'right', 'bottom', 'left'], + edge, + i, ln, + chartBBox, + insetPadding = me.insetPadding, + insets = { + top: insetPadding, + right: insetPadding, + bottom: insetPadding, + left: insetPadding + }, + isVertical, bbox, pos; + + function getAxis(edge) { + var i = axes.findIndex('position', edge); + return (i < 0) ? null : axes.getAt(i); + } + + + for (i = 0, ln = edges.length; i < ln; i++) { + edge = edges[i]; + isVertical = (edge === 'left' || edge === 'right'); + axis = getAxis(edge); + + + if (legend !== false) { + if (legend.position === edge) { + bbox = legend.getBBox(); + insets[edge] += (isVertical ? bbox.width : bbox.height) + insets[edge]; + } + } + + + + if (axis && axis.bbox) { + bbox = axis.bbox; + insets[edge] += (isVertical ? bbox.width : bbox.height); + } + } + + chartBBox = { + x: insets.left, + y: insets.top, + width: me.curWidth - insets.left - insets.right, + height: me.curHeight - insets.top - insets.bottom + }; + me.chartBBox = chartBBox; + + + + for (i = 0, ln = axesItems.length; i < ln; i++) { + axis = axesItems[i]; + pos = axis.position; + isVertical = (pos === 'left' || pos === 'right'); + + axis.x = (pos === 'right' ? chartBBox.x + chartBBox.width : chartBBox.x); + axis.y = (pos === 'top' ? chartBBox.y : chartBBox.y + chartBBox.height); + axis.width = (isVertical ? chartBBox.width : chartBBox.height); + axis.length = (isVertical ? chartBBox.height : chartBBox.width); + } + }, + + + initializeSeries: function(series, idx) { + var me = this, + themeAttrs = me.themeAttrs, + seriesObj, markerObj, seriesThemes, st, + markerThemes, colorArrayStyle = [], + i = 0, l, + config = { + chart: me, + seriesId: series.seriesId + }; + if (themeAttrs) { + seriesThemes = themeAttrs.seriesThemes; + markerThemes = themeAttrs.markerThemes; + seriesObj = Ext.apply({}, themeAttrs.series); + markerObj = Ext.apply({}, themeAttrs.marker); + config.seriesStyle = Ext.apply(seriesObj, seriesThemes[idx % seriesThemes.length]); + config.seriesLabelStyle = Ext.apply({}, themeAttrs.seriesLabel); + config.markerStyle = Ext.apply(markerObj, markerThemes[idx % markerThemes.length]); + if (themeAttrs.colors) { + config.colorArrayStyle = themeAttrs.colors; + } else { + colorArrayStyle = []; + for (l = seriesThemes.length; i < l; i++) { + st = seriesThemes[i]; + if (st.fill || st.stroke) { + colorArrayStyle.push(st.fill || st.stroke); + } + } + if (colorArrayStyle.length) { + config.colorArrayStyle = colorArrayStyle; + } + } + config.seriesIdx = idx; + } + if (series instanceof Ext.chart.series.Series) { + Ext.apply(series, config); + } else { + Ext.applyIf(config, series); + series = me.series.replace(Ext.createByAlias('series.' + series.type.toLowerCase(), config)); + } + if (series.initialize) { + series.initialize(); + } + }, + + + getMaxGutter: function() { + var me = this, + seriesItems = me.series.items, + i, ln, series, + maxGutter = [0, 0], + gutter; + for (i = 0, ln = seriesItems.length; i < ln; i++) { + series = seriesItems[i]; + gutter = series.getGutters && series.getGutters() || [0, 0]; + maxGutter[0] = Math.max(maxGutter[0], gutter[0]); + maxGutter[1] = Math.max(maxGutter[1], gutter[1]); + } + me.maxGutter = maxGutter; + }, + + + drawAxis: function(axis) { + axis.drawAxis(); + }, + + + drawCharts: function(series) { + series.triggerafterrender = false; + series.drawSeries(); + if (!this.animate) { + series.fireEvent('afterrender'); + } + }, + + save: function(config){ + return Ext.draw.Surface.save(this.surface, config); + }, + + destroy: function() { + Ext.destroy(this.surface); + this.bindStore(null); + this.callParent(arguments); + } +}); + + +Ext.define('Ext.chart.Highlight', { + + + + requires: ['Ext.fx.Anim'], + + + + + highlight: false, + + highlightCfg : { + fill: '#fdd', + "stroke-width": 5, + stroke: '#f55' + }, + + constructor: function(config) { + if (config.highlight) { + if (config.highlight !== true) { + this.highlightCfg = Ext.merge(this.highlightCfg, config.highlight); + } + } + }, + + + highlightItem: function(item) { + if (!item) { + return; + } + + var me = this, + sprite = item.sprite, + opts = Ext.merge({}, me.highlightCfg, me.highlight), + surface = me.chart.surface, + animate = me.chart.animate, + p, from, to, pi; + + if (!me.highlight || !sprite || sprite._highlighted) { + return; + } + if (sprite._anim) { + sprite._anim.paused = true; + } + sprite._highlighted = true; + if (!sprite._defaults) { + sprite._defaults = Ext.apply({}, sprite.attr); + from = {}; + to = {}; + for (p in opts) { + if (! (p in sprite._defaults)) { + sprite._defaults[p] = surface.availableAttrs[p]; + } + from[p] = sprite._defaults[p]; + to[p] = opts[p]; + if (Ext.isObject(opts[p])) { + from[p] = {}; + to[p] = {}; + Ext.apply(sprite._defaults[p], sprite.attr[p]); + Ext.apply(from[p], sprite._defaults[p]); + for (pi in sprite._defaults[p]) { + if (! (pi in opts[p])) { + to[p][pi] = from[p][pi]; + } else { + to[p][pi] = opts[p][pi]; + } + } + for (pi in opts[p]) { + if (! (pi in to[p])) { + to[p][pi] = opts[p][pi]; + } + } + } + } + sprite._from = from; + sprite._to = to; + sprite._endStyle = to; + } + if (animate) { + sprite._anim = new Ext.fx.Anim({ + target: sprite, + from: sprite._from, + to: sprite._to, + duration: 150 + }); + } else { + sprite.setAttributes(sprite._to, true); + } + }, + + + unHighlightItem: function() { + if (!this.highlight || !this.items) { + return; + } + + var me = this, + items = me.items, + len = items.length, + opts = Ext.merge({}, me.highlightCfg, me.highlight), + animate = me.chart.animate, + i = 0, + obj, p, sprite; + for (; i < len; i++) { + if (!items[i]) { + continue; + } + sprite = items[i].sprite; + if (sprite && sprite._highlighted) { + if (sprite._anim) { + sprite._anim.paused = true; + } + obj = {}; + for (p in opts) { + if (Ext.isObject(sprite._defaults[p])) { + obj[p] = {}; + Ext.apply(obj[p], sprite._defaults[p]); + } + else { + obj[p] = sprite._defaults[p]; + } + } + if (animate) { + + sprite._endStyle = obj; + sprite._anim = new Ext.fx.Anim({ + target: sprite, + to: obj, + duration: 150 + }); + } + else { + sprite.setAttributes(obj, true); + } + delete sprite._highlighted; + + } + } + }, + + cleanHighlights: function() { + if (!this.highlight) { + return; + } + + var group = this.group, + markerGroup = this.markerGroup, + i = 0, + l; + for (l = group.getCount(); i < l; i++) { + delete group.getAt(i)._defaults; + } + if (markerGroup) { + for (l = markerGroup.getCount(); i < l; i++) { + delete markerGroup.getAt(i)._defaults; + } + } + } +}); + + +Ext.define('Ext.chart.Label', { + + + + requires: ['Ext.draw.Color'], + + + + + + + colorStringRe: /url\s*\(\s*#([^\/)]+)\s*\)/, + + + constructor: function(config) { + var me = this; + me.label = Ext.applyIf(me.label || {}, + { + display: "none", + color: "#000", + field: "name", + minMargin: 50, + font: "11px Helvetica, sans-serif", + orientation: "horizontal", + renderer: function(v) { + return v; + } + }); + + if (me.label.display !== 'none') { + me.labelsGroup = me.chart.surface.getGroup(me.seriesId + '-labels'); + } + }, + + + renderLabels: function() { + var me = this, + chart = me.chart, + gradients = chart.gradients, + items = me.items, + animate = chart.animate, + config = me.label, + display = config.display, + color = config.color, + field = [].concat(config.field), + group = me.labelsGroup, + groupLength = (group || 0) && group.length, + store = me.chart.getChartStore(), + len = store.getCount(), + itemLength = (items || 0) && items.length, + ratio = itemLength / len, + gradientsCount = (gradients || 0) && gradients.length, + Color = Ext.draw.Color, + hides = [], + gradient, i, count, groupIndex, index, j, k, colorStopTotal, colorStopIndex, colorStop, item, label, + storeItem, sprite, spriteColor, spriteBrightness, labelColor, colorString; + + if (display == 'none') { + return; + } + + if(itemLength == 0){ + while(groupLength--) { + hides.push(groupLength); + } + } else { + for (i = 0, count = 0, groupIndex = 0; i < len; i++) { + index = 0; + for (j = 0; j < ratio; j++) { + item = items[count]; + label = group.getAt(groupIndex); + storeItem = store.getAt(i); + + while(this.__excludes && this.__excludes[index]) { + index++; + } + + if (!item && label) { + label.hide(true); + groupIndex++; + } + + if (item && field[j]) { + if (!label) { + label = me.onCreateLabel(storeItem, item, i, display, j, index); + } + me.onPlaceLabel(label, storeItem, item, i, display, animate, j, index); + groupIndex++; + + + if (config.contrast && item.sprite) { + sprite = item.sprite; + + if (sprite._endStyle) { + colorString = sprite._endStyle.fill; + } + else if (sprite._to) { + colorString = sprite._to.fill; + } + else { + colorString = sprite.attr.fill; + } + colorString = colorString || sprite.attr.fill; + + spriteColor = Color.fromString(colorString); + + if (colorString && !spriteColor) { + colorString = colorString.match(me.colorStringRe)[1]; + for (k = 0; k < gradientsCount; k++) { + gradient = gradients[k]; + if (gradient.id == colorString) { + + colorStop = 0; colorStopTotal = 0; + for (colorStopIndex in gradient.stops) { + colorStop++; + colorStopTotal += Color.fromString(gradient.stops[colorStopIndex].color).getGrayscale(); + } + spriteBrightness = (colorStopTotal / colorStop) / 255; + break; + } + } + } + else { + spriteBrightness = spriteColor.getGrayscale() / 255; + } + if (label.isOutside) { + spriteBrightness = 1; + } + labelColor = Color.fromString(label.attr.color || label.attr.fill).getHSL(); + labelColor[2] = spriteBrightness > 0.5 ? 0.2 : 0.8; + label.setAttributes({ + fill: String(Color.fromHSL.apply({}, labelColor)) + }, true); + } + + } + count++; + index++; + } + } + groupLength = group.length; + + while(groupLength > groupIndex){ + hides.push(groupIndex); + groupIndex++; + } + } + me.hideLabels(hides); + }, + + hideLabels: function(hides){ + var labelsGroup = this.labelsGroup, + hlen = !!hides && hides.length; + + if (!labelsGroup) { + return; + } + + if (hlen === false) { + hlen = labelsGroup.getCount(); + while (hlen--) { + labelsGroup.getAt(hlen).hide(true); + } + } else { + while(hlen--) { + labelsGroup.getAt(hides[hlen]).hide(true); + } + } + } +}); + + +Ext.define('Ext.chart.TipSurface', { + + + + extend: 'Ext.draw.Component', + + + + spriteArray: false, + renderFirst: true, + + constructor: function(config) { + this.callParent([config]); + if (config.sprites) { + this.spriteArray = [].concat(config.sprites); + delete config.sprites; + } + }, + + onRender: function() { + var me = this, + i = 0, + l = 0, + sp, + sprites; + this.callParent(arguments); + sprites = me.spriteArray; + if (me.renderFirst && sprites) { + me.renderFirst = false; + for (l = sprites.length; i < l; i++) { + sp = me.surface.add(sprites[i]); + sp.setAttributes({ + hidden: false + }, + true); + } + } + } +}); + + +Ext.define('Ext.chart.Tip', { + + + + requires: ['Ext.tip.ToolTip', 'Ext.chart.TipSurface'], + + + + constructor: function(config) { + var me = this, + surface, + sprites, + tipSurface; + if (config.tips) { + me.tipTimeout = null; + me.tipConfig = Ext.apply({}, config.tips, { + renderer: Ext.emptyFn, + constrainPosition: true, + autoHide: true + }); + me.tooltip = new Ext.tip.ToolTip(me.tipConfig); + me.chart.surface.on('mousemove', me.tooltip.onMouseMove, me.tooltip); + me.chart.surface.on('mouseleave', function() { + me.hideTip(); + }); + if (me.tipConfig.surface) { + + surface = me.tipConfig.surface; + sprites = surface.sprites; + tipSurface = new Ext.chart.TipSurface({ + id: 'tipSurfaceComponent', + sprites: sprites + }); + if (surface.width && surface.height) { + tipSurface.setSize(surface.width, surface.height); + } + me.tooltip.add(tipSurface); + me.spriteTip = tipSurface; + } + } + }, + + showTip: function(item) { + var me = this, + tooltip, + spriteTip, + tipConfig, + trackMouse, + sprite, + surface, + surfaceExt, + pos, + x, + y; + if (!me.tooltip) { + return; + } + clearTimeout(me.tipTimeout); + tooltip = me.tooltip; + spriteTip = me.spriteTip; + tipConfig = me.tipConfig; + trackMouse = tooltip.trackMouse; + if (!trackMouse) { + tooltip.trackMouse = true; + sprite = item.sprite; + surface = sprite.surface; + surfaceExt = Ext.get(surface.getId()); + if (surfaceExt) { + pos = surfaceExt.getXY(); + x = pos[0] + (sprite.attr.x || 0) + (sprite.attr.translation && sprite.attr.translation.x || 0); + y = pos[1] + (sprite.attr.y || 0) + (sprite.attr.translation && sprite.attr.translation.y || 0); + tooltip.targetXY = [x, y]; + } + } + if (spriteTip) { + tipConfig.renderer.call(tooltip, item.storeItem, item, spriteTip.surface); + } else { + tipConfig.renderer.call(tooltip, item.storeItem, item); + } + tooltip.show(); + tooltip.trackMouse = trackMouse; + }, + + hideTip: function(item) { + var tooltip = this.tooltip; + if (!tooltip) { + return; + } + clearTimeout(this.tipTimeout); + this.tipTimeout = setTimeout(function() { + tooltip.hide(); + }, 0); + } +}); + + +Ext.define('Ext.chart.axis.Abstract', { + + + + requires: ['Ext.chart.Chart'], + + + + + + + + + constructor: function(config) { + config = config || {}; + + var me = this, + pos = config.position || 'left'; + + pos = pos.charAt(0).toUpperCase() + pos.substring(1); + + config.label = Ext.apply(config['axisLabel' + pos + 'Style'] || {}, config.label || {}); + config.axisTitleStyle = Ext.apply(config['axisTitle' + pos + 'Style'] || {}, config.labelTitle || {}); + Ext.apply(me, config); + me.fields = Ext.Array.from(me.fields); + this.callParent(); + me.labels = []; + me.getId(); + me.labelGroup = me.chart.surface.getGroup(me.axisId + "-labels"); + }, + + alignment: null, + grid: false, + steps: 10, + x: 0, + y: 0, + minValue: 0, + maxValue: 0, + + getId: function() { + return this.axisId || (this.axisId = Ext.id(null, 'ext-axis-')); + }, + + + processView: Ext.emptyFn, + + drawAxis: Ext.emptyFn, + addDisplayAndLabels: Ext.emptyFn +}); + + +Ext.define('Ext.chart.axis.Axis', { + + + + extend: 'Ext.chart.axis.Abstract', + + alternateClassName: 'Ext.chart.Axis', + + requires: ['Ext.draw.Draw'], + + + + + + + + + + + + + forceMinMax: false, + + + dashSize: 3, + + + position: 'bottom', + + + skipFirst: false, + + + length: 0, + + + width: 0, + + + adjustEnd: true, + + majorTickSteps: false, + + + applyData: Ext.emptyFn, + + getRange: function () { + var me = this, + chart = me.chart, + store = chart.getChartStore(), + data = store.data.items, + series = chart.series.items, + position = me.position, + boundedAxes, + seriesClasses = Ext.chart.series, + aggregations = [], + min = Infinity, max = -Infinity, + vertical = me.position === 'left' || me.position === 'right', + i, ln, ln2, j, k, dataLength = data.length, aggregates, + countedFields = {}, + allFields = {}, + excludable = true, + fields, fieldMap, record, field, value; + + fields = me.fields; + for (j = 0, ln = fields.length; j < ln; j++) { + allFields[fields[j]] = true; + } + + for (i = 0, ln = series.length; i < ln; i++) { + if (series[i].seriesIsHidden) { + continue; + } + if (!series[i].getAxesForXAndYFields) { + continue; + } + + boundedAxes = series[i].getAxesForXAndYFields(); + if (boundedAxes.xAxis && boundedAxes.xAxis !== position && boundedAxes.yAxis && boundedAxes.yAxis !== position) { + + continue; + } + + if (seriesClasses.Bar && series[i] instanceof seriesClasses.Bar && !series[i].column) { + + fields = vertical ? Ext.Array.from(series[i].xField) : Ext.Array.from(series[i].yField); + } else { + fields = vertical ? Ext.Array.from(series[i].yField) : Ext.Array.from(series[i].xField); + } + + if (me.fields.length) { + for (j = 0, ln2 = fields.length; j < ln2; j++) { + if (allFields[fields[j]]) { + break; + } + } + if (j == ln2) { + + continue; + } + } + + if (aggregates = series[i].stacked) { + + if (seriesClasses.Bar && series[i] instanceof seriesClasses.Bar) { + if (series[i].column != vertical) { + aggregates = false; + excludable = false; + } + } + + else if (!vertical) { + aggregates = false; + excludable = false; + } + } + + + if (aggregates) { + fieldMap = {}; + for (j = 0; j < fields.length; j++) { + if (excludable && series[i].__excludes && series[i].__excludes[j]) { + continue; + } + if (!allFields[fields[j]]) { + Ext.Logger.warn('Field `' + fields[j] + '` is not included in the ' + position + ' axis config.'); + } + allFields[fields[j]] = fieldMap[fields[j]] = true; + } + aggregations.push({ + fields: fieldMap, + value: 0 + }); + } else { + + if (!fields || fields.length == 0) { + fields = me.fields; + } + for (j = 0; j < fields.length; j++) { + if (excludable && series[i].__excludes && series[i].__excludes[j]) { + continue; + } + allFields[fields[j]] = countedFields[fields[j]] = true; + } + } + } + + for (i = 0; i < dataLength; i++) { + record = data[i]; + for (k = 0; k < aggregations.length; k++) { + aggregations[k].value = 0; + } + for (field in allFields) { + value = record.get(field); + if (isNaN(value)) { + continue; + } + if (value === undefined) { + value = 0; + } + if (countedFields[field]) { + if (min > value) { + min = value; + } + if (max < value) { + max = value; + } + } + for (k = 0; k < aggregations.length; k++) { + if (aggregations[k].fields[field]) { + aggregations[k].value += value; + + if (min > 0) { + min = 0; + } + if (max < aggregations[k].value) { + max = aggregations[k].value; + } + } + } + } + } + + if (!isFinite(max)) { + max = me.prevMax || 0; + } + if (!isFinite(min)) { + min = me.prevMin || 0; + } + + + if (min != max && (max != Math.floor(max))) { + max = Math.floor(max) + 1; + } + + if (!isNaN(me.minimum)) { + min = me.minimum; + } + + if (!isNaN(me.maximum)) { + max = me.maximum; + } + + if (min >= max) { + + max = min + 1; + } + + return {min: min, max: max}; + }, + + + calcEnds: function () { + var me = this, + range = me.getRange(), + min = range.min, + max = range.max, + steps, prettyNumbers, out, changedRange; + + steps = (Ext.isNumber(me.majorTickSteps) ? me.majorTickSteps + 1 : me.steps); + prettyNumbers = !(Ext.isNumber(me.maximum) && Ext.isNumber(me.minimum) && Ext.isNumber(me.majorTickSteps) && me.majorTickSteps > 0); + + out = Ext.draw.Draw.snapEnds(min, max, steps, prettyNumbers); + + if (Ext.isNumber(me.maximum)) { + out.to = me.maximum; + changedRange = true; + } + if (Ext.isNumber(me.minimum)) { + out.from = me.minimum; + changedRange = true; + } + if (me.adjustMaximumByMajorUnit) { + out.to = Math.ceil(out.to / out.step) * out.step; + changedRange = true; + } + if (me.adjustMinimumByMajorUnit) { + out.from = Math.floor(out.from / out.step) * out.step; + changedRange = true; + } + + if (changedRange) { + out.steps = Math.ceil((out.to - out.from) / out.step); + } + + me.prevMin = (min == max ? 0 : min); + me.prevMax = max; + return out; + }, + + + drawAxis: function (init) { + var me = this, + i, + x = me.x, + y = me.y, + gutterX = me.chart.maxGutter[0], + gutterY = me.chart.maxGutter[1], + dashSize = me.dashSize, + subDashesX = me.minorTickSteps || 0, + subDashesY = me.minorTickSteps || 0, + length = me.length, + position = me.position, + inflections = [], + calcLabels = false, + stepCalcs = me.applyData(), + step = stepCalcs.step, + steps = stepCalcs.steps, + from = stepCalcs.from, + to = stepCalcs.to, + trueLength, + currentX, + currentY, + path, + dashesX, + dashesY, + delta; + + + + + if (me.hidden || isNaN(step) || (from > to)) { + return; + } + + me.from = stepCalcs.from; + me.to = stepCalcs.to; + + if (position == 'left' || position == 'right') { + currentX = Math.floor(x) + 0.5; + path = ["M", currentX, y, "l", 0, -length]; + trueLength = length - (gutterY * 2); + } + else { + currentY = Math.floor(y) + 0.5; + path = ["M", x, currentY, "l", length, 0]; + trueLength = length - (gutterX * 2); + } + + + delta = steps && trueLength / steps; + dashesX = Math.max(subDashesX + 1, 0); + dashesY = Math.max(subDashesY + 1, 0); + if (me.type == 'Numeric' || me.type == 'Time') { + calcLabels = true; + me.labels = [stepCalcs.from]; + } + + if (position == 'right' || position == 'left') { + currentY = y - gutterY; + currentX = x - ((position == 'left') * dashSize * 2); + while (currentY >= y - gutterY - trueLength) { + path.push("M", currentX, Math.floor(currentY) + 0.5, "l", dashSize * 2 + 1, 0); + if (currentY != y - gutterY) { + for (i = 1; i < dashesY; i++) { + path.push("M", currentX + dashSize, Math.floor(currentY + delta * i / dashesY) + 0.5, "l", dashSize + 1, 0); + } + } + inflections.push([ Math.floor(x), Math.floor(currentY) ]); + currentY -= delta; + + if (calcLabels) { + me.labels.push(me.labels[me.labels.length - 1] + step); + } + + if (delta === 0) { + break; + } + } + if (Math.round(currentY + delta - (y - gutterY - trueLength))) { + path.push("M", currentX, Math.floor(y - length + gutterY) + 0.5, "l", dashSize * 2 + 1, 0); + for (i = 1; i < dashesY; i++) { + path.push("M", currentX + dashSize, Math.floor(y - length + gutterY + delta * i / dashesY) + 0.5, "l", dashSize + 1, 0); + } + inflections.push([ Math.floor(x), Math.floor(currentY) ]); + if (calcLabels) { + me.labels.push(me.labels[me.labels.length - 1] + step); + } + } + } else { + currentX = x + gutterX; + currentY = y - ((position == 'top') * dashSize * 2); + while (currentX <= x + gutterX + trueLength) { + path.push("M", Math.floor(currentX) + 0.5, currentY, "l", 0, dashSize * 2 + 1); + if (currentX != x + gutterX) { + for (i = 1; i < dashesX; i++) { + path.push("M", Math.floor(currentX - delta * i / dashesX) + 0.5, currentY, "l", 0, dashSize + 1); + } + } + inflections.push([ Math.floor(currentX), Math.floor(y) ]); + currentX += delta; + if (calcLabels) { + me.labels.push(me.labels[me.labels.length - 1] + step); + } + if (delta === 0) { + break; + } + } + if (Math.round(currentX - delta - (x + gutterX + trueLength))) { + path.push("M", Math.floor(x + length - gutterX) + 0.5, currentY, "l", 0, dashSize * 2 + 1); + for (i = 1; i < dashesX; i++) { + path.push("M", Math.floor(x + length - gutterX - delta * i / dashesX) + 0.5, currentY, "l", 0, dashSize + 1); + } + inflections.push([ Math.floor(currentX), Math.floor(y) ]); + if (calcLabels) { + me.labels.push(me.labels[me.labels.length - 1] + step); + } + } + } + + + if (calcLabels) { + me.labels[inflections.length - 1] = +(me.labels[inflections.length - 1]).toFixed(10); + } + + if (!me.axis) { + me.axis = me.chart.surface.add(Ext.apply({ + type: 'path', + path: path + }, me.axisStyle)); + } + me.axis.setAttributes({ + path: path + }, true); + me.inflections = inflections; + if (!init && me.grid) { + me.drawGrid(); + } + me.axisBBox = me.axis.getBBox(); + me.drawLabel(); + }, + + + drawGrid: function () { + var me = this, + surface = me.chart.surface, + grid = me.grid, + odd = grid.odd, + even = grid.even, + inflections = me.inflections, + ln = inflections.length - ((odd || even) ? 0 : 1), + position = me.position, + gutter = me.chart.maxGutter, + width = me.width - 2, + point, prevPoint, + i = 1, + path = [], styles, lineWidth, dlineWidth, + oddPath = [], evenPath = []; + + if ((gutter[1] !== 0 && (position == 'left' || position == 'right')) || + (gutter[0] !== 0 && (position == 'top' || position == 'bottom'))) { + i = 0; + ln++; + } + for (; i < ln; i++) { + point = inflections[i]; + prevPoint = inflections[i - 1]; + if (odd || even) { + path = (i % 2) ? oddPath : evenPath; + styles = ((i % 2) ? odd : even) || {}; + lineWidth = (styles.lineWidth || styles['stroke-width'] || 0) / 2; + dlineWidth = 2 * lineWidth; + if (position == 'left') { + path.push("M", prevPoint[0] + 1 + lineWidth, prevPoint[1] + 0.5 - lineWidth, + "L", prevPoint[0] + 1 + width - lineWidth, prevPoint[1] + 0.5 - lineWidth, + "L", point[0] + 1 + width - lineWidth, point[1] + 0.5 + lineWidth, + "L", point[0] + 1 + lineWidth, point[1] + 0.5 + lineWidth, "Z"); + } + else if (position == 'right') { + path.push("M", prevPoint[0] - lineWidth, prevPoint[1] + 0.5 - lineWidth, + "L", prevPoint[0] - width + lineWidth, prevPoint[1] + 0.5 - lineWidth, + "L", point[0] - width + lineWidth, point[1] + 0.5 + lineWidth, + "L", point[0] - lineWidth, point[1] + 0.5 + lineWidth, "Z"); + } + else if (position == 'top') { + path.push("M", prevPoint[0] + 0.5 + lineWidth, prevPoint[1] + 1 + lineWidth, + "L", prevPoint[0] + 0.5 + lineWidth, prevPoint[1] + 1 + width - lineWidth, + "L", point[0] + 0.5 - lineWidth, point[1] + 1 + width - lineWidth, + "L", point[0] + 0.5 - lineWidth, point[1] + 1 + lineWidth, "Z"); + } + else { + path.push("M", prevPoint[0] + 0.5 + lineWidth, prevPoint[1] - lineWidth, + "L", prevPoint[0] + 0.5 + lineWidth, prevPoint[1] - width + lineWidth, + "L", point[0] + 0.5 - lineWidth, point[1] - width + lineWidth, + "L", point[0] + 0.5 - lineWidth, point[1] - lineWidth, "Z"); + } + } else { + if (position == 'left') { + path = path.concat(["M", point[0] + 0.5, point[1] + 0.5, "l", width, 0]); + } + else if (position == 'right') { + path = path.concat(["M", point[0] - 0.5, point[1] + 0.5, "l", -width, 0]); + } + else if (position == 'top') { + path = path.concat(["M", point[0] + 0.5, point[1] + 0.5, "l", 0, width]); + } + else { + path = path.concat(["M", point[0] + 0.5, point[1] - 0.5, "l", 0, -width]); + } + } + } + if (odd || even) { + if (oddPath.length) { + if (!me.gridOdd && oddPath.length) { + me.gridOdd = surface.add({ + type: 'path', + path: oddPath + }); + } + me.gridOdd.setAttributes(Ext.apply({ + path: oddPath, + hidden: false + }, odd || {}), true); + } + if (evenPath.length) { + if (!me.gridEven) { + me.gridEven = surface.add({ + type: 'path', + path: evenPath + }); + } + me.gridEven.setAttributes(Ext.apply({ + path: evenPath, + hidden: false + }, even || {}), true); + } + } + else { + if (path.length) { + if (!me.gridLines) { + me.gridLines = me.chart.surface.add({ + type: 'path', + path: path, + "stroke-width": me.lineWidth || 1, + stroke: me.gridColor || '#ccc' + }); + } + me.gridLines.setAttributes({ + hidden: false, + path: path + }, true); + } + else if (me.gridLines) { + me.gridLines.hide(true); + } + } + }, + + + getOrCreateLabel: function (i, text) { + var me = this, + labelGroup = me.labelGroup, + textLabel = labelGroup.getAt(i), + surface = me.chart.surface; + if (textLabel) { + if (text != textLabel.attr.text) { + textLabel.setAttributes(Ext.apply({ + text: text + }, me.label), true); + textLabel._bbox = textLabel.getBBox(); + } + } + else { + textLabel = surface.add(Ext.apply({ + group: labelGroup, + type: 'text', + x: 0, + y: 0, + text: text + }, me.label)); + surface.renderItem(textLabel); + textLabel._bbox = textLabel.getBBox(); + } + + if (me.label.rotation) { + textLabel.setAttributes({ + rotation: { + degrees: 0 + } + }, true); + textLabel._ubbox = textLabel.getBBox(); + textLabel.setAttributes(me.label, true); + } else { + textLabel._ubbox = textLabel._bbox; + } + return textLabel; + }, + + rect2pointArray: function (sprite) { + var surface = this.chart.surface, + rect = surface.getBBox(sprite, true), + p1 = [rect.x, rect.y], + p1p = p1.slice(), + p2 = [rect.x + rect.width, rect.y], + p2p = p2.slice(), + p3 = [rect.x + rect.width, rect.y + rect.height], + p3p = p3.slice(), + p4 = [rect.x, rect.y + rect.height], + p4p = p4.slice(), + matrix = sprite.matrix; + + p1[0] = matrix.x.apply(matrix, p1p); + p1[1] = matrix.y.apply(matrix, p1p); + + p2[0] = matrix.x.apply(matrix, p2p); + p2[1] = matrix.y.apply(matrix, p2p); + + p3[0] = matrix.x.apply(matrix, p3p); + p3[1] = matrix.y.apply(matrix, p3p); + + p4[0] = matrix.x.apply(matrix, p4p); + p4[1] = matrix.y.apply(matrix, p4p); + return [p1, p2, p3, p4]; + }, + + intersect: function (l1, l2) { + var r1 = this.rect2pointArray(l1), + r2 = this.rect2pointArray(l2); + return !!Ext.draw.Draw.intersect(r1, r2).length; + }, + + drawHorizontalLabels: function () { + var me = this, + labelConf = me.label, + floor = Math.floor, + max = Math.max, + axes = me.chart.axes, + insetPadding = me.chart.insetPadding, + position = me.position, + inflections = me.inflections, + ln = inflections.length, + labels = me.labels, + maxHeight = 0, + ratio, + bbox, point, prevLabel, prevLabelId, + adjustEnd = me.adjustEnd, + hasLeft = axes.findIndex('position', 'left') != -1, + hasRight = axes.findIndex('position', 'right') != -1, + textLabel, text, + last, x, y, i, firstLabel; + + last = ln - 1; + + point = inflections[0]; + firstLabel = me.getOrCreateLabel(0, me.label.renderer(labels[0])); + ratio = Math.floor(Math.abs(Math.sin(labelConf.rotate && (labelConf.rotate.degrees * Math.PI / 180) || 0))); + + for (i = 0; i < ln; i++) { + point = inflections[i]; + text = me.label.renderer(labels[i]); + textLabel = me.getOrCreateLabel(i, text); + bbox = textLabel._bbox; + maxHeight = max(maxHeight, bbox.height + me.dashSize + me.label.padding); + x = floor(point[0] - (ratio ? bbox.height : bbox.width) / 2); + if (adjustEnd && me.chart.maxGutter[0] == 0) { + if (i == 0 && !hasLeft) { + x = point[0]; + } + else if (i == last && !hasRight) { + x = Math.min(x, point[0] - bbox.width + insetPadding); + } + } + if (position == 'top') { + y = point[1] - (me.dashSize * 2) - me.label.padding - (bbox.height / 2); + } + else { + y = point[1] + (me.dashSize * 2) + me.label.padding + (bbox.height / 2); + } + + textLabel.setAttributes({ + hidden: false, + x: x, + y: y + }, true); + + + if (i != 0 && (me.intersect(textLabel, prevLabel) + || me.intersect(textLabel, firstLabel))) { + if (i === last && prevLabelId !== 0) { + prevLabel.hide(true); + } else { + textLabel.hide(true); + continue; + } + } + + prevLabel = textLabel; + prevLabelId = i; + } + + return maxHeight; + }, + + drawVerticalLabels: function () { + var me = this, + inflections = me.inflections, + position = me.position, + ln = inflections.length, + chart = me.chart, + insetPadding = chart.insetPadding, + labels = me.labels, + maxWidth = 0, + max = Math.max, + floor = Math.floor, + ceil = Math.ceil, + axes = me.chart.axes, + gutterY = me.chart.maxGutter[1], + bbox, point, prevLabel, prevLabelId, + hasTop = axes.findIndex('position', 'top') != -1, + hasBottom = axes.findIndex('position', 'bottom') != -1, + adjustEnd = me.adjustEnd, + textLabel, text, + last = ln - 1, x, y, i; + + for (i = 0; i < ln; i++) { + point = inflections[i]; + text = me.label.renderer(labels[i]); + textLabel = me.getOrCreateLabel(i, text); + bbox = textLabel._bbox; + + maxWidth = max(maxWidth, bbox.width + me.dashSize + me.label.padding); + y = point[1]; + if (adjustEnd && gutterY < bbox.height / 2) { + if (i == last && !hasTop) { + y = Math.max(y, me.y - me.length + ceil(bbox.height / 2) - insetPadding); + } + else if (i == 0 && !hasBottom) { + y = me.y + gutterY - floor(bbox.height / 2); + } + } + if (position == 'left') { + x = point[0] - bbox.width - me.dashSize - me.label.padding - 2; + } + else { + x = point[0] + me.dashSize + me.label.padding + 2; + } + textLabel.setAttributes(Ext.apply({ + hidden: false, + x: x, + y: y + }, me.label), true); + + if (i != 0 && me.intersect(textLabel, prevLabel)) { + if (i === last && prevLabelId !== 0) { + prevLabel.hide(true); + } else { + textLabel.hide(true); + continue; + } + } + prevLabel = textLabel; + prevLabelId = i; + } + + return maxWidth; + }, + + + drawLabel: function () { + var me = this, + position = me.position, + labelGroup = me.labelGroup, + inflections = me.inflections, + maxWidth = 0, + maxHeight = 0, + ln, i; + + if (position == 'left' || position == 'right') { + maxWidth = me.drawVerticalLabels(); + } else { + maxHeight = me.drawHorizontalLabels(); + } + + + ln = labelGroup.getCount(); + i = inflections.length; + for (; i < ln; i++) { + labelGroup.getAt(i).hide(true); + } + + me.bbox = {}; + Ext.apply(me.bbox, me.axisBBox); + me.bbox.height = maxHeight; + me.bbox.width = maxWidth; + if (Ext.isString(me.title)) { + me.drawTitle(maxWidth, maxHeight); + } + }, + + + setTitle: function (title) { + this.title = title; + this.drawLabel(); + }, + + + drawTitle: function (maxWidth, maxHeight) { + var me = this, + position = me.position, + surface = me.chart.surface, + displaySprite = me.displaySprite, + title = me.title, + rotate = (position == 'left' || position == 'right'), + x = me.x, + y = me.y, + base, bbox, pad; + + if (displaySprite) { + displaySprite.setAttributes({text: title}, true); + } else { + base = { + type: 'text', + x: 0, + y: 0, + text: title + }; + displaySprite = me.displaySprite = surface.add(Ext.apply(base, me.axisTitleStyle, me.labelTitle)); + surface.renderItem(displaySprite); + } + bbox = displaySprite.getBBox(); + pad = me.dashSize + me.label.padding; + + if (rotate) { + y -= ((me.length / 2) - (bbox.height / 2)); + if (position == 'left') { + x -= (maxWidth + pad + (bbox.width / 2)); + } + else { + x += (maxWidth + pad + bbox.width - (bbox.width / 2)); + } + me.bbox.width += bbox.width + 10; + } + else { + x += (me.length / 2) - (bbox.width * 0.5); + if (position == 'top') { + y -= (maxHeight + pad + (bbox.height * 0.3)); + } + else { + y += (maxHeight + pad + (bbox.height * 0.8)); + } + me.bbox.height += bbox.height + 10; + } + displaySprite.setAttributes({ + translate: { + x: x, + y: y + } + }, true); + } +}); + + +Ext.define('Ext.chart.axis.Category', { + + + + extend: 'Ext.chart.axis.Axis', + + alternateClassName: 'Ext.chart.CategoryAxis', + + alias: 'axis.category', + + + + + categoryNames: null, + + + calculateCategoryCount: false, + + + setLabels: function() { + var store = this.chart.getChartStore(), + data = store.data.items, + d, dLen, record, + fields = this.fields, + ln = fields.length, + i; + + this.labels = []; + for (d = 0, dLen = data.length; d < dLen; d++) { + record = data[d]; + for (i = 0; i < ln; i++) { + this.labels.push(record.get(fields[i])); + } + } + }, + + + applyData: function() { + this.callParent(); + this.setLabels(); + var count = this.chart.getChartStore().getCount(); + return { + from: 0, + to: count - 1, + power: 1, + step: 1, + steps: count - 1 + }; + } +}); + + +Ext.define('Ext.chart.axis.Gauge', { + + + + extend: 'Ext.chart.axis.Abstract', + + + + + + + + + + + + + + position: 'gauge', + + alias: 'axis.gauge', + + drawAxis: function(init) { + var chart = this.chart, + surface = chart.surface, + bbox = chart.chartBBox, + centerX = bbox.x + (bbox.width / 2), + centerY = bbox.y + bbox.height, + margin = this.margin || 10, + rho = Math.min(bbox.width, 2 * bbox.height) /2 + margin, + sprites = [], sprite, + steps = this.steps, + i, pi = Math.PI, + cos = Math.cos, + sin = Math.sin; + + if (this.sprites && !chart.resizing) { + this.drawLabel(); + return; + } + + if (this.margin >= 0) { + if (!this.sprites) { + + for (i = 0; i <= steps; i++) { + sprite = surface.add({ + type: 'path', + path: ['M', centerX + (rho - margin) * cos(i / steps * pi - pi), + centerY + (rho - margin) * sin(i / steps * pi - pi), + 'L', centerX + rho * cos(i / steps * pi - pi), + centerY + rho * sin(i / steps * pi - pi), 'Z'], + stroke: '#ccc' + }); + sprite.setAttributes({ + hidden: false + }, true); + sprites.push(sprite); + } + } else { + sprites = this.sprites; + + for (i = 0; i <= steps; i++) { + sprites[i].setAttributes({ + path: ['M', centerX + (rho - margin) * cos(i / steps * pi - pi), + centerY + (rho - margin) * sin(i / steps * pi - pi), + 'L', centerX + rho * cos(i / steps * pi - pi), + centerY + rho * sin(i / steps * pi - pi), 'Z'], + stroke: '#ccc' + }, true); + } + } + } + this.sprites = sprites; + this.drawLabel(); + if (this.title) { + this.drawTitle(); + } + }, + + drawTitle: function() { + var me = this, + chart = me.chart, + surface = chart.surface, + bbox = chart.chartBBox, + labelSprite = me.titleSprite, + labelBBox; + + if (!labelSprite) { + me.titleSprite = labelSprite = surface.add({ + type: 'text', + zIndex: 2 + }); + } + labelSprite.setAttributes(Ext.apply({ + text: me.title + }, me.label || {}), true); + labelBBox = labelSprite.getBBox(); + labelSprite.setAttributes({ + x: bbox.x + (bbox.width / 2) - (labelBBox.width / 2), + y: bbox.y + bbox.height - (labelBBox.height / 2) - 4 + }, true); + }, + + + setTitle: function(title) { + this.title = title; + this.drawTitle(); + }, + + drawLabel: function() { + var chart = this.chart, + surface = chart.surface, + bbox = chart.chartBBox, + centerX = bbox.x + (bbox.width / 2), + centerY = bbox.y + bbox.height, + margin = this.margin || 10, + rho = Math.min(bbox.width, 2 * bbox.height) /2 + 2 * margin, + round = Math.round, + labelArray = [], label, + maxValue = this.maximum || 0, + minValue = this.minimum || 0, + steps = this.steps, i = 0, + adjY, + pi = Math.PI, + cos = Math.cos, + sin = Math.sin, + labelConf = this.label, + renderer = labelConf.renderer || function(v) { return v; }; + + if (!this.labelArray) { + + for (i = 0; i <= steps; i++) { + + adjY = (i === 0 || i === steps) ? 7 : 0; + label = surface.add({ + type: 'text', + text: renderer(round(minValue + i / steps * (maxValue - minValue))), + x: centerX + rho * cos(i / steps * pi - pi), + y: centerY + rho * sin(i / steps * pi - pi) - adjY, + 'text-anchor': 'middle', + 'stroke-width': 0.2, + zIndex: 10, + stroke: '#333' + }); + label.setAttributes({ + hidden: false + }, true); + labelArray.push(label); + } + } + else { + labelArray = this.labelArray; + + for (i = 0; i <= steps; i++) { + + adjY = (i === 0 || i === steps) ? 7 : 0; + labelArray[i].setAttributes({ + text: renderer(round(minValue + i / steps * (maxValue - minValue))), + x: centerX + rho * cos(i / steps * pi - pi), + y: centerY + rho * sin(i / steps * pi - pi) - adjY + }, true); + } + } + this.labelArray = labelArray; + } +}); + + +Ext.define('Ext.chart.axis.Numeric', { + + + + extend: 'Ext.chart.axis.Axis', + + alternateClassName: 'Ext.chart.NumericAxis', + + + + type: 'numeric', + + alias: 'axis.numeric', + + uses: ['Ext.data.Store'], + + constructor: function(config) { + var me = this, + hasLabel = !!(config.label && config.label.renderer), + label; + + me.callParent([config]); + label = me.label; + + if (config.constrain == null) { + me.constrain = (config.minimum != null && config.maximum != null); + } + + if (!hasLabel) { + label.renderer = function(v) { + return me.roundToDecimal(v, me.decimals); + }; + } + }, + + roundToDecimal: function(v, dec) { + var val = Math.pow(10, dec || 0); + return Math.round(v * val) / val; + }, + + + minimum: NaN, + + + maximum: NaN, + + + constrain: true, + + + decimals: 2, + + + scale: "linear", + + + doConstrain: function() { + var me = this, + store = me.chart.store, + items = store.data.items, + d, dLen, record, + series = me.chart.series.items, + fields = me.fields, + ln = fields.length, + range = me.calcEnds(), + min = range.from, max = range.to, i, l, + useAcum = false, + value, data = [], + addRecord; + + for (i = 0, l = series.length; i < l; i++) { + if (series[i].type === 'bar' && series[i].stacked) { + + return; + } + } + + for (d = 0, dLen = items.length; d < dLen; d++) { + addRecord = true; + record = items[d]; + for (i = 0; i < ln; i++) { + value = record.get(fields[i]); + if (+value < +min) { + addRecord = false; + break; + } + if (+value > +max) { + addRecord = false; + break; + } + } + if (addRecord) { + data.push(record); + } + } + me.chart.substore = Ext.create('Ext.data.Store', { model: store.model }); + me.chart.substore.loadData(data); + }, + + position: 'left', + + + adjustMaximumByMajorUnit: false, + + + adjustMinimumByMajorUnit: false, + + + processView: function() { + var me = this, + constrain = me.constrain; + if (constrain) { + me.doConstrain(); + } + }, + + + applyData: function() { + this.callParent(); + return this.calcEnds(); + } +}); + + +Ext.define('Ext.chart.axis.Radial', { + + + + extend: 'Ext.chart.axis.Abstract', + + + + position: 'radial', + + alias: 'axis.radial', + + drawAxis: function(init) { + var chart = this.chart, + surface = chart.surface, + bbox = chart.chartBBox, + store = chart.store, + l = store.getCount(), + centerX = bbox.x + (bbox.width / 2), + centerY = bbox.y + (bbox.height / 2), + rho = Math.min(bbox.width, bbox.height) /2, + sprites = [], sprite, + steps = this.steps, + i, j, pi2 = Math.PI * 2, + cos = Math.cos, sin = Math.sin; + + if (this.sprites && !chart.resizing) { + this.drawLabel(); + return; + } + + if (!this.sprites) { + + for (i = 1; i <= steps; i++) { + sprite = surface.add({ + type: 'circle', + x: centerX, + y: centerY, + radius: Math.max(rho * i / steps, 0), + stroke: '#ccc' + }); + sprite.setAttributes({ + hidden: false + }, true); + sprites.push(sprite); + } + + for (i = 0; i < l; i++) { + sprite = surface.add({ + type: 'path', + path: ['M', centerX, centerY, 'L', centerX + rho * cos(i / l * pi2), centerY + rho * sin(i / l * pi2), 'Z'], + stroke: '#ccc' + }); + sprite.setAttributes({ + hidden: false + }, true); + sprites.push(sprite); + } + } else { + sprites = this.sprites; + + for (i = 0; i < steps; i++) { + sprites[i].setAttributes({ + x: centerX, + y: centerY, + radius: Math.max(rho * (i + 1) / steps, 0), + stroke: '#ccc' + }, true); + } + + for (j = 0; j < l; j++) { + sprites[i + j].setAttributes({ + path: ['M', centerX, centerY, 'L', centerX + rho * cos(j / l * pi2), centerY + rho * sin(j / l * pi2), 'Z'], + stroke: '#ccc' + }, true); + } + } + this.sprites = sprites; + + this.drawLabel(); + }, + + drawLabel: function() { + var chart = this.chart, + seriesItems = chart.series.items, + series, + surface = chart.surface, + bbox = chart.chartBBox, + store = chart.store, + data = store.data.items, + ln, record, + centerX = bbox.x + (bbox.width / 2), + centerY = bbox.y + (bbox.height / 2), + rho = Math.min(bbox.width, bbox.height) /2, + max = Math.max, round = Math.round, + labelArray = [], label, + fields = [], nfields, + categories = [], xField, + aggregate = !this.maximum, + maxValue = this.maximum || 0, + steps = this.steps, i = 0, j, dx, dy, + pi2 = Math.PI * 2, + cos = Math.cos, sin = Math.sin, + display = this.label.display, + draw = display !== 'none', + margin = 10; + + if (!draw) { + return; + } + + + for (i = 0, ln = seriesItems.length; i < ln; i++) { + series = seriesItems[i]; + fields.push(series.yField); + xField = series.xField; + } + + + for (j = 0, ln = data.length; j < ln; j++) { + record = data[j]; + if (aggregate) { + for (i = 0, nfields = fields.length; i < nfields; i++) { + maxValue = max(+record.get(fields[i]), maxValue); + } + } + categories.push(record.get(xField)); + } + if (!this.labelArray) { + if (display != 'categories') { + + for (i = 1; i <= steps; i++) { + label = surface.add({ + type: 'text', + text: round(i / steps * maxValue), + x: centerX, + y: centerY - rho * i / steps, + 'text-anchor': 'middle', + 'stroke-width': 0.1, + stroke: '#333' + }); + label.setAttributes({ + hidden: false + }, true); + labelArray.push(label); + } + } + if (display != 'scale') { + + for (j = 0, steps = categories.length; j < steps; j++) { + dx = cos(j / steps * pi2) * (rho + margin); + dy = sin(j / steps * pi2) * (rho + margin); + label = surface.add({ + type: 'text', + text: categories[j], + x: centerX + dx, + y: centerY + dy, + 'text-anchor': dx * dx <= 0.001? 'middle' : (dx < 0? 'end' : 'start') + }); + label.setAttributes({ + hidden: false + }, true); + labelArray.push(label); + } + } + } + else { + labelArray = this.labelArray; + if (display != 'categories') { + + for (i = 0; i < steps; i++) { + labelArray[i].setAttributes({ + text: round((i + 1) / steps * maxValue), + x: centerX, + y: centerY - rho * (i + 1) / steps, + 'text-anchor': 'middle', + 'stroke-width': 0.1, + stroke: '#333' + }, true); + } + } + if (display != 'scale') { + + for (j = 0, steps = categories.length; j < steps; j++) { + dx = cos(j / steps * pi2) * (rho + margin); + dy = sin(j / steps * pi2) * (rho + margin); + if (labelArray[i + j]) { + labelArray[i + j].setAttributes({ + type: 'text', + text: categories[j], + x: centerX + dx, + y: centerY + dy, + 'text-anchor': dx * dx <= 0.001? 'middle' : (dx < 0? 'end' : 'start') + }, true); + } + } + } + } + this.labelArray = labelArray; + } +}); + + +Ext.define('Ext.chart.axis.Time', { + + + + extend: 'Ext.chart.axis.Numeric', + + alternateClassName: 'Ext.chart.TimeAxis', + + alias: 'axis.time', + + uses: ['Ext.data.Store'], + + + + + dateFormat: false, + + + fromDate: false, + + + toDate: false, + + + step: [Ext.Date.DAY, 1], + + + constrain: false, + + constructor: function (config) { + var me = this, label, f, df; + me.callParent([config]); + label = me.label || {}; + df = this.dateFormat; + if (df) { + if (label.renderer) { + f = label.renderer; + label.renderer = function(v) { + v = f(v); + return Ext.Date.format(new Date(f(v)), df); + }; + } else { + label.renderer = function(v) { + return Ext.Date.format(new Date(v >> 0), df); + }; + } + } + }, + + + processView: function () { + var me = this; + if (me.fromDate) { + me.minimum = +me.fromDate; + } + if (me.toDate) { + me.maximum = +me.toDate; + } + if(me.constrain){ + me.doConstrain(); + } + }, + + + calcEnds: function() { + var me = this, range, step = me.step; + if (step) { + range = me.getRange(); + range = Ext.draw.Draw.snapEndsByDateAndStep(new Date(range.min), new Date(range.max), Ext.isNumber(step) ? [Date.MILLI, step]: step); + if (me.minimum) { + range.from = me.minimum; + } + if (me.maximum) { + range.to = me.maximum; + } + range.step = (range.to - range.from) / range.steps; + return range; + } else { + return me.callParent(arguments); + } + } + }); + + + +Ext.define('Ext.chart.series.Series', { + + + + mixins: { + observable: 'Ext.util.Observable', + labels: 'Ext.chart.Label', + highlights: 'Ext.chart.Highlight', + tips: 'Ext.chart.Tip', + callouts: 'Ext.chart.Callout' + }, + + + + + + + + + type: null, + + + title: null, + + + showInLegend: true, + + + renderer: function(sprite, record, attributes, index, store) { + return attributes; + }, + + + shadowAttributes: null, + + + animating: false, + + + + constructor: function(config) { + var me = this; + if (config) { + Ext.apply(me, config); + } + + me.shadowGroups = []; + + me.mixins.labels.constructor.call(me, config); + me.mixins.highlights.constructor.call(me, config); + me.mixins.tips.constructor.call(me, config); + me.mixins.callouts.constructor.call(me, config); + + me.addEvents({ + scope: me, + itemmouseover: true, + itemmouseout: true, + itemmousedown: true, + itemmouseup: true, + mouseleave: true, + afterdraw: true, + + + titlechange: true + }); + + me.mixins.observable.constructor.call(me, config); + + me.on({ + scope: me, + itemmouseover: me.onItemMouseOver, + itemmouseout: me.onItemMouseOut, + mouseleave: me.onMouseLeave + }); + + if (me.style) { + Ext.apply(me.seriesStyle, me.style); + } + }, + + + eachRecord: function(fn, scope) { + var chart = this.chart; + (chart.substore || chart.store).each(fn, scope); + }, + + + getRecordCount: function() { + var chart = this.chart, + store = chart.substore || chart.store; + return store ? store.getCount() : 0; + }, + + + isExcluded: function(index) { + var excludes = this.__excludes; + return !!(excludes && excludes[index]); + }, + + + setBBox: function(noGutter) { + var me = this, + chart = me.chart, + chartBBox = chart.chartBBox, + gutterX = noGutter ? 0 : chart.maxGutter[0], + gutterY = noGutter ? 0 : chart.maxGutter[1], + clipBox, bbox; + + clipBox = { + x: chartBBox.x, + y: chartBBox.y, + width: chartBBox.width, + height: chartBBox.height + }; + me.clipBox = clipBox; + + bbox = { + x: (clipBox.x + gutterX) - (chart.zoom.x * chart.zoom.width), + y: (clipBox.y + gutterY) - (chart.zoom.y * chart.zoom.height), + width: (clipBox.width - (gutterX * 2)) * chart.zoom.width, + height: (clipBox.height - (gutterY * 2)) * chart.zoom.height + }; + me.bbox = bbox; + }, + + + onAnimate: function(sprite, attr) { + var me = this; + sprite.stopAnimation(); + if (me.animating) { + return sprite.animate(Ext.applyIf(attr, me.chart.animate)); + } else { + me.animating = true; + return sprite.animate(Ext.apply(Ext.applyIf(attr, me.chart.animate), { + listeners: { + 'afteranimate': function() { + me.animating = false; + me.fireEvent('afterrender'); + } + } + })); + } + }, + + + getGutters: function() { + return [0, 0]; + }, + + + onItemMouseOver: function(item) { + var me = this; + if (item.series === me) { + if (me.highlight) { + me.highlightItem(item); + } + if (me.tooltip) { + me.showTip(item); + } + } + }, + + + onItemMouseOut: function(item) { + var me = this; + if (item.series === me) { + me.unHighlightItem(); + if (me.tooltip) { + me.hideTip(item); + } + } + }, + + + onMouseLeave: function() { + var me = this; + me.unHighlightItem(); + if (me.tooltip) { + me.hideTip(); + } + }, + + + getItemForPoint: function(x, y) { + + if (!this.items || !this.items.length || this.seriesIsHidden) { + return null; + } + var me = this, + items = me.items, + bbox = me.bbox, + item, i, ln; + + if (!Ext.draw.Draw.withinBox(x, y, bbox)) { + return null; + } + for (i = 0, ln = items.length; i < ln; i++) { + if (items[i] && this.isItemInPoint(x, y, items[i], i)) { + return items[i]; + } + } + + return null; + }, + + isItemInPoint: function(x, y, item, i) { + return false; + }, + + + hideAll: function() { + var me = this, + items = me.items, + item, len, i, j, l, sprite, shadows; + + me.seriesIsHidden = true; + me._prevShowMarkers = me.showMarkers; + + me.showMarkers = false; + + me.hideLabels(0); + + for (i = 0, len = items.length; i < len; i++) { + item = items[i]; + sprite = item.sprite; + if (sprite) { + sprite.setAttributes({ + hidden: true + }, true); + } + + if (sprite && sprite.shadows) { + shadows = sprite.shadows; + for (j = 0, l = shadows.length; j < l; ++j) { + shadows[j].setAttributes({ + hidden: true + }, true); + } + } + } + }, + + + showAll: function() { + var me = this, + prevAnimate = me.chart.animate; + me.chart.animate = false; + me.seriesIsHidden = false; + me.showMarkers = me._prevShowMarkers; + me.drawSeries(); + me.chart.animate = prevAnimate; + }, + + hide: function() { + if (this.items) { + var me = this, + items = me.items, + i, j, lsh, ln, shadows; + + if (items && items.length) { + for (i = 0, ln = items.length; i < ln; ++i) { + if (items[i].sprite) { + items[i].sprite.hide(true); + + shadows = items[i].shadows || items[i].sprite.shadows; + if (shadows) { + for (j = 0, lsh = shadows.length; j < lsh; ++j) { + shadows[j].hide(true); + } + } + } + } + me.hideLabels(); + } + } + }, + + + getLegendColor: function(index) { + var me = this, fill, stroke; + if (me.seriesStyle) { + fill = me.seriesStyle.fill; + stroke = me.seriesStyle.stroke; + if (fill && fill != 'none') { + return fill; + } + if(stroke){ + return stroke; + } + } + return (me.colorArrayStyle)?me.colorArrayStyle[me.seriesIdx % me.colorArrayStyle.length]:'#000'; + }, + + + visibleInLegend: function(index){ + var excludes = this.__excludes; + if (excludes) { + return !excludes[index]; + } + return !this.seriesIsHidden; + }, + + + setTitle: function(index, title) { + var me = this, + oldTitle = me.title; + + if (Ext.isString(index)) { + title = index; + index = 0; + } + + if (Ext.isArray(oldTitle)) { + oldTitle[index] = title; + } else { + me.title = title; + } + + me.fireEvent('titlechange', title, index); + } +}); + + +Ext.define('Ext.chart.series.Cartesian', { + + + + extend: 'Ext.chart.series.Series', + + alternateClassName: ['Ext.chart.CartesianSeries', 'Ext.chart.CartesianChart'], + + + + + xField: null, + + + yField: null, + + + axis: 'left', + + getLegendLabels: function() { + var me = this, + labels = [], + fields, i, ln, + combinations = me.combinations, + title, + combo, label0, label1; + + fields = [].concat(me.yField); + for (i = 0, ln = fields.length; i < ln; i++) { + title = me.title; + + labels.push((Ext.isArray(title) ? title[i] : title) || fields[i]); + } + + + + if (combinations) { + combinations = Ext.Array.from(combinations); + for (i = 0, ln = combinations.length; i < ln; i++) { + combo = combinations[i]; + label0 = labels[combo[0]]; + label1 = labels[combo[1]]; + labels[combo[1]] = label0 + ' & ' + label1; + labels.splice(combo[0], 1); + } + } + + return labels; + }, + + + eachYValue: function(record, fn, scope) { + var me = this, + yValueAccessors = me.getYValueAccessors(), + i, ln, accessor; + + for (i = 0, ln = yValueAccessors.length; i < ln; i++) { + accessor = yValueAccessors[i]; + fn.call(scope, accessor(record), i); + } + }, + + + getYValueCount: function() { + return this.getYValueAccessors().length; + }, + + combine: function(index1, index2) { + var me = this, + accessors = me.getYValueAccessors(), + accessor1 = accessors[index1], + accessor2 = accessors[index2]; + + + accessors[index2] = function(record) { + return accessor1(record) + accessor2(record); + }; + accessors.splice(index1, 1); + + me.callParent([index1, index2]); + }, + + clearCombinations: function() { + + delete this.yValueAccessors; + this.callParent(); + }, + + + getYValueAccessors: function() { + var me = this, + accessors = me.yValueAccessors, + yFields, yField, i, ln; + if (!accessors) { + accessors = me.yValueAccessors = []; + yFields = [].concat(me.yField); + + for (i = 0, ln = yFields.length; i < ln; i++) { + yField = yFields[i]; + accessors.push(function(record) { + return record.get(yField); + }); + } + } + return accessors; + }, + + + getMinMaxXValues: function() { + var me = this, + chart = me.chart, + store = chart.getChartStore(), + data = store.data.items, + i, ln, record, + min, max, + xField = me.xField, + xValue; + + if (me.getRecordCount() > 0) { + min = Infinity; + max = -min; + + for (i = 0, ln = data.length; i < ln; i++) { + record = data[i]; + xValue = record.get(xField); + if (xValue > max) { + max = xValue; + } + if (xValue < min) { + min = xValue; + } + } + } else { + min = max = 0; + } + return [min, max]; + }, + + + getMinMaxYValues: function() { + var me = this, + chart = me.chart, + store = chart.getChartStore(), + data = store.data.items, + i, ln, record, + stacked = me.stacked, + min, max, + positiveTotal, negativeTotal; + + function eachYValueStacked(yValue, i) { + if (!me.isExcluded(i)) { + if (yValue < 0) { + negativeTotal += yValue; + } else { + positiveTotal += yValue; + } + } + } + + function eachYValue(yValue, i) { + if (!me.isExcluded(i)) { + if (yValue > max) { + max = yValue; + } + if (yValue < min) { + min = yValue; + } + } + } + + if (me.getRecordCount() > 0) { + min = Infinity; + max = -min; + + for (i = 0, ln = data.length; i < ln; i++) { + record = data[i]; + if (stacked) { + positiveTotal = 0; + negativeTotal = 0; + me.eachYValue(record, eachYValueStacked); + if (positiveTotal > max) { + max = positiveTotal; + } + if (negativeTotal < min) { + min = negativeTotal; + } + } else { + me.eachYValue(record, eachYValue); + } + } + } else { + min = max = 0; + } + return [min, max]; + }, + + getAxesForXAndYFields: function() { + var me = this, + axes = me.chart.axes, + axis = [].concat(me.axis), + yFields = {}, yFieldList = [].concat(me.yField), + xFields = {}, xFieldList = [].concat(me.xField), + fields, xAxis, yAxis, i, ln, flipXY; + + + flipXY = me.type === 'bar' && me.column === false; + if(flipXY) { + fields = yFieldList; + yFieldList = xFieldList; + xFieldList = fields; + } + if (Ext.Array.indexOf(axis, 'top') > -1) { + xAxis = 'top'; + } else if (Ext.Array.indexOf(axis, 'bottom') > -1) { + xAxis = 'bottom'; + } else { + if (axes.get('top') && axes.get('bottom')) { + for (i = 0, ln = xFieldList.length; i < ln; i++) { + xFields[xFieldList[i]] = true; + } + fields = [].concat(axes.get('bottom').fields); + for (i = 0, ln = fields.length; i < ln; i++) { + if (xFields[fields[i]]) { + xAxis = 'bottom'; + break + } + } + fields = [].concat(axes.get('top').fields); + for (i = 0, ln = fields.length; i < ln; i++) { + if (xFields[fields[i]]) { + xAxis = 'top'; + break + } + } + } else if (axes.get('top')) { + xAxis = 'top'; + } else if (axes.get('bottom')) { + xAxis = 'bottom'; + } + } + if (Ext.Array.indexOf(axis, 'left') > -1) { + yAxis = 'left'; + } else if (Ext.Array.indexOf(axis, 'right') > -1) { + yAxis = 'right'; + } else { + if (axes.get('left') && axes.get('right')) { + for (i = 0, ln = yFieldList.length; i < ln; i++) { + yFields[yFieldList[i]] = true; + } + fields = [].concat(axes.get('right').fields); + for (i = 0, ln = fields.length; i < ln; i++) { + if (yFields[fields[i]]) { + + break + } + } + fields = [].concat(axes.get('left').fields); + for (i = 0, ln = fields.length; i < ln; i++) { + if (yFields[fields[i]]) { + yAxis = 'left'; + break + } + } + } else if (axes.get('left')) { + yAxis = 'left'; + } else if (axes.get('right')) { + yAxis = 'right'; + } + } + + return flipXY ? { + xAxis: yAxis, + yAxis: xAxis + }: { + xAxis: xAxis, + yAxis: yAxis + }; + } + + +}); + + +Ext.define('Ext.chart.series.Area', { + + + + extend: 'Ext.chart.series.Cartesian', + + alias: 'series.area', + + requires: ['Ext.chart.axis.Axis', 'Ext.draw.Color', 'Ext.fx.Anim'], + + + + type: 'area', + + + stacked: true, + + + style: {}, + + constructor: function(config) { + this.callParent(arguments); + var me = this, + surface = me.chart.surface, + i, l; + config.highlightCfg = Ext.Object.merge({}, { + lineWidth: 3, + stroke: '#55c', + opacity: 0.8, + color: '#f00' + }, config.highlightCfg); + + Ext.apply(me, config, { + __excludes: [] + }); + if (me.highlight) { + me.highlightSprite = surface.add({ + type: 'path', + path: ['M', 0, 0], + zIndex: 1000, + opacity: 0.3, + lineWidth: 5, + hidden: true, + stroke: '#444' + }); + } + me.group = surface.getGroup(me.seriesId); + }, + + + shrink: function(xValues, yValues, size) { + var len = xValues.length, + ratio = Math.floor(len / size), + i, j, + xSum = 0, + yCompLen = this.areas.length, + ySum = [], + xRes = [], + yRes = []; + + for (j = 0; j < yCompLen; ++j) { + ySum[j] = 0; + } + for (i = 0; i < len; ++i) { + xSum += +xValues[i]; + for (j = 0; j < yCompLen; ++j) { + ySum[j] += +yValues[i][j]; + } + if (i % ratio == 0) { + + xRes.push(xSum/ratio); + for (j = 0; j < yCompLen; ++j) { + ySum[j] /= ratio; + } + yRes.push(ySum); + + xSum = 0; + for (j = 0, ySum = []; j < yCompLen; ++j) { + ySum[j] = 0; + } + } + } + return { + x: xRes, + y: yRes + }; + }, + + + getBounds: function() { + var me = this, + chart = me.chart, + store = chart.getChartStore(), + data = store.data.items, + i, l, record, + areas = [].concat(me.yField), + areasLen = areas.length, + xValues = [], + yValues = [], + infinity = Infinity, + minX = infinity, + minY = infinity, + maxX = -infinity, + maxY = -infinity, + math = Math, + mmin = math.min, + mmax = math.max, + boundAxis = me.getAxesForXAndYFields(), + boundXAxis = boundAxis.xAxis, + boundYAxis = boundAxis.yAxis, + ends, allowDate, + bbox, xScale, yScale, xValue, yValue, areaIndex, acumY, ln, sumValues, clipBox, areaElem, axis, out; + + me.setBBox(); + bbox = me.bbox; + + if (axis = chart.axes.get(boundXAxis)) { + if (axis.type === 'Time') { + allowDate = true; + } + ends = axis.applyData(); + minX = ends.from; + maxX = ends.to; + } + + if (axis = chart.axes.get(boundYAxis)) { + ends = axis.applyData(); + minY = ends.from; + maxY = ends.to; + } + + + if (me.xField && !Ext.isNumber(minX)) { + axis = me.getMinMaxXValues(); + allowDate = true; + minX = axis[0]; + maxX = axis[1]; + } + + if (me.yField && !Ext.isNumber(minY)) { + axis = me.getMinMaxYValues(); + minY = axis[0]; + maxY = axis[1]; + } + + if (!Ext.isNumber(minY)) { + minY = 0; + } + if (!Ext.isNumber(maxY)) { + maxY = 0; + } + + for (i = 0, l = data.length; i < l; i++) { + record = data[i]; + xValue = record.get(me.xField); + yValue = []; + if (typeof xValue != 'number') { + if (allowDate) { + xValue = +xValue; + } else { + xValue = i; + } + } + xValues.push(xValue); + acumY = 0; + for (areaIndex = 0; areaIndex < areasLen; areaIndex++) { + + if (me.__excludes[areaIndex]) { + continue; + } + areaElem = record.get(areas[areaIndex]); + if (typeof areaElem == 'number') { + yValue.push(areaElem); + } + } + yValues.push(yValue); + } + + xScale = bbox.width / ((maxX - minX) || 1); + yScale = bbox.height / ((maxY - minY) || 1); + + ln = xValues.length; + if ((ln > bbox.width) && me.areas) { + sumValues = me.shrink(xValues, yValues, bbox.width); + xValues = sumValues.x; + yValues = sumValues.y; + } + + return { + bbox: bbox, + minX: minX, + minY: minY, + xValues: xValues, + yValues: yValues, + xScale: xScale, + yScale: yScale, + areasLen: areasLen + }; + }, + + + getPaths: function() { + var me = this, + chart = me.chart, + store = chart.getChartStore(), + first = true, + bounds = me.getBounds(), + bbox = bounds.bbox, + items = me.items = [], + componentPaths = [], + componentPath, + count = 0, + paths = [], + i, ln, x, y, xValue, yValue, acumY, areaIndex, prevAreaIndex, areaElem, path; + + ln = bounds.xValues.length; + + for (i = 0; i < ln; i++) { + xValue = bounds.xValues[i]; + yValue = bounds.yValues[i]; + x = bbox.x + (xValue - bounds.minX) * bounds.xScale; + acumY = 0; + count = 0; + for (areaIndex = 0; areaIndex < bounds.areasLen; areaIndex++) { + + if (me.__excludes[areaIndex]) { + continue; + } + if (!componentPaths[areaIndex]) { + componentPaths[areaIndex] = []; + } + areaElem = yValue[count]; + acumY += areaElem; + y = bbox.y + bbox.height - (acumY - bounds.minY) * bounds.yScale; + if (!paths[areaIndex]) { + paths[areaIndex] = ['M', x, y]; + componentPaths[areaIndex].push(['L', x, y]); + } else { + paths[areaIndex].push('L', x, y); + componentPaths[areaIndex].push(['L', x, y]); + } + if (!items[areaIndex]) { + items[areaIndex] = { + pointsUp: [], + pointsDown: [], + series: me + }; + } + items[areaIndex].pointsUp.push([x, y]); + count++; + } + } + + + for (areaIndex = 0; areaIndex < bounds.areasLen; areaIndex++) { + + if (me.__excludes[areaIndex]) { + continue; + } + path = paths[areaIndex]; + + if (areaIndex == 0 || first) { + first = false; + path.push('L', x, bbox.y + bbox.height, + 'L', bbox.x, bbox.y + bbox.height, + 'Z'); + } + + else { + componentPath = componentPaths[prevAreaIndex]; + componentPath.reverse(); + path.push('L', x, componentPath[0][2]); + for (i = 0; i < ln; i++) { + path.push(componentPath[i][0], + componentPath[i][1], + componentPath[i][2]); + items[areaIndex].pointsDown[ln -i -1] = [componentPath[i][1], componentPath[i][2]]; + } + path.push('L', bbox.x, path[2], 'Z'); + } + prevAreaIndex = areaIndex; + } + return { + paths: paths, + areasLen: bounds.areasLen + }; + }, + + + drawSeries: function() { + var me = this, + chart = me.chart, + store = chart.getChartStore(), + surface = chart.surface, + animate = chart.animate, + group = me.group, + endLineStyle = Ext.apply(me.seriesStyle, me.style), + colorArrayStyle = me.colorArrayStyle, + colorArrayLength = colorArrayStyle && colorArrayStyle.length || 0, + areaIndex, areaElem, paths, path, rendererAttributes; + + me.unHighlightItem(); + me.cleanHighlights(); + + if (!store || !store.getCount() || me.seriesIsHidden) { + me.hide(); + me.items = []; + return; + } + + paths = me.getPaths(); + + if (!me.areas) { + me.areas = []; + } + + for (areaIndex = 0; areaIndex < paths.areasLen; areaIndex++) { + + if (me.__excludes[areaIndex]) { + continue; + } + if (!me.areas[areaIndex]) { + me.items[areaIndex].sprite = me.areas[areaIndex] = surface.add(Ext.apply({}, { + type: 'path', + group: group, + + path: paths.paths[areaIndex], + stroke: endLineStyle.stroke || colorArrayStyle[areaIndex % colorArrayLength], + fill: colorArrayStyle[areaIndex % colorArrayLength] + }, endLineStyle || {})); + } + areaElem = me.areas[areaIndex]; + path = paths.paths[areaIndex]; + if (animate) { + + rendererAttributes = me.renderer(areaElem, false, { + path: path, + + fill: colorArrayStyle[areaIndex % colorArrayLength], + stroke: endLineStyle.stroke || colorArrayStyle[areaIndex % colorArrayLength] + }, areaIndex, store); + + me.animation = me.onAnimate(areaElem, { + to: rendererAttributes + }); + } else { + rendererAttributes = me.renderer(areaElem, false, { + path: path, + + hidden: false, + fill: colorArrayStyle[areaIndex % colorArrayLength], + stroke: endLineStyle.stroke || colorArrayStyle[areaIndex % colorArrayLength] + }, areaIndex, store); + me.areas[areaIndex].setAttributes(rendererAttributes, true); + } + } + me.renderLabels(); + me.renderCallouts(); + }, + + + onAnimate: function(sprite, attr) { + sprite.show(); + return this.callParent(arguments); + }, + + + onCreateLabel: function(storeItem, item, i, display) { + var me = this, + group = me.labelsGroup, + config = me.label, + bbox = me.bbox, + endLabelStyle = Ext.apply(config, me.seriesLabelStyle); + + return me.chart.surface.add(Ext.apply({ + 'type': 'text', + 'text-anchor': 'middle', + 'group': group, + 'x': item.point[0], + 'y': bbox.y + bbox.height / 2 + }, endLabelStyle || {})); + }, + + + onPlaceLabel: function(label, storeItem, item, i, display, animate, index) { + var me = this, + chart = me.chart, + resizing = chart.resizing, + config = me.label, + format = config.renderer, + field = config.field, + bbox = me.bbox, + x = item.point[0], + y = item.point[1], + bb, width, height; + + label.setAttributes({ + text: format(storeItem.get(field[index])), + hidden: true + }, true); + + bb = label.getBBox(); + width = bb.width / 2; + height = bb.height / 2; + + x = x - width < bbox.x? bbox.x + width : x; + x = (x + width > bbox.x + bbox.width) ? (x - (x + width - bbox.x - bbox.width)) : x; + y = y - height < bbox.y? bbox.y + height : y; + y = (y + height > bbox.y + bbox.height) ? (y - (y + height - bbox.y - bbox.height)) : y; + + if (me.chart.animate && !me.chart.resizing) { + label.show(true); + me.onAnimate(label, { + to: { + x: x, + y: y + } + }); + } else { + label.setAttributes({ + x: x, + y: y + }, true); + if (resizing) { + me.animation.on('afteranimate', function() { + label.show(true); + }); + } else { + label.show(true); + } + } + }, + + + onPlaceCallout : function(callout, storeItem, item, i, display, animate, index) { + var me = this, + chart = me.chart, + surface = chart.surface, + resizing = chart.resizing, + config = me.callouts, + items = me.items, + prev = (i == 0) ? false : items[i -1].point, + next = (i == items.length -1) ? false : items[i +1].point, + cur = item.point, + dir, norm, normal, a, aprev, anext, + bbox = callout.label.getBBox(), + offsetFromViz = 30, + offsetToSide = 10, + offsetBox = 3, + boxx, boxy, boxw, boxh, + p, clipRect = me.clipRect, + x, y; + + + if (!prev) { + prev = cur; + } + if (!next) { + next = cur; + } + a = (next[1] - prev[1]) / (next[0] - prev[0]); + aprev = (cur[1] - prev[1]) / (cur[0] - prev[0]); + anext = (next[1] - cur[1]) / (next[0] - cur[0]); + + norm = Math.sqrt(1 + a * a); + dir = [1 / norm, a / norm]; + normal = [-dir[1], dir[0]]; + + + if (aprev > 0 && anext < 0 && normal[1] < 0 || aprev < 0 && anext > 0 && normal[1] > 0) { + normal[0] *= -1; + normal[1] *= -1; + } else if (Math.abs(aprev) < Math.abs(anext) && normal[0] < 0 || Math.abs(aprev) > Math.abs(anext) && normal[0] > 0) { + normal[0] *= -1; + normal[1] *= -1; + } + + + x = cur[0] + normal[0] * offsetFromViz; + y = cur[1] + normal[1] * offsetFromViz; + + + boxx = x + (normal[0] > 0? 0 : -(bbox.width + 2 * offsetBox)); + boxy = y - bbox.height /2 - offsetBox; + boxw = bbox.width + 2 * offsetBox; + boxh = bbox.height + 2 * offsetBox; + + + + if (boxx < clipRect[0] || (boxx + boxw) > (clipRect[0] + clipRect[2])) { + normal[0] *= -1; + } + if (boxy < clipRect[1] || (boxy + boxh) > (clipRect[1] + clipRect[3])) { + normal[1] *= -1; + } + + + x = cur[0] + normal[0] * offsetFromViz; + y = cur[1] + normal[1] * offsetFromViz; + + + boxx = x + (normal[0] > 0? 0 : -(bbox.width + 2 * offsetBox)); + boxy = y - bbox.height /2 - offsetBox; + boxw = bbox.width + 2 * offsetBox; + boxh = bbox.height + 2 * offsetBox; + + + callout.lines.setAttributes({ + path: ["M", cur[0], cur[1], "L", x, y, "Z"] + }, true); + + callout.box.setAttributes({ + x: boxx, + y: boxy, + width: boxw, + height: boxh + }, true); + + callout.label.setAttributes({ + x: x + (normal[0] > 0? offsetBox : -(bbox.width + offsetBox)), + y: y + }, true); + for (p in callout) { + callout[p].show(true); + } + }, + + isItemInPoint: function(x, y, item, i) { + var me = this, + pointsUp = item.pointsUp, + pointsDown = item.pointsDown, + abs = Math.abs, + distChanged = false, + last = false, + dist = Infinity, p, pln, point; + + for (p = 0, pln = pointsUp.length; p < pln; p++) { + point = [pointsUp[p][0], pointsUp[p][1]]; + + distChanged = false; + last = p == pln -1; + + if (dist > abs(x - point[0])) { + dist = abs(x - point[0]); + distChanged = true; + if (last) { + ++p; + } + } + + if (!distChanged || (distChanged && last)) { + point = pointsUp[p -1]; + if (y >= point[1] && (!pointsDown.length || y <= (pointsDown[p -1][1]))) { + item.storeIndex = p -1; + item.storeField = me.yField[i]; + item.storeItem = me.chart.store.getAt(p -1); + item._points = pointsDown.length? [point, pointsDown[p -1]] : [point]; + return true; + } else { + break; + } + } + } + return false; + }, + + + highlightSeries: function() { + var area, to, fillColor; + if (this._index !== undefined) { + area = this.areas[this._index]; + if (area.__highlightAnim) { + area.__highlightAnim.paused = true; + } + area.__highlighted = true; + area.__prevOpacity = area.__prevOpacity || area.attr.opacity || 1; + area.__prevFill = area.__prevFill || area.attr.fill; + area.__prevLineWidth = area.__prevLineWidth || area.attr.lineWidth; + fillColor = Ext.draw.Color.fromString(area.__prevFill); + to = { + lineWidth: (area.__prevLineWidth || 0) + 2 + }; + if (fillColor) { + to.fill = fillColor.getLighter(0.2).toString(); + } + else { + to.opacity = Math.max(area.__prevOpacity - 0.3, 0); + } + if (this.chart.animate) { + area.__highlightAnim = new Ext.fx.Anim(Ext.apply({ + target: area, + to: to + }, this.chart.animate)); + } + else { + area.setAttributes(to, true); + } + } + }, + + + unHighlightSeries: function() { + var area; + if (this._index !== undefined) { + area = this.areas[this._index]; + if (area.__highlightAnim) { + area.__highlightAnim.paused = true; + } + if (area.__highlighted) { + area.__highlighted = false; + area.__highlightAnim = new Ext.fx.Anim({ + target: area, + to: { + fill: area.__prevFill, + opacity: area.__prevOpacity, + lineWidth: area.__prevLineWidth + } + }); + } + } + }, + + + highlightItem: function(item) { + var me = this, + points, path; + if (!item) { + this.highlightSeries(); + return; + } + points = item._points; + path = points.length == 2? ['M', points[0][0], points[0][1], 'L', points[1][0], points[1][1]] + : ['M', points[0][0], points[0][1], 'L', points[0][0], me.bbox.y + me.bbox.height]; + me.highlightSprite.setAttributes({ + path: path, + hidden: false + }, true); + }, + + + unHighlightItem: function(item) { + if (!item) { + this.unHighlightSeries(); + } + + if (this.highlightSprite) { + this.highlightSprite.hide(true); + } + }, + + + hideAll: function(index) { + var me = this; + index = (isNaN(me._index) ? index : me._index) || 0; + me.__excludes[index] = true; + me.areas[index].hide(true); + me.redraw(); + }, + + + showAll: function(index) { + var me = this; + index = (isNaN(me._index) ? index : me._index) || 0; + me.__excludes[index] = false; + me.areas[index].show(true); + me.redraw(); + }, + + redraw: function() { + + + + var me = this, + prevLegendConfig; + prevLegendConfig = me.chart.legend.rebuild; + me.chart.legend.rebuild = false; + me.chart.redraw(); + me.chart.legend.rebuild = prevLegendConfig; + }, + + hide: function() { + if (this.areas) { + var me = this, + areas = me.areas, + i, j, l, ln, shadows; + + if (areas && areas.length) { + for (i = 0, ln = areas.length; i < ln; ++i) { + if (areas[i]) { + areas[i].hide(true); + } + } + me.hideLabels(); + } + } + }, + + + getLegendColor: function(index) { + var me = this; + return me.colorArrayStyle[index % me.colorArrayStyle.length]; + } +}); + + +Ext.define('Ext.chart.series.Bar', { + + + + extend: 'Ext.chart.series.Cartesian', + + alternateClassName: ['Ext.chart.BarSeries', 'Ext.chart.BarChart', 'Ext.chart.StackedBarChart'], + + requires: ['Ext.chart.axis.Axis', 'Ext.fx.Anim'], + + + + type: 'bar', + + alias: 'series.bar', + + column: false, + + + style: {}, + + + gutter: 38.2, + + + groupGutter: 38.2, + + + xPadding: 0, + + + yPadding: 10, + + constructor: function(config) { + this.callParent(arguments); + var me = this, + surface = me.chart.surface, + shadow = me.chart.shadow, + i, l; + config.highlightCfg = Ext.Object.merge({ + lineWidth: 3, + stroke: '#55c', + opacity: 0.8, + color: '#f00' + }, config.highlightCfg); + Ext.apply(me, config, { + shadowAttributes: [{ + "stroke-width": 6, + "stroke-opacity": 0.05, + stroke: 'rgb(200, 200, 200)', + translate: { + x: 1.2, + y: 1.2 + } + }, { + "stroke-width": 4, + "stroke-opacity": 0.1, + stroke: 'rgb(150, 150, 150)', + translate: { + x: 0.9, + y: 0.9 + } + }, { + "stroke-width": 2, + "stroke-opacity": 0.15, + stroke: 'rgb(100, 100, 100)', + translate: { + x: 0.6, + y: 0.6 + } + }] + }); + + me.group = surface.getGroup(me.seriesId + '-bars'); + if (shadow) { + for (i = 0, l = me.shadowAttributes.length; i < l; i++) { + me.shadowGroups.push(surface.getGroup(me.seriesId + '-shadows' + i)); + } + } + }, + + + getBarGirth: function() { + var me = this, + store = me.chart.getChartStore(), + column = me.column, + ln = store.getCount(), + gutter = me.gutter / 100; + + return (me.chart.chartBBox[column ? 'width' : 'height'] - me[column ? 'xPadding' : 'yPadding'] * 2) / (ln * (gutter + 1) - gutter); + }, + + + getGutters: function() { + var me = this, + column = me.column, + gutter = Math.ceil(me[column ? 'xPadding' : 'yPadding'] + me.getBarGirth() / 2); + return me.column ? [gutter, 0] : [0, gutter]; + }, + + + getBounds: function() { + var me = this, + chart = me.chart, + store = chart.getChartStore(), + data = store.data.items, + i, ln, record, + bars = [].concat(me.yField), + barsLen = bars.length, + groupBarsLen = barsLen, + groupGutter = me.groupGutter / 100, + column = me.column, + xPadding = me.xPadding, + yPadding = me.yPadding, + stacked = me.stacked, + barWidth = me.getBarGirth(), + barWidthProperty = column ? 'width' : 'height', + math = Math, + mmin = math.min, + mmax = math.max, + mabs = math.abs, + boundAxes = me.getAxesForXAndYFields(), + boundYAxis = boundAxes.yAxis, + ends, shrunkBarWidth, groupBarWidth, bbox, minY, maxY, axis, out, + scale, zero, total, rec, j, plus, minus; + + me.setBBox(true); + bbox = me.bbox; + + + if (me.__excludes) { + for (j = 0, total = me.__excludes.length; j < total; j++) { + if (me.__excludes[j]) { + groupBarsLen--; + } + } + } + axis = chart.axes.get(boundYAxis); + if (axis) { + ends = axis.applyData(); + minY = ends.from; + maxY = ends.to; + } + + if (me.yField && !Ext.isNumber(minY)) { + out = me.getMinMaxYValues(); + minY = out[0]; + maxY = out[1]; + } + + if (!Ext.isNumber(minY)) { + minY = 0; + } + if (!Ext.isNumber(maxY)) { + maxY = 0; + } + scale = (column ? bbox.height - yPadding * 2 : bbox.width - xPadding * 2) / (maxY - minY); + shrunkBarWidth = barWidth; + groupBarWidth = (barWidth / ((stacked ? 1 : groupBarsLen) * (groupGutter + 1) - groupGutter)); + + if (barWidthProperty in me.style) { + groupBarWidth = mmin(groupBarWidth, me.style[barWidthProperty]); + shrunkBarWidth = groupBarWidth * ((stacked ? 1 : groupBarsLen) * (groupGutter + 1) - groupGutter); + } + zero = (column) ? bbox.y + bbox.height - yPadding : bbox.x + xPadding; + + if (stacked) { + total = [[], []]; + for (i = 0, ln = data.length; i < ln; i++) { + record = data[i]; + total[0][i] = total[0][i] || 0; + total[1][i] = total[1][i] || 0; + for (j = 0; j < barsLen; j++) { + if (me.__excludes && me.__excludes[j]) { + continue; + } + rec = record.get(bars[j]); + total[+(rec > 0)][i] += mabs(rec); + } + } + total[+(maxY > 0)].push(mabs(maxY)); + total[+(minY > 0)].push(mabs(minY)); + minus = mmax.apply(math, total[0]); + plus = mmax.apply(math, total[1]); + scale = (column ? bbox.height - yPadding * 2 : bbox.width - xPadding * 2) / (plus + minus); + zero = zero + minus * scale * (column ? -1 : 1); + } + else if (minY / maxY < 0) { + zero = zero - minY * scale * (column ? -1 : 1); + } + return { + bars: bars, + bbox: bbox, + shrunkBarWidth: shrunkBarWidth, + barsLen: barsLen, + groupBarsLen: groupBarsLen, + barWidth: barWidth, + groupBarWidth: groupBarWidth, + scale: scale, + zero: zero, + xPadding: xPadding, + yPadding: yPadding, + signed: minY / maxY < 0, + minY: minY, + maxY: maxY + }; + }, + + + getPaths: function() { + var me = this, + chart = me.chart, + store = chart.getChartStore(), + data = store.data.items, + i, total, record, + bounds = me.bounds = me.getBounds(), + items = me.items = [], + yFields = me.yField, + gutter = me.gutter / 100, + groupGutter = me.groupGutter / 100, + animate = chart.animate, + column = me.column, + group = me.group, + enableShadows = chart.shadow, + shadowGroups = me.shadowGroups, + shadowAttributes = me.shadowAttributes, + shadowGroupsLn = shadowGroups.length, + bbox = bounds.bbox, + barWidth = bounds.barWidth, + shrunkBarWidth = bounds.shrunkBarWidth, + xPadding = me.xPadding, + yPadding = me.yPadding, + stacked = me.stacked, + barsLen = bounds.barsLen, + colors = me.colorArrayStyle, + colorLength = colors && colors.length || 0, + math = Math, + mmax = math.max, + mmin = math.min, + mabs = math.abs, + j, yValue, height, totalDim, totalNegDim, bottom, top, hasShadow, barAttr, attrs, counter, + shadowIndex, shadow, sprite, offset, floorY; + + for (i = 0, total = data.length; i < total; i++) { + record = data[i]; + bottom = bounds.zero; + top = bounds.zero; + totalDim = 0; + totalNegDim = 0; + hasShadow = false; + for (j = 0, counter = 0; j < barsLen; j++) { + + if (me.__excludes && me.__excludes[j]) { + continue; + } + yValue = record.get(bounds.bars[j]); + height = Math.round((yValue - mmax(bounds.minY, 0)) * bounds.scale); + barAttr = { + fill: colors[(barsLen > 1 ? j : 0) % colorLength] + }; + if (column) { + Ext.apply(barAttr, { + height: height, + width: mmax(bounds.groupBarWidth, 0), + x: (bbox.x + xPadding + (barWidth - shrunkBarWidth) * 0.5 + i * barWidth * (1 + gutter) + counter * bounds.groupBarWidth * (1 + groupGutter) * !stacked), + y: bottom - height + }); + } + else { + + offset = (total - 1) - i; + Ext.apply(barAttr, { + height: mmax(bounds.groupBarWidth, 0), + width: height + (bottom == bounds.zero), + x: bottom + (bottom != bounds.zero), + y: (bbox.y + yPadding + (barWidth - shrunkBarWidth) * 0.5 + offset * barWidth * (1 + gutter) + counter * bounds.groupBarWidth * (1 + groupGutter) * !stacked + 1) + }); + } + if (height < 0) { + if (column) { + barAttr.y = top; + barAttr.height = mabs(height); + } else { + barAttr.x = top + height; + barAttr.width = mabs(height); + } + } + if (stacked) { + if (height < 0) { + top += height * (column ? -1 : 1); + } else { + bottom += height * (column ? -1 : 1); + } + totalDim += mabs(height); + if (height < 0) { + totalNegDim += mabs(height); + } + } + barAttr.x = Math.floor(barAttr.x) + 1; + floorY = Math.floor(barAttr.y); + if (!Ext.isIE9 && barAttr.y > floorY) { + floorY--; + } + barAttr.y = floorY; + barAttr.width = Math.floor(barAttr.width); + barAttr.height = Math.floor(barAttr.height); + items.push({ + series: me, + yField: yFields[j], + storeItem: record, + value: [record.get(me.xField), yValue], + attr: barAttr, + point: column ? [barAttr.x + barAttr.width / 2, yValue >= 0 ? barAttr.y : barAttr.y + barAttr.height] : + [yValue >= 0 ? barAttr.x + barAttr.width : barAttr.x, barAttr.y + barAttr.height / 2] + }); + + if (animate && chart.resizing) { + attrs = column ? { + x: barAttr.x, + y: bounds.zero, + width: barAttr.width, + height: 0 + } : { + x: bounds.zero, + y: barAttr.y, + width: 0, + height: barAttr.height + }; + if (enableShadows && (stacked && !hasShadow || !stacked)) { + hasShadow = true; + + for (shadowIndex = 0; shadowIndex < shadowGroupsLn; shadowIndex++) { + shadow = shadowGroups[shadowIndex].getAt(stacked ? i : (i * barsLen + j)); + if (shadow) { + shadow.setAttributes(attrs, true); + } + } + } + + sprite = group.getAt(i * barsLen + j); + if (sprite) { + sprite.setAttributes(attrs, true); + } + } + counter++; + } + if (stacked && items.length) { + items[i * counter].totalDim = totalDim; + items[i * counter].totalNegDim = totalNegDim; + } + } + if (stacked && counter == 0) { + + for (i = 0, total = data.length; i < total; i++) { + for (shadowIndex = 0; shadowIndex < shadowGroupsLn; shadowIndex++) { + shadow = shadowGroups[shadowIndex].getAt(i); + if (shadow) { + shadow.hide(true); + } + } + } + } + }, + + + renderShadows: function(i, barAttr, baseAttrs, bounds) { + var me = this, + chart = me.chart, + surface = chart.surface, + animate = chart.animate, + stacked = me.stacked, + shadowGroups = me.shadowGroups, + shadowAttributes = me.shadowAttributes, + shadowGroupsLn = shadowGroups.length, + store = chart.getChartStore(), + column = me.column, + items = me.items, + shadows = [], + zero = bounds.zero, + shadowIndex, shadowBarAttr, shadow, totalDim, totalNegDim, j, rendererAttributes; + + if ((stacked && (i % bounds.groupBarsLen === 0)) || !stacked) { + j = i / bounds.groupBarsLen; + + for (shadowIndex = 0; shadowIndex < shadowGroupsLn; shadowIndex++) { + shadowBarAttr = Ext.apply({}, shadowAttributes[shadowIndex]); + shadow = shadowGroups[shadowIndex].getAt(stacked ? j : i); + Ext.copyTo(shadowBarAttr, barAttr, 'x,y,width,height'); + if (!shadow) { + shadow = surface.add(Ext.apply({ + type: 'rect', + group: shadowGroups[shadowIndex] + }, Ext.apply({}, baseAttrs, shadowBarAttr))); + } + if (stacked) { + totalDim = items[i].totalDim; + totalNegDim = items[i].totalNegDim; + if (column) { + shadowBarAttr.y = zero + totalNegDim - totalDim - 1; + shadowBarAttr.height = totalDim; + } + else { + shadowBarAttr.x = zero - totalNegDim; + shadowBarAttr.width = totalDim; + } + } + + rendererAttributes = me.renderer(shadow, store.getAt(j), shadowBarAttr, i, store); + rendererAttributes.hidden = !!barAttr.hidden; + if (animate) { + me.onAnimate(shadow, { to: rendererAttributes }); + } + else { + shadow.setAttributes(rendererAttributes, true); + } + shadows.push(shadow); + } + } + return shadows; + }, + + + drawSeries: function() { + var me = this, + chart = me.chart, + store = chart.getChartStore(), + surface = chart.surface, + animate = chart.animate, + stacked = me.stacked, + column = me.column, + enableShadows = chart.shadow, + shadowGroups = me.shadowGroups, + shadowGroupsLn = shadowGroups.length, + group = me.group, + seriesStyle = me.seriesStyle, + items, ln, i, j, baseAttrs, sprite, rendererAttributes, shadowIndex, shadowGroup, + bounds, endSeriesStyle, barAttr, attrs, anim; + + if (!store || !store.getCount() || me.seriesIsHidden) { + me.hide(); + me.items = []; + return; + } + + + endSeriesStyle = Ext.apply({}, this.style, seriesStyle); + delete endSeriesStyle.fill; + delete endSeriesStyle.x; + delete endSeriesStyle.y; + delete endSeriesStyle.width; + delete endSeriesStyle.height; + + me.unHighlightItem(); + me.cleanHighlights(); + + me.getPaths(); + bounds = me.bounds; + items = me.items; + + baseAttrs = column ? { + y: bounds.zero, + height: 0 + } : { + x: bounds.zero, + width: 0 + }; + ln = items.length; + + for (i = 0; i < ln; i++) { + sprite = group.getAt(i); + barAttr = items[i].attr; + + if (enableShadows) { + items[i].shadows = me.renderShadows(i, barAttr, baseAttrs, bounds); + } + + + if (!sprite) { + attrs = Ext.apply({}, baseAttrs, barAttr); + attrs = Ext.apply(attrs, endSeriesStyle || {}); + sprite = surface.add(Ext.apply({}, { + type: 'rect', + group: group + }, attrs)); + } + if (animate) { + rendererAttributes = me.renderer(sprite, store.getAt(i), barAttr, i, store); + sprite._to = rendererAttributes; + anim = me.onAnimate(sprite, { to: Ext.apply(rendererAttributes, endSeriesStyle) }); + if (enableShadows && stacked && (i % bounds.barsLen === 0)) { + j = i / bounds.barsLen; + for (shadowIndex = 0; shadowIndex < shadowGroupsLn; shadowIndex++) { + anim.on('afteranimate', function() { + this.show(true); + }, shadowGroups[shadowIndex].getAt(j)); + } + } + } + else { + rendererAttributes = me.renderer(sprite, store.getAt(i), Ext.apply(barAttr, { hidden: false }), i, store); + sprite.setAttributes(Ext.apply(rendererAttributes, endSeriesStyle), true); + } + items[i].sprite = sprite; + } + + + ln = group.getCount(); + for (j = i; j < ln; j++) { + group.getAt(j).hide(true); + } + + if (me.stacked) { + + i = store.getCount(); + } + + + if (enableShadows) { + for (shadowIndex = 0; shadowIndex < shadowGroupsLn; shadowIndex++) { + shadowGroup = shadowGroups[shadowIndex]; + ln = shadowGroup.getCount(); + for (j = i; j < ln; j++) { + shadowGroup.getAt(j).hide(true); + } + } + } + me.renderLabels(); + }, + + + onCreateLabel: function(storeItem, item, i, display) { + var me = this, + surface = me.chart.surface, + group = me.labelsGroup, + config = me.label, + endLabelStyle = Ext.apply({}, config, me.seriesLabelStyle || {}), + sprite; + return surface.add(Ext.apply({ + type: 'text', + group: group + }, endLabelStyle || {})); + }, + + + onPlaceLabel: function(label, storeItem, item, i, display, animate, j, index) { + + + var me = this, + opt = me.bounds, + groupBarWidth = opt.groupBarWidth, + column = me.column, + chart = me.chart, + chartBBox = chart.chartBBox, + resizing = chart.resizing, + xValue = item.value[0], + yValue = item.value[1], + attr = item.attr, + config = me.label, + rotate = config.orientation == 'vertical', + field = [].concat(config.field), + format = config.renderer, + text = format(storeItem.get(field[index])), + size = me.getLabelSize(text), + width = size.width, + height = size.height, + zero = opt.zero, + outside = 'outside', + insideStart = 'insideStart', + insideEnd = 'insideEnd', + offsetX = 10, + offsetY = 6, + signed = opt.signed, + x, y, finalAttr; + + label.setAttributes({ + text: text + }); + + label.isOutside = false; + if (column) { + if (display == outside) { + if (height + offsetY + attr.height > (yValue >= 0 ? zero - chartBBox.y : chartBBox.y + chartBBox.height - zero)) { + display = insideEnd; + } + } else { + if (height + offsetY > attr.height) { + display = outside; + label.isOutside = true; + } + } + x = attr.x + groupBarWidth / 2; + y = display == insideStart ? + (zero + ((height / 2 + 3) * (yValue >= 0 ? -1 : 1))) : + (yValue >= 0 ? (attr.y + ((height / 2 + 3) * (display == outside ? -1 : 1))) : + (attr.y + attr.height + ((height / 2 + 3) * (display === outside ? 1 : -1)))); + } + else { + if (display == outside) { + if (width + offsetX + attr.width > (yValue >= 0 ? chartBBox.x + chartBBox.width - zero : zero - chartBBox.x)) { + display = insideEnd; + } + } + else { + if (width + offsetX > attr.width) { + display = outside; + label.isOutside = true; + } + } + x = display == insideStart ? + (zero + ((width / 2 + 5) * (yValue >= 0 ? 1 : -1))) : + (yValue >= 0 ? (attr.x + attr.width + ((width / 2 + 5) * (display === outside ? 1 : -1))) : + (attr.x + ((width / 2 + 5) * (display === outside ? -1 : 1)))); + y = attr.y + groupBarWidth / 2; + } + + finalAttr = { + x: x, + y: y + }; + + if (rotate) { + finalAttr.rotate = { + x: x, + y: y, + degrees: 270 + }; + } + + if (animate && resizing) { + if (column) { + x = attr.x + attr.width / 2; + y = zero; + } else { + x = zero; + y = attr.y + attr.height / 2; + } + label.setAttributes({ + x: x, + y: y + }, true); + if (rotate) { + label.setAttributes({ + rotate: { + x: x, + y: y, + degrees: 270 + } + }, true); + } + } + + if (animate) { + me.onAnimate(label, { to: finalAttr }); + } + else { + label.setAttributes(Ext.apply(finalAttr, { + hidden: false + }), true); + } + }, + + + getLabelSize: function(value) { + var tester = this.testerLabel, + config = this.label, + endLabelStyle = Ext.apply({}, config, this.seriesLabelStyle || {}), + rotated = config.orientation === 'vertical', + bbox, w, h, + undef; + if (!tester) { + tester = this.testerLabel = this.chart.surface.add(Ext.apply({ + type: 'text', + opacity: 0 + }, endLabelStyle)); + } + tester.setAttributes({ + text: value + }, true); + + + bbox = tester.getBBox(); + w = bbox.width; + h = bbox.height; + return { + width: rotated ? h : w, + height: rotated ? w : h + }; + }, + + + onAnimate: function(sprite, attr) { + sprite.show(); + return this.callParent(arguments); + }, + + isItemInPoint: function(x, y, item) { + var bbox = item.sprite.getBBox(); + return bbox.x <= x && bbox.y <= y + && (bbox.x + bbox.width) >= x + && (bbox.y + bbox.height) >= y; + }, + + + hideAll: function(index) { + var axes = this.chart.axes, + axesItems = axes.items, + ln = axesItems.length, + i = 0; + + index = (isNaN(this._index) ? index : this._index) || 0; + + if (!this.__excludes) { + this.__excludes = []; + } + + this.__excludes[index] = true; + this.drawSeries(); + + for (i; i < ln; i++) { + axesItems[i].drawAxis(); + } + }, + + + showAll: function(index) { + var axes = this.chart.axes, + axesItems = axes.items, + ln = axesItems.length, + i = 0; + + index = (isNaN(this._index) ? index : this._index) || 0; + + if (!this.__excludes) { + this.__excludes = []; + } + + this.__excludes[index] = false; + this.drawSeries(); + + for (i; i < ln; i++) { + axesItems[i].drawAxis(); + } + }, + + + getLegendColor: function(index) { + var me = this, + colorLength = me.colorArrayStyle.length; + + if (me.style && me.style.fill) { + return me.style.fill; + } else { + return me.colorArrayStyle[index % colorLength]; + } + }, + + highlightItem: function(item) { + this.callParent(arguments); + this.renderLabels(); + }, + + unHighlightItem: function() { + this.callParent(arguments); + this.renderLabels(); + }, + + cleanHighlights: function() { + this.callParent(arguments); + this.renderLabels(); + } +}); + + +Ext.define('Ext.chart.series.Column', { + + + + alternateClassName: ['Ext.chart.ColumnSeries', 'Ext.chart.ColumnChart', 'Ext.chart.StackedColumnChart'], + + extend: 'Ext.chart.series.Bar', + + + + type: 'column', + alias: 'series.column', + + column: true, + + + xPadding: 10, + + + yPadding: 0 +}); + + +Ext.define('Ext.chart.series.Gauge', { + + + + extend: 'Ext.chart.series.Series', + + + + type: "gauge", + alias: 'series.gauge', + + rad: Math.PI / 180, + + + highlightDuration: 150, + + + angleField: false, + + + needle: false, + + + donut: false, + + + showInLegend: false, + + + style: {}, + + constructor: function(config) { + this.callParent(arguments); + var me = this, + chart = me.chart, + surface = chart.surface, + store = chart.store, + shadow = chart.shadow, i, l, cfg; + Ext.apply(me, config, { + shadowAttributes: [{ + "stroke-width": 6, + "stroke-opacity": 1, + stroke: 'rgb(200, 200, 200)', + translate: { + x: 1.2, + y: 2 + } + }, + { + "stroke-width": 4, + "stroke-opacity": 1, + stroke: 'rgb(150, 150, 150)', + translate: { + x: 0.9, + y: 1.5 + } + }, + { + "stroke-width": 2, + "stroke-opacity": 1, + stroke: 'rgb(100, 100, 100)', + translate: { + x: 0.6, + y: 1 + } + }] + }); + me.group = surface.getGroup(me.seriesId); + if (shadow) { + for (i = 0, l = me.shadowAttributes.length; i < l; i++) { + me.shadowGroups.push(surface.getGroup(me.seriesId + '-shadows' + i)); + } + } + surface.customAttributes.segment = function(opt) { + return me.getSegment(opt); + }; + }, + + + initialize: function() { + var me = this, + store = me.chart.getChartStore(), + data = store.data.items, + i, ln, rec; + + me.yField = []; + if (me.label.field) { + for (i = 0, ln = data.length; i < ln; i++) { + rec = data[i]; + me.yField.push(rec.get(me.label.field)); + } + } + }, + + + getSegment: function(opt) { + var me = this, + rad = me.rad, + cos = Math.cos, + sin = Math.sin, + abs = Math.abs, + x = me.centerX, + y = me.centerY, + x1 = 0, x2 = 0, x3 = 0, x4 = 0, + y1 = 0, y2 = 0, y3 = 0, y4 = 0, + delta = 1e-2, + r = opt.endRho - opt.startRho, + startAngle = opt.startAngle, + endAngle = opt.endAngle, + midAngle = (startAngle + endAngle) / 2 * rad, + margin = opt.margin || 0, + flag = abs(endAngle - startAngle) > 180, + a1 = Math.min(startAngle, endAngle) * rad, + a2 = Math.max(startAngle, endAngle) * rad, + singleSlice = false; + + x += margin * cos(midAngle); + y += margin * sin(midAngle); + + x1 = x + opt.startRho * cos(a1); + y1 = y + opt.startRho * sin(a1); + + x2 = x + opt.endRho * cos(a1); + y2 = y + opt.endRho * sin(a1); + + x3 = x + opt.startRho * cos(a2); + y3 = y + opt.startRho * sin(a2); + + x4 = x + opt.endRho * cos(a2); + y4 = y + opt.endRho * sin(a2); + + if (abs(x1 - x3) <= delta && abs(y1 - y3) <= delta) { + singleSlice = true; + } + + if (singleSlice) { + return { + path: [ + ["M", x1, y1], + ["L", x2, y2], + ["A", opt.endRho, opt.endRho, 0, +flag, 1, x4, y4], + ["Z"]] + }; + } else { + return { + path: [ + ["M", x1, y1], + ["L", x2, y2], + ["A", opt.endRho, opt.endRho, 0, +flag, 1, x4, y4], + ["L", x3, y3], + ["A", opt.startRho, opt.startRho, 0, +flag, 0, x1, y1], + ["Z"]] + }; + } + }, + + + calcMiddle: function(item) { + var me = this, + rad = me.rad, + slice = item.slice, + x = me.centerX, + y = me.centerY, + startAngle = slice.startAngle, + endAngle = slice.endAngle, + radius = Math.max(('rho' in slice) ? slice.rho: me.radius, me.label.minMargin), + donut = +me.donut, + a1 = Math.min(startAngle, endAngle) * rad, + a2 = Math.max(startAngle, endAngle) * rad, + midAngle = -(a1 + (a2 - a1) / 2), + xm = x + (item.endRho + item.startRho) / 2 * Math.cos(midAngle), + ym = y - (item.endRho + item.startRho) / 2 * Math.sin(midAngle); + + item.middle = { + x: xm, + y: ym + }; + }, + + + drawSeries: function() { + var me = this, + chart = me.chart, + store = chart.getChartStore(), + group = me.group, + animate = me.chart.animate, + axis = me.chart.axes.get(0), + minimum = axis && axis.minimum || me.minimum || 0, + maximum = axis && axis.maximum || me.maximum || 0, + field = me.angleField || me.field || me.xField, + surface = chart.surface, + chartBBox = chart.chartBBox, + rad = me.rad, + donut = +me.donut, + values = {}, + items = [], + seriesStyle = me.seriesStyle, + seriesLabelStyle = me.seriesLabelStyle, + colorArrayStyle = me.colorArrayStyle, + colorArrayLength = colorArrayStyle && colorArrayStyle.length || 0, + gutterX = chart.maxGutter[0], + gutterY = chart.maxGutter[1], + cos = Math.cos, + sin = Math.sin, + rendererAttributes, centerX, centerY, slice, slices, sprite, value, + item, ln, record, i, j, startAngle, endAngle, middleAngle, sliceLength, path, + p, spriteOptions, bbox, splitAngle, sliceA, sliceB; + + Ext.apply(seriesStyle, me.style || {}); + + me.setBBox(); + bbox = me.bbox; + + + if (me.colorSet) { + colorArrayStyle = me.colorSet; + colorArrayLength = colorArrayStyle.length; + } + + + if (!store || !store.getCount() || me.seriesIsHidden) { + me.hide(); + me.items = []; + return; + } + + centerX = me.centerX = chartBBox.x + (chartBBox.width / 2); + centerY = me.centerY = chartBBox.y + chartBBox.height; + me.radius = Math.min(centerX - chartBBox.x, centerY - chartBBox.y); + me.slices = slices = []; + me.items = items = []; + + if (!me.value) { + record = store.getAt(0); + me.value = record.get(field); + } + + value = me.value; + if (me.needle) { + sliceA = { + series: me, + value: value, + startAngle: -180, + endAngle: 0, + rho: me.radius + }; + splitAngle = -180 * (1 - (value - minimum) / (maximum - minimum)); + slices.push(sliceA); + } else { + splitAngle = -180 * (1 - (value - minimum) / (maximum - minimum)); + sliceA = { + series: me, + value: value, + startAngle: -180, + endAngle: splitAngle, + rho: me.radius + }; + sliceB = { + series: me, + value: me.maximum - value, + startAngle: splitAngle, + endAngle: 0, + rho: me.radius + }; + slices.push(sliceA, sliceB); + } + + + for (i = 0, ln = slices.length; i < ln; i++) { + slice = slices[i]; + sprite = group.getAt(i); + + rendererAttributes = Ext.apply({ + segment: { + startAngle: slice.startAngle, + endAngle: slice.endAngle, + margin: 0, + rho: slice.rho, + startRho: slice.rho * +donut / 100, + endRho: slice.rho + } + }, Ext.apply(seriesStyle, colorArrayStyle && { fill: colorArrayStyle[i % colorArrayLength] } || {})); + + item = Ext.apply({}, + rendererAttributes.segment, { + slice: slice, + series: me, + storeItem: record, + index: i + }); + items[i] = item; + + if (!sprite) { + spriteOptions = Ext.apply({ + type: "path", + group: group + }, Ext.apply(seriesStyle, colorArrayStyle && { fill: colorArrayStyle[i % colorArrayLength] } || {})); + sprite = surface.add(Ext.apply(spriteOptions, rendererAttributes)); + } + slice.sprite = slice.sprite || []; + item.sprite = sprite; + slice.sprite.push(sprite); + if (animate) { + rendererAttributes = me.renderer(sprite, record, rendererAttributes, i, store); + sprite._to = rendererAttributes; + me.onAnimate(sprite, { + to: rendererAttributes + }); + } else { + rendererAttributes = me.renderer(sprite, record, Ext.apply(rendererAttributes, { + hidden: false + }), i, store); + sprite.setAttributes(rendererAttributes, true); + } + } + + if (me.needle) { + splitAngle = splitAngle * Math.PI / 180; + + if (!me.needleSprite) { + me.needleSprite = me.chart.surface.add({ + type: 'path', + path: ['M', centerX + (me.radius * +donut / 100) * cos(splitAngle), + centerY + -Math.abs((me.radius * +donut / 100) * sin(splitAngle)), + 'L', centerX + me.radius * cos(splitAngle), + centerY + -Math.abs(me.radius * sin(splitAngle))], + 'stroke-width': 4, + 'stroke': '#222' + }); + } else { + if (animate) { + me.onAnimate(me.needleSprite, { + to: { + path: ['M', centerX + (me.radius * +donut / 100) * cos(splitAngle), + centerY + -Math.abs((me.radius * +donut / 100) * sin(splitAngle)), + 'L', centerX + me.radius * cos(splitAngle), + centerY + -Math.abs(me.radius * sin(splitAngle))] + } + }); + } else { + me.needleSprite.setAttributes({ + type: 'path', + path: ['M', centerX + (me.radius * +donut / 100) * cos(splitAngle), + centerY + -Math.abs((me.radius * +donut / 100) * sin(splitAngle)), + 'L', centerX + me.radius * cos(splitAngle), + centerY + -Math.abs(me.radius * sin(splitAngle))] + }); + } + } + me.needleSprite.setAttributes({ + hidden: false + }, true); + } + + delete me.value; + }, + + + setValue: function (value) { + this.value = value; + this.drawSeries(); + }, + + + onCreateLabel: function(storeItem, item, i, display) {}, + + + onPlaceLabel: function(label, storeItem, item, i, display, animate, index) {}, + + + onPlaceCallout: function() {}, + + + onAnimate: function(sprite, attr) { + sprite.show(); + return this.callParent(arguments); + }, + + isItemInPoint: function(x, y, item, i) { + var me = this, + cx = me.centerX, + cy = me.centerY, + abs = Math.abs, + dx = abs(x - cx), + dy = abs(y - cy), + startAngle = item.startAngle, + endAngle = item.endAngle, + rho = Math.sqrt(dx * dx + dy * dy), + angle = Math.atan2(y - cy, x - cx) / me.rad; + + + return (i === 0) && (angle >= startAngle && angle < endAngle && + rho >= item.startRho && rho <= item.endRho); + }, + + + showAll: function() { + if (!isNaN(this._index)) { + this.__excludes[this._index] = false; + this.drawSeries(); + } + }, + + + getLegendColor: function(index) { + var me = this; + return me.colorArrayStyle[index % me.colorArrayStyle.length]; + } +}); + + + +Ext.define('Ext.chart.series.Line', { + + + + extend: 'Ext.chart.series.Cartesian', + + alternateClassName: ['Ext.chart.LineSeries', 'Ext.chart.LineChart'], + + requires: ['Ext.chart.axis.Axis', 'Ext.chart.Shape', 'Ext.draw.Draw', 'Ext.fx.Anim'], + + + + type: 'line', + + alias: 'series.line', + + + + + selectionTolerance: 20, + + + showMarkers: true, + + + markerConfig: {}, + + + style: {}, + + + smooth: false, + + + defaultSmoothness: 3, + + + fill: false, + + constructor: function(config) { + this.callParent(arguments); + var me = this, + surface = me.chart.surface, + shadow = me.chart.shadow, + i, l; + config.highlightCfg = Ext.Object.merge({ 'stroke-width': 3 }, config.highlightCfg); + Ext.apply(me, config, { + shadowAttributes: [{ + "stroke-width": 6, + "stroke-opacity": 0.05, + stroke: 'rgb(0, 0, 0)', + translate: { + x: 1, + y: 1 + } + }, { + "stroke-width": 4, + "stroke-opacity": 0.1, + stroke: 'rgb(0, 0, 0)', + translate: { + x: 1, + y: 1 + } + }, { + "stroke-width": 2, + "stroke-opacity": 0.15, + stroke: 'rgb(0, 0, 0)', + translate: { + x: 1, + y: 1 + } + }] + }); + me.group = surface.getGroup(me.seriesId); + if (me.showMarkers) { + me.markerGroup = surface.getGroup(me.seriesId + '-markers'); + } + if (shadow) { + for (i = 0, l = me.shadowAttributes.length; i < l; i++) { + me.shadowGroups.push(surface.getGroup(me.seriesId + '-shadows' + i)); + } + } + }, + + + shrink: function(xValues, yValues, size) { + + var len = xValues.length, + ratio = Math.floor(len / size), + i = 1, + xSum = 0, + ySum = 0, + xRes = [+xValues[0]], + yRes = [+yValues[0]]; + + for (; i < len; ++i) { + xSum += +xValues[i] || 0; + ySum += +yValues[i] || 0; + if (i % ratio == 0) { + xRes.push(xSum/ratio); + yRes.push(ySum/ratio); + xSum = 0; + ySum = 0; + } + } + return { + x: xRes, + y: yRes + }; + }, + + + drawSeries: function() { + var me = this, + chart = me.chart, + chartAxes = chart.axes, + store = chart.getChartStore(), + data = store.data.items, + record, + storeCount = store.getCount(), + surface = me.chart.surface, + bbox = {}, + group = me.group, + showMarkers = me.showMarkers, + markerGroup = me.markerGroup, + enableShadows = chart.shadow, + shadowGroups = me.shadowGroups, + shadowAttributes = me.shadowAttributes, + smooth = me.smooth, + lnsh = shadowGroups.length, + dummyPath = ["M"], + path = ["M"], + renderPath = ["M"], + smoothPath = ["M"], + markerIndex = chart.markerIndex, + axes = [].concat(me.axis), + shadowBarAttr, + xValues = [], + xValueMap = {}, + yValues = [], + yValueMap = {}, + onbreak = false, + storeIndices = [], + markerStyle = me.markerStyle, + seriesStyle = me.seriesStyle, + colorArrayStyle = me.colorArrayStyle, + colorArrayLength = colorArrayStyle && colorArrayStyle.length || 0, + isNumber = Ext.isNumber, + seriesIdx = me.seriesIdx, + boundAxes = me.getAxesForXAndYFields(), + boundXAxis = boundAxes.xAxis, + boundYAxis = boundAxes.yAxis, + shadows, shadow, shindex, fromPath, fill, fillPath, rendererAttributes, + x, y, prevX, prevY, firstX, firstY, markerCount, i, j, ln, axis, ends, marker, markerAux, item, xValue, + yValue, coords, xScale, yScale, minX, maxX, minY, maxY, line, animation, endMarkerStyle, + endLineStyle, type, count, opacity, lineOpacity, fillOpacity, fillDefaultValue; + + if (me.fireEvent('beforedraw', me) === false) { + return; + } + + + if (!storeCount || me.seriesIsHidden) { + me.hide(); + me.items = []; + if (me.line) { + me.line.hide(true); + if (me.line.shadows) { + shadows = me.line.shadows; + for (j = 0, lnsh = shadows.length; j < lnsh; j++) { + shadow = shadows[j]; + shadow.hide(true); + } + } + if (me.fillPath) { + me.fillPath.hide(true); + } + } + me.line = null; + me.fillPath = null; + return; + } + + + endMarkerStyle = Ext.apply(markerStyle || {}, me.markerConfig, { + fill: me.seriesStyle.fill || colorArrayStyle[seriesIdx % colorArrayStyle.length] + }); + type = endMarkerStyle.type; + delete endMarkerStyle.type; + endLineStyle = seriesStyle; + + + if (!endLineStyle['stroke-width']) { + endLineStyle['stroke-width'] = 0.5; + } + + + opacity = 'opacity' in endLineStyle ? endLineStyle.opacity : 1; + fillDefaultValue = 'opacity' in endLineStyle ? endLineStyle.opacity : 0.3; + lineOpacity = 'lineOpacity' in endLineStyle ? endLineStyle.lineOpacity : opacity; + fillOpacity = 'fillOpacity' in endLineStyle ? endLineStyle.fillOpacity : fillDefaultValue; + + + + if (markerIndex && markerGroup && markerGroup.getCount()) { + for (i = 0; i < markerIndex; i++) { + marker = markerGroup.getAt(i); + markerGroup.remove(marker); + markerGroup.add(marker); + markerAux = markerGroup.getAt(markerGroup.getCount() - 2); + marker.setAttributes({ + x: 0, + y: 0, + translate: { + x: markerAux.attr.translation.x, + y: markerAux.attr.translation.y + } + }, true); + } + } + + me.unHighlightItem(); + me.cleanHighlights(); + + me.setBBox(); + bbox = me.bbox; + me.clipRect = [bbox.x, bbox.y, bbox.width, bbox.height]; + + if (axis = chartAxes.get(boundXAxis)) { + ends = axis.applyData(); + minX = ends.from; + maxX = ends.to; + } + + if (axis = chartAxes.get(boundYAxis)) { + ends = axis.applyData(); + minY = ends.from; + maxY = ends.to; + } + + + if (me.xField && !Ext.isNumber(minX)) { + axis = me.getMinMaxXValues(); + minX = axis[0]; + maxX = axis[1]; + } + + if (me.yField && !Ext.isNumber(minY)) { + axis = me.getMinMaxYValues(); + minY = axis[0]; + maxY = axis[1]; + } + + if (isNaN(minX)) { + minX = 0; + xScale = bbox.width / ((storeCount - 1) || 1); + } + else { + xScale = bbox.width / ((maxX - minX) || (storeCount -1) || 1); + } + + if (isNaN(minY)) { + minY = 0; + yScale = bbox.height / ((storeCount - 1) || 1); + } + else { + yScale = bbox.height / ((maxY - minY) || (storeCount - 1) || 1); + } + + for (i = 0, ln = data.length; i < ln; i++) { + record = data[i]; + xValue = record.get(me.xField); + + + if (typeof xValue == 'string' || typeof xValue == 'object' && !Ext.isDate(xValue) + + || boundXAxis && chartAxes.get(boundXAxis) && chartAxes.get(boundXAxis).type == 'Category') { + if (xValue in xValueMap) { + xValue = xValueMap[xValue]; + } else { + xValue = xValueMap[xValue] = i; + } + } + + + yValue = record.get(me.yField); + + if (typeof yValue == 'undefined' || (typeof yValue == 'string' && !yValue)) { + continue; + } + + if (typeof yValue == 'string' || typeof yValue == 'object' && !Ext.isDate(yValue) + + || boundYAxis && chartAxes.get(boundYAxis) && chartAxes.get(boundYAxis).type == 'Category') { + yValue = i; + } + storeIndices.push(i); + xValues.push(xValue); + yValues.push(yValue); + } + + ln = xValues.length; + if (ln > bbox.width) { + coords = me.shrink(xValues, yValues, bbox.width); + xValues = coords.x; + yValues = coords.y; + } + + me.items = []; + + count = 0; + ln = xValues.length; + for (i = 0; i < ln; i++) { + xValue = xValues[i]; + yValue = yValues[i]; + if (yValue === false) { + if (path.length == 1) { + path = []; + } + onbreak = true; + me.items.push(false); + continue; + } else { + x = (bbox.x + (xValue - minX) * xScale).toFixed(2); + y = ((bbox.y + bbox.height) - (yValue - minY) * yScale).toFixed(2); + if (onbreak) { + onbreak = false; + path.push('M'); + } + path = path.concat([x, y]); + } + if ((typeof firstY == 'undefined') && (typeof y != 'undefined')) { + firstY = y; + firstX = x; + } + + if (!me.line || chart.resizing) { + dummyPath = dummyPath.concat([x, bbox.y + bbox.height / 2]); + } + + + if (chart.animate && chart.resizing && me.line) { + me.line.setAttributes({ + path: dummyPath, + opacity: lineOpacity + }, true); + if (me.fillPath) { + me.fillPath.setAttributes({ + path: dummyPath, + opacity: fillOpacity + }, true); + } + if (me.line.shadows) { + shadows = me.line.shadows; + for (j = 0, lnsh = shadows.length; j < lnsh; j++) { + shadow = shadows[j]; + shadow.setAttributes({ + path: dummyPath + }, true); + } + } + } + if (showMarkers) { + marker = markerGroup.getAt(count++); + if (!marker) { + marker = Ext.chart.Shape[type](surface, Ext.apply({ + group: [group, markerGroup], + x: 0, y: 0, + translate: { + x: +(prevX || x), + y: prevY || (bbox.y + bbox.height / 2) + }, + value: '"' + xValue + ', ' + yValue + '"', + zIndex: 4000 + }, endMarkerStyle)); + marker._to = { + translate: { + x: +x, + y: +y + } + }; + } else { + marker.setAttributes({ + value: '"' + xValue + ', ' + yValue + '"', + x: 0, y: 0, + hidden: false + }, true); + marker._to = { + translate: { + x: +x, + y: +y + } + }; + } + } + me.items.push({ + series: me, + value: [xValue, yValue], + point: [x, y], + sprite: marker, + storeItem: store.getAt(storeIndices[i]) + }); + prevX = x; + prevY = y; + } + + if (path.length <= 1) { + + return; + } + + if (me.smooth) { + smoothPath = Ext.draw.Draw.smooth(path, isNumber(smooth) ? smooth : me.defaultSmoothness); + } + + renderPath = smooth ? smoothPath : path; + + + if (chart.markerIndex && me.previousPath) { + fromPath = me.previousPath; + if (!smooth) { + Ext.Array.erase(fromPath, 1, 2); + } + } else { + fromPath = path; + } + + + if (!me.line) { + me.line = surface.add(Ext.apply({ + type: 'path', + group: group, + path: dummyPath, + stroke: endLineStyle.stroke || endLineStyle.fill + }, endLineStyle || {})); + + + me.line.setAttributes({ + opacity: lineOpacity + }, true); + + if (enableShadows) { + me.line.setAttributes(Ext.apply({}, me.shadowOptions), true); + } + + + me.line.setAttributes({ + fill: 'none', + zIndex: 3000 + }); + if (!endLineStyle.stroke && colorArrayLength) { + me.line.setAttributes({ + stroke: colorArrayStyle[seriesIdx % colorArrayLength] + }, true); + } + if (enableShadows) { + + shadows = me.line.shadows = []; + for (shindex = 0; shindex < lnsh; shindex++) { + shadowBarAttr = shadowAttributes[shindex]; + shadowBarAttr = Ext.apply({}, shadowBarAttr, { path: dummyPath }); + shadow = surface.add(Ext.apply({}, { + type: 'path', + group: shadowGroups[shindex] + }, shadowBarAttr)); + shadows.push(shadow); + } + } + } + if (me.fill) { + fillPath = renderPath.concat([ + ["L", x, bbox.y + bbox.height], + ["L", firstX, bbox.y + bbox.height], + ["L", firstX, firstY] + ]); + if (!me.fillPath) { + me.fillPath = surface.add({ + group: group, + type: 'path', + fill: endLineStyle.fill || colorArrayStyle[seriesIdx % colorArrayLength], + path: dummyPath + }); + } + } + markerCount = showMarkers && markerGroup.getCount(); + if (chart.animate) { + fill = me.fill; + line = me.line; + + rendererAttributes = me.renderer(line, false, { path: renderPath }, i, store); + Ext.apply(rendererAttributes, endLineStyle || {}, { + stroke: endLineStyle.stroke || endLineStyle.fill + }); + + delete rendererAttributes.fill; + line.show(true); + if (chart.markerIndex && me.previousPath) { + me.animation = animation = me.onAnimate(line, { + to: rendererAttributes, + from: { + path: fromPath + } + }); + } else { + me.animation = animation = me.onAnimate(line, { + to: rendererAttributes + }); + } + + if (enableShadows) { + shadows = line.shadows; + for(j = 0; j < lnsh; j++) { + shadows[j].show(true); + if (chart.markerIndex && me.previousPath) { + me.onAnimate(shadows[j], { + to: { path: renderPath }, + from: { path: fromPath } + }); + } else { + me.onAnimate(shadows[j], { + to: { path: renderPath } + }); + } + } + } + + if (fill) { + me.fillPath.show(true); + me.onAnimate(me.fillPath, { + to: Ext.apply({}, { + path: fillPath, + fill: endLineStyle.fill || colorArrayStyle[seriesIdx % colorArrayLength], + 'stroke-width': 0, + opacity: fillOpacity + }, endLineStyle || {}) + }); + } + + if (showMarkers) { + count = 0; + for(i = 0; i < ln; i++) { + if (me.items[i]) { + item = markerGroup.getAt(count++); + if (item) { + rendererAttributes = me.renderer(item, store.getAt(i), item._to, i, store); + me.onAnimate(item, { + to: Ext.apply(rendererAttributes, endMarkerStyle || {}) + }); + item.show(true); + } + } + } + for(; count < markerCount; count++) { + item = markerGroup.getAt(count); + item.hide(true); + } + + + + + } + } else { + rendererAttributes = me.renderer(me.line, false, { path: renderPath, hidden: false }, i, store); + Ext.apply(rendererAttributes, endLineStyle || {}, { + stroke: endLineStyle.stroke || endLineStyle.fill + }); + + delete rendererAttributes.fill; + me.line.setAttributes(rendererAttributes, true); + me.line.setAttributes({ + opacity: lineOpacity + }, true); + + if (enableShadows) { + shadows = me.line.shadows; + for(j = 0; j < lnsh; j++) { + shadows[j].setAttributes({ + path: renderPath, + hidden: false + }, true); + } + } + if (me.fill) { + me.fillPath.setAttributes({ + path: fillPath, + hidden: false, + opacity: fillOpacity + }, true); + } + if (showMarkers) { + count = 0; + for(i = 0; i < ln; i++) { + if (me.items[i]) { + item = markerGroup.getAt(count++); + if (item) { + rendererAttributes = me.renderer(item, store.getAt(i), item._to, i, store); + item.setAttributes(Ext.apply(endMarkerStyle || {}, rendererAttributes || {}), true); + if (!item.attr.hidden) { + item.show(true); + } + } + } + } + for(; count < markerCount; count++) { + item = markerGroup.getAt(count); + item.hide(true); + } + } + } + + if (chart.markerIndex) { + if (me.smooth) { + Ext.Array.erase(path, 1, 2); + } else { + Ext.Array.splice(path, 1, 0, path[1], path[2]); + } + me.previousPath = path; + } + me.renderLabels(); + me.renderCallouts(); + + me.fireEvent('draw', me); + }, + + + onCreateLabel: function(storeItem, item, i, display) { + var me = this, + group = me.labelsGroup, + config = me.label, + bbox = me.bbox, + endLabelStyle = Ext.apply(config, me.seriesLabelStyle); + + return me.chart.surface.add(Ext.apply({ + 'type': 'text', + 'text-anchor': 'middle', + 'group': group, + 'x': item.point[0], + 'y': bbox.y + bbox.height / 2 + }, endLabelStyle || {})); + }, + + + onPlaceLabel: function(label, storeItem, item, i, display, animate) { + var me = this, + chart = me.chart, + resizing = chart.resizing, + config = me.label, + format = config.renderer, + field = config.field, + bbox = me.bbox, + x = item.point[0], + y = item.point[1], + radius = item.sprite.attr.radius, + bb, width, height; + + label.setAttributes({ + text: format(storeItem.get(field)), + hidden: true + }, true); + + if (display == 'rotate') { + label.setAttributes({ + 'text-anchor': 'start', + 'rotation': { + x: x, + y: y, + degrees: -45 + } + }, true); + + bb = label.getBBox(); + width = bb.width; + height = bb.height; + x = x < bbox.x? bbox.x : x; + x = (x + width > bbox.x + bbox.width)? (x - (x + width - bbox.x - bbox.width)) : x; + y = (y - height < bbox.y)? bbox.y + height : y; + + } else if (display == 'under' || display == 'over') { + + bb = item.sprite.getBBox(); + bb.width = bb.width || (radius * 2); + bb.height = bb.height || (radius * 2); + y = y + (display == 'over'? -bb.height : bb.height); + + bb = label.getBBox(); + width = bb.width/2; + height = bb.height/2; + x = x - width < bbox.x? bbox.x + width : x; + x = (x + width > bbox.x + bbox.width) ? (x - (x + width - bbox.x - bbox.width)) : x; + y = y - height < bbox.y? bbox.y + height : y; + y = (y + height > bbox.y + bbox.height) ? (y - (y + height - bbox.y - bbox.height)) : y; + } + + if (me.chart.animate && !me.chart.resizing) { + label.show(true); + me.onAnimate(label, { + to: { + x: x, + y: y + } + }); + } else { + label.setAttributes({ + x: x, + y: y + }, true); + if (resizing && me.animation) { + me.animation.on('afteranimate', function() { + label.show(true); + }); + } else { + label.show(true); + } + } + }, + + + highlightItem: function() { + var me = this; + me.callParent(arguments); + if (me.line && !me.highlighted) { + if (!('__strokeWidth' in me.line)) { + me.line.__strokeWidth = parseFloat(me.line.attr['stroke-width']) || 0; + } + if (me.line.__anim) { + me.line.__anim.paused = true; + } + me.line.__anim = Ext.create('Ext.fx.Anim', { + target: me.line, + to: { + 'stroke-width': me.line.__strokeWidth + 3 + } + }); + me.highlighted = true; + } + }, + + + unHighlightItem: function() { + var me = this; + me.callParent(arguments); + if (me.line && me.highlighted) { + me.line.__anim = Ext.create('Ext.fx.Anim', { + target: me.line, + to: { + 'stroke-width': me.line.__strokeWidth + } + }); + me.highlighted = false; + } + }, + + + onPlaceCallout : function(callout, storeItem, item, i, display, animate, index) { + if (!display) { + return; + } + + var me = this, + chart = me.chart, + surface = chart.surface, + resizing = chart.resizing, + config = me.callouts, + items = me.items, + prev = i == 0? false : items[i -1].point, + next = (i == items.length -1)? false : items[i +1].point, + cur = [+item.point[0], +item.point[1]], + dir, norm, normal, a, aprev, anext, + offsetFromViz = config.offsetFromViz || 30, + offsetToSide = config.offsetToSide || 10, + offsetBox = config.offsetBox || 3, + boxx, boxy, boxw, boxh, + p, clipRect = me.clipRect, + bbox = { + width: config.styles.width || 10, + height: config.styles.height || 10 + }, + x, y; + + + if (!prev) { + prev = cur; + } + if (!next) { + next = cur; + } + a = (next[1] - prev[1]) / (next[0] - prev[0]); + aprev = (cur[1] - prev[1]) / (cur[0] - prev[0]); + anext = (next[1] - cur[1]) / (next[0] - cur[0]); + + norm = Math.sqrt(1 + a * a); + dir = [1 / norm, a / norm]; + normal = [-dir[1], dir[0]]; + + + if (aprev > 0 && anext < 0 && normal[1] < 0 + || aprev < 0 && anext > 0 && normal[1] > 0) { + normal[0] *= -1; + normal[1] *= -1; + } else if (Math.abs(aprev) < Math.abs(anext) && normal[0] < 0 + || Math.abs(aprev) > Math.abs(anext) && normal[0] > 0) { + normal[0] *= -1; + normal[1] *= -1; + } + + x = cur[0] + normal[0] * offsetFromViz; + y = cur[1] + normal[1] * offsetFromViz; + + + boxx = x + (normal[0] > 0? 0 : -(bbox.width + 2 * offsetBox)); + boxy = y - bbox.height /2 - offsetBox; + boxw = bbox.width + 2 * offsetBox; + boxh = bbox.height + 2 * offsetBox; + + + + if (boxx < clipRect[0] || (boxx + boxw) > (clipRect[0] + clipRect[2])) { + normal[0] *= -1; + } + if (boxy < clipRect[1] || (boxy + boxh) > (clipRect[1] + clipRect[3])) { + normal[1] *= -1; + } + + + x = cur[0] + normal[0] * offsetFromViz; + y = cur[1] + normal[1] * offsetFromViz; + + + boxx = x + (normal[0] > 0? 0 : -(bbox.width + 2 * offsetBox)); + boxy = y - bbox.height /2 - offsetBox; + boxw = bbox.width + 2 * offsetBox; + boxh = bbox.height + 2 * offsetBox; + + if (chart.animate) { + + me.onAnimate(callout.lines, { + to: { + path: ["M", cur[0], cur[1], "L", x, y, "Z"] + } + }); + + if (callout.panel) { + callout.panel.setPosition(boxx, boxy, true); + } + } + else { + + callout.lines.setAttributes({ + path: ["M", cur[0], cur[1], "L", x, y, "Z"] + }, true); + + if (callout.panel) { + callout.panel.setPosition(boxx, boxy); + } + } + for (p in callout) { + callout[p].show(true); + } + }, + + isItemInPoint: function(x, y, item, i) { + var me = this, + items = me.items, + tolerance = me.selectionTolerance, + result = null, + prevItem, + nextItem, + prevPoint, + nextPoint, + ln, + x1, + y1, + x2, + y2, + xIntersect, + yIntersect, + dist1, dist2, dist, midx, midy, + sqrt = Math.sqrt, abs = Math.abs; + + nextItem = items[i]; + prevItem = i && items[i - 1]; + + if (i >= ln) { + prevItem = items[ln - 1]; + } + prevPoint = prevItem && prevItem.point; + nextPoint = nextItem && nextItem.point; + x1 = prevItem ? prevPoint[0] : nextPoint[0] - tolerance; + y1 = prevItem ? prevPoint[1] : nextPoint[1]; + x2 = nextItem ? nextPoint[0] : prevPoint[0] + tolerance; + y2 = nextItem ? nextPoint[1] : prevPoint[1]; + dist1 = sqrt((x - x1) * (x - x1) + (y - y1) * (y - y1)); + dist2 = sqrt((x - x2) * (x - x2) + (y - y2) * (y - y2)); + dist = Math.min(dist1, dist2); + + if (dist <= tolerance) { + return dist == dist1? prevItem : nextItem; + } + return false; + }, + + + toggleAll: function(show) { + var me = this, + i, ln, shadow, shadows; + if (!show) { + Ext.chart.series.Cartesian.prototype.hideAll.call(me); + } + else { + Ext.chart.series.Cartesian.prototype.showAll.call(me); + } + if (me.line) { + me.line.setAttributes({ + hidden: !show + }, true); + + if (me.line.shadows) { + for (i = 0, shadows = me.line.shadows, ln = shadows.length; i < ln; i++) { + shadow = shadows[i]; + shadow.setAttributes({ + hidden: !show + }, true); + } + } + } + if (me.fillPath) { + me.fillPath.setAttributes({ + hidden: !show + }, true); + } + }, + + + hideAll: function() { + this.toggleAll(false); + }, + + + showAll: function() { + this.toggleAll(true); + } +}); + + +Ext.define('Ext.chart.series.Pie', { + + + + alternateClassName: ['Ext.chart.PieSeries', 'Ext.chart.PieChart'], + + extend: 'Ext.chart.series.Series', + + + + type: "pie", + + alias: 'series.pie', + + accuracy: 100000, + + rad: Math.PI * 2 / 100000, + + + highlightDuration: 150, + + + angleField: false, + + + + + + + lengthField: false, + + + donut: false, + + + showInLegend: false, + + + + + style: {}, + + constructor: function(config) { + this.callParent(arguments); + var me = this, + chart = me.chart, + surface = chart.surface, + store = chart.store, + shadow = chart.shadow, i, l, cfg; + config.highlightCfg = Ext.merge({ + segment: { + margin: 20 + } + }, config.highlightCfg); + Ext.apply(me, config, { + shadowAttributes: [{ + "stroke-width": 6, + "stroke-opacity": 1, + stroke: 'rgb(200, 200, 200)', + translate: { + x: 1.2, + y: 2 + } + }, + { + "stroke-width": 4, + "stroke-opacity": 1, + stroke: 'rgb(150, 150, 150)', + translate: { + x: 0.9, + y: 1.5 + } + }, + { + "stroke-width": 2, + "stroke-opacity": 1, + stroke: 'rgb(100, 100, 100)', + translate: { + x: 0.6, + y: 1 + } + }] + }); + me.group = surface.getGroup(me.seriesId); + if (shadow) { + for (i = 0, l = me.shadowAttributes.length; i < l; i++) { + me.shadowGroups.push(surface.getGroup(me.seriesId + '-shadows' + i)); + } + } + surface.customAttributes.segment = function(opt) { + + + + var ans = me.getSegment(opt); + if (!ans.path || ans.path.length === 0) { + ans.path = ['M', 0, 0]; + } + return ans; + }; + me.__excludes = me.__excludes || []; + }, + + + initialize: function() { + var me = this, + store = me.chart.getChartStore(), + data = store.data.items, + i, ln, rec; + + me.yField = []; + if (me.label.field) { + for (i = 0, ln = data.length; i < ln; i++) { + rec = data[i]; + me.yField.push(rec.get(me.label.field)); + } + } + }, + + + getSegment: function(opt) { + var me = this, + rad = me.rad, + cos = Math.cos, + sin = Math.sin, + x = me.centerX, + y = me.centerY, + x1 = 0, x2 = 0, x3 = 0, x4 = 0, + y1 = 0, y2 = 0, y3 = 0, y4 = 0, + x5 = 0, y5 = 0, x6 = 0, y6 = 0, + delta = 1e-2, + startAngle = opt.startAngle, + endAngle = opt.endAngle, + midAngle = (startAngle + endAngle) / 2 * rad, + margin = opt.margin || 0, + a1 = Math.min(startAngle, endAngle) * rad, + a2 = Math.max(startAngle, endAngle) * rad, + c1 = cos(a1), s1 = sin(a1), + c2 = cos(a2), s2 = sin(a2), + cm = cos(midAngle), sm = sin(midAngle), + flag = 0, hsqr2 = 0.7071067811865476; + + if (a2 - a1 < delta) { + return {path: ""}; + } + + if (margin !== 0) { + x += margin * cm; + y += margin * sm; + } + + x2 = x + opt.endRho * c1; + y2 = y + opt.endRho * s1; + + x4 = x + opt.endRho * c2; + y4 = y + opt.endRho * s2; + + x6 = x + opt.endRho * cm; + y6 = y + opt.endRho * sm; + + if (opt.startRho !== 0) { + x1 = x + opt.startRho * c1; + y1 = y + opt.startRho * s1; + + x3 = x + opt.startRho * c2; + y3 = y + opt.startRho * s2; + + x5 = x + opt.startRho * cm; + y5 = y + opt.startRho * sm; + + return { + path: [ + ["M", x2, y2], + ["A", opt.endRho, opt.endRho, 0, 0, 1, x6, y6], ["L", x6, y6], + ["A", opt.endRho, opt.endRho, 0, flag, 1, x4, y4], ["L", x4, y4], + ["L", x3, y3], + ["A", opt.startRho, opt.startRho, 0, flag, 0, x5, y5], ["L", x5, y5], + ["A", opt.startRho, opt.startRho, 0, 0, 0, x1, y1], ["L", x1, y1], + ["Z"] + ] + }; + } else { + return { + path: [ + ["M", x, y], + ["L", x2, y2], + ["A", opt.endRho, opt.endRho, 0, 0, 1, x6, y6], ["L", x6, y6], + ["A", opt.endRho, opt.endRho, 0, flag, 1, x4, y4], ["L", x4, y4], + ["L", x, y], + ["Z"] + ] + }; + } + }, + + + calcMiddle: function(item) { + var me = this, + rad = me.rad, + slice = item.slice, + x = me.centerX, + y = me.centerY, + startAngle = slice.startAngle, + endAngle = slice.endAngle, + donut = +me.donut, + midAngle = -(startAngle + endAngle) * rad / 2, + r = (item.endRho + item.startRho) / 2, + xm = x + r * Math.cos(midAngle), + ym = y - r * Math.sin(midAngle); + + item.middle = { + x: xm, + y: ym + }; + }, + + + drawSeries: function() { + var me = this, + store = me.chart.getChartStore(), + data = store.data.items, + record, + group = me.group, + animate = me.chart.animate, + field = me.angleField || me.field || me.xField, + lenField = [].concat(me.lengthField), + totalLenField = 0, + chart = me.chart, + surface = chart.surface, + chartBBox = chart.chartBBox, + enableShadows = chart.shadow, + shadowGroups = me.shadowGroups, + shadowAttributes = me.shadowAttributes, + lnsh = shadowGroups.length, + layers = lenField.length, + rhoAcum = 0, + donut = +me.donut, + layerTotals = [], + items = [], + totalField = 0, + maxLenField = 0, + angle = 0, + seriesStyle = me.seriesStyle, + colorArrayStyle = me.colorArrayStyle, + colorArrayLength = colorArrayStyle && colorArrayStyle.length || 0, + rendererAttributes, + shadowAttr, + shadows, + shadow, + shindex, + centerX, + centerY, + deltaRho, + first = 0, + slice, + slices, + sprite, + value, + item, + lenValue, + ln, + i, + j, + endAngle, + path, + p, + spriteOptions, bbox; + + Ext.apply(seriesStyle, me.style || {}); + + me.setBBox(); + bbox = me.bbox; + + + if (me.colorSet) { + colorArrayStyle = me.colorSet; + colorArrayLength = colorArrayStyle.length; + } + + + if (!store || !store.getCount() || me.seriesIsHidden) { + me.hide(); + me.items = []; + return; + } + + me.unHighlightItem(); + me.cleanHighlights(); + + centerX = me.centerX = chartBBox.x + (chartBBox.width / 2); + centerY = me.centerY = chartBBox.y + (chartBBox.height / 2); + me.radius = Math.min(centerX - chartBBox.x, centerY - chartBBox.y); + me.slices = slices = []; + me.items = items = []; + + for (i = 0, ln = data.length; i < ln; i++) { + record = data[i]; + if (this.__excludes && this.__excludes[i]) { + + continue; + } + totalField += +record.get(field); + if (lenField[0]) { + for (j = 0, totalLenField = 0; j < layers; j++) { + totalLenField += +record.get(lenField[j]); + } + layerTotals[i] = totalLenField; + maxLenField = Math.max(maxLenField, totalLenField); + } + } + + totalField = totalField || 1; + for (i = 0, ln = data.length; i < ln; i++) { + record = data[i]; + if (this.__excludes && this.__excludes[i]) { + value = 0; + } else { + value = record.get(field); + if (first == 0) { + first = 1; + } + } + + + if (first == 1) { + first = 2; + me.firstAngle = angle = me.accuracy * value / totalField / 2; + for (j = 0; j < i; j++) { + slices[j].startAngle = slices[j].endAngle = me.firstAngle; + } + } + + endAngle = angle - me.accuracy * value / totalField; + slice = { + series: me, + value: value, + startAngle: angle, + endAngle: endAngle, + storeItem: record + }; + if (lenField[0]) { + lenValue = +layerTotals[i]; + + slice.rho = Math.floor(me.radius / maxLenField * lenValue); + } else { + slice.rho = me.radius; + } + slices[i] = slice; + + (function () { + angle = endAngle; + })(); + } + + + if (enableShadows) { + for (i = 0, ln = slices.length; i < ln; i++) { + slice = slices[i]; + slice.shadowAttrs = []; + for (j = 0, rhoAcum = 0, shadows = []; j < layers; j++) { + sprite = group.getAt(i * layers + j); + deltaRho = lenField[j] ? store.getAt(i).get(lenField[j]) / layerTotals[i] * slice.rho: slice.rho; + + rendererAttributes = { + segment: { + startAngle: slice.startAngle, + endAngle: slice.endAngle, + margin: 0, + rho: slice.rho, + startRho: rhoAcum + (deltaRho * donut / 100), + endRho: rhoAcum + deltaRho + }, + hidden: !slice.value && (slice.startAngle % me.accuracy) == (slice.endAngle % me.accuracy) + }; + + for (shindex = 0, shadows = []; shindex < lnsh; shindex++) { + shadowAttr = shadowAttributes[shindex]; + shadow = shadowGroups[shindex].getAt(i); + if (!shadow) { + shadow = chart.surface.add(Ext.apply({}, { + type: 'path', + group: shadowGroups[shindex], + strokeLinejoin: "round" + }, rendererAttributes, shadowAttr)); + } + shadowAttr = me.renderer(shadow, store.getAt(i), Ext.apply({}, rendererAttributes, shadowAttr), i, store); + if (animate) { + me.onAnimate(shadow, { + to: shadowAttr + }); + } else { + shadow.setAttributes(shadowAttr, true); + } + shadows.push(shadow); + } + slice.shadowAttrs[j] = shadows; + } + } + } + + for (i = 0, ln = slices.length; i < ln; i++) { + slice = slices[i]; + for (j = 0, rhoAcum = 0; j < layers; j++) { + sprite = group.getAt(i * layers + j); + deltaRho = lenField[j] ? store.getAt(i).get(lenField[j]) / layerTotals[i] * slice.rho: slice.rho; + + rendererAttributes = Ext.apply({ + segment: { + startAngle: slice.startAngle, + endAngle: slice.endAngle, + margin: 0, + rho: slice.rho, + startRho: rhoAcum + (deltaRho * donut / 100), + endRho: rhoAcum + deltaRho + }, + hidden: (!slice.value && (slice.startAngle % me.accuracy) == (slice.endAngle % me.accuracy)) + }, Ext.apply(seriesStyle, colorArrayStyle && { fill: colorArrayStyle[(layers > 1? j : i) % colorArrayLength] } || {})); + item = Ext.apply({}, + rendererAttributes.segment, { + slice: slice, + series: me, + storeItem: slice.storeItem, + index: i + }); + me.calcMiddle(item); + if (enableShadows) { + item.shadows = slice.shadowAttrs[j]; + } + items[i] = item; + + if (!sprite) { + spriteOptions = Ext.apply({ + type: "path", + group: group, + middle: item.middle + }, Ext.apply(seriesStyle, colorArrayStyle && { fill: colorArrayStyle[(layers > 1? j : i) % colorArrayLength] } || {})); + sprite = surface.add(Ext.apply(spriteOptions, rendererAttributes)); + } + slice.sprite = slice.sprite || []; + item.sprite = sprite; + slice.sprite.push(sprite); + slice.point = [item.middle.x, item.middle.y]; + if (animate) { + rendererAttributes = me.renderer(sprite, store.getAt(i), rendererAttributes, i, store); + sprite._to = rendererAttributes; + sprite._animating = true; + me.onAnimate(sprite, { + to: rendererAttributes, + listeners: { + afteranimate: { + fn: function() { + this._animating = false; + }, + scope: sprite + } + } + }); + } else { + rendererAttributes = me.renderer(sprite, store.getAt(i), Ext.apply(rendererAttributes, { + hidden: false + }), i, store); + sprite.setAttributes(rendererAttributes, true); + } + rhoAcum += deltaRho; + } + } + + + ln = group.getCount(); + for (i = 0; i < ln; i++) { + if (!slices[(i / layers) >> 0] && group.getAt(i)) { + group.getAt(i).hide(true); + } + } + if (enableShadows) { + lnsh = shadowGroups.length; + for (shindex = 0; shindex < ln; shindex++) { + if (!slices[(shindex / layers) >> 0]) { + for (j = 0; j < lnsh; j++) { + if (shadowGroups[j].getAt(shindex)) { + shadowGroups[j].getAt(shindex).hide(true); + } + } + } + } + } + me.renderLabels(); + me.renderCallouts(); + }, + + + onCreateLabel: function(storeItem, item, i, display) { + var me = this, + group = me.labelsGroup, + config = me.label, + centerX = me.centerX, + centerY = me.centerY, + middle = item.middle, + endLabelStyle = Ext.apply(me.seriesLabelStyle || {}, config || {}); + + return me.chart.surface.add(Ext.apply({ + 'type': 'text', + 'text-anchor': 'middle', + 'group': group, + 'x': middle.x, + 'y': middle.y + }, endLabelStyle)); + }, + + + onPlaceLabel: function(label, storeItem, item, i, display, animate, index) { + var me = this, + chart = me.chart, + resizing = chart.resizing, + config = me.label, + format = config.renderer, + field = [].concat(config.field), + centerX = me.centerX, + centerY = me.centerY, + middle = item.middle, + opt = { + x: middle.x, + y: middle.y + }, + x = middle.x - centerX, + y = middle.y - centerY, + from = {}, + rho = 1, + theta = Math.atan2(y, x || 1), + dg = theta * 180 / Math.PI, + prevDg; + + opt.hidden = false; + + if (this.__excludes && this.__excludes[i]) { + opt.hidden = true; + } + + function fixAngle(a) { + if (a < 0) { + a += 360; + } + return a % 360; + } + + label.setAttributes({ + text: format(storeItem.get(field[index])) + }, true); + + switch (display) { + case 'outside': + rho = Math.sqrt(x * x + y * y) * 2; + + opt.x = rho * Math.cos(theta) + centerX; + opt.y = rho * Math.sin(theta) + centerY; + break; + + case 'rotate': + dg = fixAngle(dg); + dg = (dg > 90 && dg < 270) ? dg + 180: dg; + + prevDg = label.attr.rotation.degrees; + if (prevDg != null && Math.abs(prevDg - dg) > 180 * 0.5) { + if (dg > prevDg) { + dg -= 360; + } else { + dg += 360; + } + dg = dg % 360; + } else { + dg = fixAngle(dg); + } + + opt.rotate = { + degrees: dg, + x: opt.x, + y: opt.y + }; + break; + + default: + break; + } + + opt.translate = { + x: 0, y: 0 + }; + if (animate && !resizing && (display != 'rotate' || prevDg != null)) { + me.onAnimate(label, { + to: opt + }); + } else { + label.setAttributes(opt, true); + } + label._from = from; + }, + + + onPlaceCallout: function(callout, storeItem, item, i, display, animate, index) { + var me = this, + chart = me.chart, + centerX = me.centerX, + centerY = me.centerY, + middle = item.middle, + opt = { + x: middle.x, + y: middle.y + }, + x = middle.x - centerX, + y = middle.y - centerY, + rho = 1, + rhoCenter, + theta = Math.atan2(y, x || 1), + bbox = callout.label.getBBox(), + offsetFromViz = 20, + offsetToSide = 10, + offsetBox = 10, + p; + + + rho = item.endRho + offsetFromViz; + rhoCenter = (item.endRho + item.startRho) / 2 + (item.endRho - item.startRho) / 3; + + opt.x = rho * Math.cos(theta) + centerX; + opt.y = rho * Math.sin(theta) + centerY; + + x = rhoCenter * Math.cos(theta); + y = rhoCenter * Math.sin(theta); + + if (chart.animate) { + + me.onAnimate(callout.lines, { + to: { + path: ["M", x + centerX, y + centerY, "L", opt.x, opt.y, "Z", "M", opt.x, opt.y, "l", x > 0 ? offsetToSide: -offsetToSide, 0, "z"] + } + }); + + me.onAnimate(callout.box, { + to: { + x: opt.x + (x > 0 ? offsetToSide: -(offsetToSide + bbox.width + 2 * offsetBox)), + y: opt.y + (y > 0 ? ( - bbox.height - offsetBox / 2) : ( - bbox.height - offsetBox / 2)), + width: bbox.width + 2 * offsetBox, + height: bbox.height + 2 * offsetBox + } + }); + + me.onAnimate(callout.label, { + to: { + x: opt.x + (x > 0 ? (offsetToSide + offsetBox) : -(offsetToSide + bbox.width + offsetBox)), + y: opt.y + (y > 0 ? -bbox.height / 4: -bbox.height / 4) + } + }); + } else { + + callout.lines.setAttributes({ + path: ["M", x + centerX, y + centerY, "L", opt.x, opt.y, "Z", "M", opt.x, opt.y, "l", x > 0 ? offsetToSide: -offsetToSide, 0, "z"] + }, + true); + + callout.box.setAttributes({ + x: opt.x + (x > 0 ? offsetToSide: -(offsetToSide + bbox.width + 2 * offsetBox)), + y: opt.y + (y > 0 ? ( - bbox.height - offsetBox / 2) : ( - bbox.height - offsetBox / 2)), + width: bbox.width + 2 * offsetBox, + height: bbox.height + 2 * offsetBox + }, + true); + + callout.label.setAttributes({ + x: opt.x + (x > 0 ? (offsetToSide + offsetBox) : -(offsetToSide + bbox.width + offsetBox)), + y: opt.y + (y > 0 ? -bbox.height / 4: -bbox.height / 4) + }, + true); + } + for (p in callout) { + callout[p].show(true); + } + }, + + + onAnimate: function(sprite, attr) { + sprite.show(); + return this.callParent(arguments); + }, + + isItemInPoint: function(x, y, item, i) { + var me = this, + cx = me.centerX, + cy = me.centerY, + abs = Math.abs, + dx = abs(x - cx), + dy = abs(y - cy), + startAngle = item.startAngle, + endAngle = item.endAngle, + rho = Math.sqrt(dx * dx + dy * dy), + angle = Math.atan2(y - cy, x - cx) / me.rad; + + + if (angle > me.firstAngle) { + angle -= me.accuracy; + } + return (angle <= startAngle && angle > endAngle + && rho >= item.startRho && rho <= item.endRho); + }, + + + hideAll: function(index) { + var i, l, shadow, shadows, sh, lsh, sprite; + index = (isNaN(this._index) ? index : this._index) || 0; + this.__excludes = this.__excludes || []; + this.__excludes[index] = true; + sprite = this.slices[index].sprite; + for (sh = 0, lsh = sprite.length; sh < lsh; sh++) { + sprite[sh].setAttributes({ + hidden: true + }, true); + } + if (this.slices[index].shadowAttrs) { + for (i = 0, shadows = this.slices[index].shadowAttrs, l = shadows.length; i < l; i++) { + shadow = shadows[i]; + for (sh = 0, lsh = shadow.length; sh < lsh; sh++) { + shadow[sh].setAttributes({ + hidden: true + }, true); + } + } + } + this.drawSeries(); + }, + + + showAll: function(index) { + index = (isNaN(this._index) ? index : this._index) || 0; + this.__excludes[index] = false; + this.drawSeries(); + }, + + + highlightItem: function(item) { + var me = this, + rad = me.rad, + highlightSegment, + animate, + attrs, + i, + shadows, + shadow, + ln, + to, + itemHighlightSegment, + prop, + group, + display, + label, + middle, + r, + x, + y; + item = item || this.items[this._index]; + + + + + + this.unHighlightItem(); + + if (!item || me.animating || (item.sprite && item.sprite._animating)) { + return; + } + me.callParent([item]); + if (!me.highlight) { + return; + } + if ('segment' in me.highlightCfg) { + highlightSegment = me.highlightCfg.segment; + animate = me.chart.animate; + + if (me.labelsGroup) { + group = me.labelsGroup; + display = me.label.display; + label = group.getAt(item.index); + middle = (item.startAngle + item.endAngle) / 2 * rad; + r = highlightSegment.margin || 0; + x = r * Math.cos(middle); + y = r * Math.sin(middle); + + + + + + + if (Math.abs(x) < 1e-10) { + x = 0; + } + if (Math.abs(y) < 1e-10) { + y = 0; + } + + if (animate) { + label.stopAnimation(); + label.animate({ + to: { + translate: { + x: x, + y: y + } + }, + duration: me.highlightDuration + }); + } + else { + label.setAttributes({ + translate: { + x: x, + y: y + } + }, true); + } + } + + if (me.chart.shadow && item.shadows) { + i = 0; + shadows = item.shadows; + ln = shadows.length; + for (; i < ln; i++) { + shadow = shadows[i]; + to = {}; + itemHighlightSegment = item.sprite._from.segment; + for (prop in itemHighlightSegment) { + if (! (prop in highlightSegment)) { + to[prop] = itemHighlightSegment[prop]; + } + } + attrs = { + segment: Ext.applyIf(to, me.highlightCfg.segment) + }; + if (animate) { + shadow.stopAnimation(); + shadow.animate({ + to: attrs, + duration: me.highlightDuration + }); + } + else { + shadow.setAttributes(attrs, true); + } + } + } + } + }, + + + unHighlightItem: function() { + var me = this, + items, + animate, + shadowsEnabled, + group, + len, + i, + j, + display, + shadowLen, + p, + to, + ihs, + hs, + sprite, + shadows, + shadow, + item, + label, + attrs; + if (!me.highlight) { + return; + } + + if (('segment' in me.highlightCfg) && me.items) { + items = me.items; + animate = me.chart.animate; + shadowsEnabled = !!me.chart.shadow; + group = me.labelsGroup; + len = items.length; + i = 0; + j = 0; + display = me.label.display; + + for (; i < len; i++) { + item = items[i]; + if (!item) { + continue; + } + sprite = item.sprite; + if (sprite && sprite._highlighted) { + + if (group) { + label = group.getAt(item.index); + attrs = Ext.apply({ + translate: { + x: 0, + y: 0 + } + }, + display == 'rotate' ? { + rotate: { + x: label.attr.x, + y: label.attr.y, + degrees: label.attr.rotation.degrees + } + }: {}); + if (animate) { + label.stopAnimation(); + label.animate({ + to: attrs, + duration: me.highlightDuration + }); + } + else { + label.setAttributes(attrs, true); + } + } + if (shadowsEnabled) { + shadows = item.shadows; + shadowLen = shadows.length; + for (; j < shadowLen; j++) { + to = {}; + ihs = item.sprite._to.segment; + hs = item.sprite._from.segment; + Ext.apply(to, hs); + for (p in ihs) { + if (! (p in hs)) { + to[p] = ihs[p]; + } + } + shadow = shadows[j]; + if (animate) { + shadow.stopAnimation(); + shadow.animate({ + to: { + segment: to + }, + duration: me.highlightDuration + }); + } + else { + shadow.setAttributes({ segment: to }, true); + } + } + } + } + } + } + me.callParent(arguments); + }, + + + getLegendColor: function(index) { + var me = this; + return (me.colorSet && me.colorSet[index % me.colorSet.length]) || me.colorArrayStyle[index % me.colorArrayStyle.length]; + } +}); + + + +Ext.define('Ext.chart.series.Radar', { + + + + extend: 'Ext.chart.series.Series', + + requires: ['Ext.chart.Shape', 'Ext.fx.Anim'], + + + + type: "radar", + alias: 'series.radar', + + + rad: Math.PI / 180, + + showInLegend: false, + + + style: {}, + + constructor: function(config) { + this.callParent(arguments); + var me = this, + surface = me.chart.surface, i, l; + me.group = surface.getGroup(me.seriesId); + if (me.showMarkers) { + me.markerGroup = surface.getGroup(me.seriesId + '-markers'); + } + }, + + + drawSeries: function() { + var me = this, + store = me.chart.getChartStore(), + data = store.data.items, + d, record, + group = me.group, + sprite, + chart = me.chart, + seriesItems = chart.series.items, + s, sLen, series, + animate = chart.animate, + field = me.field || me.yField, + surface = chart.surface, + chartBBox = chart.chartBBox, + seriesIdx = me.seriesIdx, + colorArrayStyle = me.colorArrayStyle, + centerX, centerY, + items, + radius, + maxValue = 0, + fields = [], + max = Math.max, + cos = Math.cos, + sin = Math.sin, + pi2 = Math.PI * 2, + l = store.getCount(), + startPath, path, x, y, rho, + i, nfields, + seriesStyle = me.seriesStyle, + seriesLabelStyle = me.seriesLabelStyle, + first = chart.resizing || !me.radar, + axis = chart.axes && chart.axes.get(0), + aggregate = !(axis && axis.maximum); + + me.setBBox(); + + maxValue = aggregate? 0 : (axis.maximum || 0); + + Ext.apply(seriesStyle, me.style || {}); + + + if (!store || !store.getCount() || me.seriesIsHidden) { + me.hide(); + me.items = []; + if (me.radar) { + me.radar.hide(true); + } + me.radar = null; + return; + } + + if(!seriesStyle['stroke']){ + seriesStyle['stroke'] = colorArrayStyle[seriesIdx % colorArrayStyle.length]; + } + + me.unHighlightItem(); + me.cleanHighlights(); + + centerX = me.centerX = chartBBox.x + (chartBBox.width / 2); + centerY = me.centerY = chartBBox.y + (chartBBox.height / 2); + me.radius = radius = Math.min(chartBBox.width, chartBBox.height) /2; + me.items = items = []; + + if (aggregate) { + + for (s = 0, sLen = seriesItems.length; s < sLen; s++) { + series = seriesItems[s]; + fields.push(series.yField); + } + + for (d = 0; d < l; d++) { + record = data[d]; + for (i = 0, nfields = fields.length; i < nfields; i++) { + maxValue = max(+record.get(fields[i]), maxValue); + } + } + } + + maxValue = maxValue || 1; + + startPath = []; path = []; + for (i = 0; i < l; i++) { + record = data[i]; + rho = radius * record.get(field) / maxValue; + x = rho * cos(i / l * pi2); + y = rho * sin(i / l * pi2); + if (i == 0) { + path.push('M', x + centerX, y + centerY); + startPath.push('M', 0.01 * x + centerX, 0.01 * y + centerY); + } else { + path.push('L', x + centerX, y + centerY); + startPath.push('L', 0.01 * x + centerX, 0.01 * y + centerY); + } + items.push({ + sprite: false, + point: [centerX + x, centerY + y], + storeItem: record, + series: me + }); + } + path.push('Z'); + + if (!me.radar) { + me.radar = surface.add(Ext.apply({ + type: 'path', + group: group, + path: startPath + }, seriesStyle || {})); + } + + if (chart.resizing) { + me.radar.setAttributes({ + path: startPath + }, true); + } + + if (chart.animate) { + me.onAnimate(me.radar, { + to: Ext.apply({ + path: path + }, seriesStyle || {}) + }); + } else { + me.radar.setAttributes(Ext.apply({ + path: path + }, seriesStyle || {}), true); + } + + if (me.showMarkers) { + me.drawMarkers(); + } + me.renderLabels(); + me.renderCallouts(); + }, + + + drawMarkers: function() { + var me = this, + chart = me.chart, + surface = chart.surface, + markerStyle = Ext.apply({}, me.markerStyle || {}), + endMarkerStyle = Ext.apply(markerStyle, me.markerConfig, { + fill: me.colorArrayStyle[me.seriesIdx % me.colorArrayStyle.length] + }), + items = me.items, + type = endMarkerStyle.type, + markerGroup = me.markerGroup, + centerX = me.centerX, + centerY = me.centerY, + item, i, l, marker; + delete endMarkerStyle.type; + + for (i = 0, l = items.length; i < l; i++) { + item = items[i]; + marker = markerGroup.getAt(i); + if (!marker) { + marker = Ext.chart.Shape[type](surface, Ext.apply({ + group: markerGroup, + x: 0, + y: 0, + translate: { + x: centerX, + y: centerY + } + }, endMarkerStyle)); + } + else { + marker.show(); + } + item.sprite = marker; + if (chart.resizing) { + marker.setAttributes({ + x: 0, + y: 0, + translate: { + x: centerX, + y: centerY + } + }, true); + } + marker._to = { + translate: { + x: item.point[0], + y: item.point[1] + } + }; + + if (chart.animate) { + me.onAnimate(marker, { + to: marker._to + }); + } + else { + marker.setAttributes(Ext.apply(marker._to, endMarkerStyle || {}), true); + } + } + }, + + isItemInPoint: function(x, y, item) { + var point, + tolerance = 10, + abs = Math.abs; + point = item.point; + return (abs(point[0] - x) <= tolerance && + abs(point[1] - y) <= tolerance); + }, + + + onCreateLabel: function(storeItem, item, i, display) { + var me = this, + group = me.labelsGroup, + config = me.label, + centerX = me.centerX, + centerY = me.centerY, + point = item.point, + endLabelStyle = Ext.apply(me.seriesLabelStyle || {}, config); + + return me.chart.surface.add(Ext.apply({ + 'type': 'text', + 'text-anchor': 'middle', + 'group': group, + 'x': centerX, + 'y': centerY + }, config || {})); + }, + + + onPlaceLabel: function(label, storeItem, item, i, display, animate) { + var me = this, + chart = me.chart, + resizing = chart.resizing, + config = me.label, + format = config.renderer, + field = config.field, + centerX = me.centerX, + centerY = me.centerY, + opt = { + x: item.point[0], + y: item.point[1] + }, + x = opt.x - centerX, + y = opt.y - centerY; + + label.setAttributes({ + text: format(storeItem.get(field)), + hidden: true + }, + true); + + if (resizing) { + label.setAttributes({ + x: centerX, + y: centerY + }, true); + } + + if (animate) { + label.show(true); + me.onAnimate(label, { + to: opt + }); + } else { + label.setAttributes(opt, true); + label.show(true); + } + }, + + + toggleAll: function(show) { + var me = this, + i, ln, shadow, shadows; + if (!show) { + Ext.chart.series.Radar.superclass.hideAll.call(me); + } + else { + Ext.chart.series.Radar.superclass.showAll.call(me); + } + if (me.radar) { + me.radar.setAttributes({ + hidden: !show + }, true); + + if (me.radar.shadows) { + for (i = 0, shadows = me.radar.shadows, ln = shadows.length; i < ln; i++) { + shadow = shadows[i]; + shadow.setAttributes({ + hidden: !show + }, true); + } + } + } + }, + + + hideAll: function() { + this.toggleAll(false); + this.hideMarkers(0); + }, + + + showAll: function() { + this.toggleAll(true); + }, + + + hideMarkers: function(index) { + var me = this, + count = me.markerGroup && me.markerGroup.getCount() || 0, + i = index || 0; + for (; i < count; i++) { + me.markerGroup.getAt(i).hide(true); + } + } +}); + + + +Ext.define('Ext.chart.series.Scatter', { + + + + extend: 'Ext.chart.series.Cartesian', + + requires: ['Ext.chart.axis.Axis', 'Ext.chart.Shape', 'Ext.fx.Anim'], + + + + type: 'scatter', + alias: 'series.scatter', + + + + + + + + constructor: function(config) { + this.callParent(arguments); + var me = this, + shadow = me.chart.shadow, + surface = me.chart.surface, i, l; + Ext.apply(me, config, { + style: {}, + markerConfig: {}, + shadowAttributes: [{ + "stroke-width": 6, + "stroke-opacity": 0.05, + stroke: 'rgb(0, 0, 0)' + }, { + "stroke-width": 4, + "stroke-opacity": 0.1, + stroke: 'rgb(0, 0, 0)' + }, { + "stroke-width": 2, + "stroke-opacity": 0.15, + stroke: 'rgb(0, 0, 0)' + }] + }); + me.group = surface.getGroup(me.seriesId); + if (shadow) { + for (i = 0, l = me.shadowAttributes.length; i < l; i++) { + me.shadowGroups.push(surface.getGroup(me.seriesId + '-shadows' + i)); + } + } + }, + + + getBounds: function() { + var me = this, + chart = me.chart, + store = chart.getChartStore(), + chartAxes = chart.axes, + boundAxes = me.getAxesForXAndYFields(), + boundXAxis = boundAxes.xAxis, + boundYAxis = boundAxes.yAxis, + bbox, xScale, yScale, ln, minX, minY, maxX, maxY, i, axis, ends; + + me.setBBox(); + bbox = me.bbox; + + if (axis = chartAxes.get(boundXAxis)) { + ends = axis.applyData(); + minX = ends.from; + maxX = ends.to; + } + + if (axis = chartAxes.get(boundYAxis)) { + ends = axis.applyData(); + minY = ends.from; + maxY = ends.to; + } + + + if (me.xField && !Ext.isNumber(minX)) { + axis = me.getMinMaxXValues(); + minX = axis[0]; + maxX = axis[1]; + } + + if (me.yField && !Ext.isNumber(minY)) { + axis = me.getMinMaxYValues(); + minY = axis[0]; + maxY = axis[1]; + } + + if (isNaN(minX)) { + minX = 0; + maxX = store.getCount() - 1; + xScale = bbox.width / (store.getCount() - 1); + } + else { + xScale = bbox.width / (maxX - minX); + } + + if (isNaN(minY)) { + minY = 0; + maxY = store.getCount() - 1; + yScale = bbox.height / (store.getCount() - 1); + } + else { + yScale = bbox.height / (maxY - minY); + } + + return { + bbox: bbox, + minX: minX, + minY: minY, + xScale: xScale, + yScale: yScale + }; + }, + + + getPaths: function() { + var me = this, + chart = me.chart, + enableShadows = chart.shadow, + store = chart.getChartStore(), + data = store.data.items, + i, ln, record, + group = me.group, + bounds = me.bounds = me.getBounds(), + bbox = me.bbox, + xScale = bounds.xScale, + yScale = bounds.yScale, + minX = bounds.minX, + minY = bounds.minY, + boxX = bbox.x, + boxY = bbox.y, + boxHeight = bbox.height, + items = me.items = [], + attrs = [], + x, y, xValue, yValue, sprite; + + for (i = 0, ln = data.length; i < ln; i++) { + record = data[i]; + xValue = record.get(me.xField); + yValue = record.get(me.yField); + + if (typeof yValue == 'undefined' || (typeof yValue == 'string' && !yValue) + || xValue == null || yValue == null) { + continue; + } + + if (typeof xValue == 'string' || typeof xValue == 'object' && !Ext.isDate(xValue)) { + xValue = i; + } + if (typeof yValue == 'string' || typeof yValue == 'object' && !Ext.isDate(yValue)) { + yValue = i; + } + x = boxX + (xValue - minX) * xScale; + y = boxY + boxHeight - (yValue - minY) * yScale; + attrs.push({ + x: x, + y: y + }); + + me.items.push({ + series: me, + value: [xValue, yValue], + point: [x, y], + storeItem: record + }); + + + if (chart.animate && chart.resizing) { + sprite = group.getAt(i); + if (sprite) { + me.resetPoint(sprite); + if (enableShadows) { + me.resetShadow(sprite); + } + } + } + } + return attrs; + }, + + + resetPoint: function(sprite) { + var bbox = this.bbox; + sprite.setAttributes({ + translate: { + x: (bbox.x + bbox.width) / 2, + y: (bbox.y + bbox.height) / 2 + } + }, true); + }, + + + resetShadow: function(sprite) { + var me = this, + shadows = sprite.shadows, + shadowAttributes = me.shadowAttributes, + ln = me.shadowGroups.length, + bbox = me.bbox, + i, attr; + for (i = 0; i < ln; i++) { + attr = Ext.apply({}, shadowAttributes[i]); + + if (attr.translate) { + attr.translate.x += (bbox.x + bbox.width) / 2; + attr.translate.y += (bbox.y + bbox.height) / 2; + } + else { + attr.translate = { + x: (bbox.x + bbox.width) / 2, + y: (bbox.y + bbox.height) / 2 + }; + } + shadows[i].setAttributes(attr, true); + } + }, + + + createPoint: function(attr, type) { + var me = this, + chart = me.chart, + group = me.group, + bbox = me.bbox; + + return Ext.chart.Shape[type](chart.surface, Ext.apply({}, { + x: 0, + y: 0, + group: group, + translate: { + x: (bbox.x + bbox.width) / 2, + y: (bbox.y + bbox.height) / 2 + } + }, attr)); + }, + + + createShadow: function(sprite, endMarkerStyle, type) { + var me = this, + chart = me.chart, + shadowGroups = me.shadowGroups, + shadowAttributes = me.shadowAttributes, + lnsh = shadowGroups.length, + bbox = me.bbox, + i, shadow, shadows, attr; + + sprite.shadows = shadows = []; + + for (i = 0; i < lnsh; i++) { + attr = Ext.apply({}, shadowAttributes[i]); + if (attr.translate) { + attr.translate.x += (bbox.x + bbox.width) / 2; + attr.translate.y += (bbox.y + bbox.height) / 2; + } + else { + Ext.apply(attr, { + translate: { + x: (bbox.x + bbox.width) / 2, + y: (bbox.y + bbox.height) / 2 + } + }); + } + Ext.apply(attr, endMarkerStyle); + shadow = Ext.chart.Shape[type](chart.surface, Ext.apply({}, { + x: 0, + y: 0, + group: shadowGroups[i] + }, attr)); + shadows.push(shadow); + } + }, + + + drawSeries: function() { + var me = this, + chart = me.chart, + store = chart.getChartStore(), + group = me.group, + enableShadows = chart.shadow, + shadowGroups = me.shadowGroups, + shadowAttributes = me.shadowAttributes, + lnsh = shadowGroups.length, + sprite, attrs, attr, ln, i, endMarkerStyle, shindex, type, shadows, + rendererAttributes, shadowAttribute; + + endMarkerStyle = Ext.apply(me.markerStyle, me.markerConfig); + type = endMarkerStyle.type; + delete endMarkerStyle.type; + + + if (!store || !store.getCount()) { + me.hide(); + me.items = []; + return; + } + + + me.unHighlightItem(); + me.cleanHighlights(); + + attrs = me.getPaths(); + ln = attrs.length; + for (i = 0; i < ln; i++) { + attr = attrs[i]; + sprite = group.getAt(i); + Ext.apply(attr, endMarkerStyle); + + + if (!sprite) { + sprite = me.createPoint(attr, type); + if (enableShadows) { + me.createShadow(sprite, endMarkerStyle, type); + } + } + + shadows = sprite.shadows; + if (chart.animate) { + rendererAttributes = me.renderer(sprite, store.getAt(i), { translate: attr }, i, store); + sprite._to = rendererAttributes; + me.onAnimate(sprite, { + to: rendererAttributes + }); + + for (shindex = 0; shindex < lnsh; shindex++) { + shadowAttribute = Ext.apply({}, shadowAttributes[shindex]); + rendererAttributes = me.renderer(shadows[shindex], store.getAt(i), Ext.apply({}, { + hidden: false, + translate: { + x: attr.x + (shadowAttribute.translate? shadowAttribute.translate.x : 0), + y: attr.y + (shadowAttribute.translate? shadowAttribute.translate.y : 0) + } + }, shadowAttribute), i, store); + me.onAnimate(shadows[shindex], { to: rendererAttributes }); + } + } + else { + rendererAttributes = me.renderer(sprite, store.getAt(i), { translate: attr }, i, store); + sprite._to = rendererAttributes; + sprite.setAttributes(rendererAttributes, true); + + for (shindex = 0; shindex < lnsh; shindex++) { + shadowAttribute = Ext.apply({}, shadowAttributes[shindex]); + rendererAttributes = me.renderer(shadows[shindex], store.getAt(i), Ext.apply({}, { + hidden: false, + translate: { + x: attr.x + (shadowAttribute.translate? shadowAttribute.translate.x : 0), + y: attr.y + (shadowAttribute.translate? shadowAttribute.translate.y : 0) + } + }, shadowAttribute), i, store); + shadows[shindex].setAttributes(rendererAttributes, true); + } + } + me.items[i].sprite = sprite; + } + + + ln = group.getCount(); + for (i = attrs.length; i < ln; i++) { + group.getAt(i).hide(true); + } + me.renderLabels(); + me.renderCallouts(); + }, + + + onCreateLabel: function(storeItem, item, i, display) { + var me = this, + group = me.labelsGroup, + config = me.label, + endLabelStyle = Ext.apply({}, config, me.seriesLabelStyle), + bbox = me.bbox; + + return me.chart.surface.add(Ext.apply({ + type: 'text', + group: group, + x: item.point[0], + y: bbox.y + bbox.height / 2 + }, endLabelStyle)); + }, + + + onPlaceLabel: function(label, storeItem, item, i, display, animate) { + var me = this, + chart = me.chart, + resizing = chart.resizing, + config = me.label, + format = config.renderer, + field = config.field, + bbox = me.bbox, + x = item.point[0], + y = item.point[1], + radius = item.sprite.attr.radius, + bb, width, height, anim; + + label.setAttributes({ + text: format(storeItem.get(field)), + hidden: true + }, true); + + if (display == 'rotate') { + label.setAttributes({ + 'text-anchor': 'start', + 'rotation': { + x: x, + y: y, + degrees: -45 + } + }, true); + + bb = label.getBBox(); + width = bb.width; + height = bb.height; + x = x < bbox.x? bbox.x : x; + x = (x + width > bbox.x + bbox.width)? (x - (x + width - bbox.x - bbox.width)) : x; + y = (y - height < bbox.y)? bbox.y + height : y; + + } else if (display == 'under' || display == 'over') { + + bb = item.sprite.getBBox(); + bb.width = bb.width || (radius * 2); + bb.height = bb.height || (radius * 2); + y = y + (display == 'over'? -bb.height : bb.height); + + bb = label.getBBox(); + width = bb.width/2; + height = bb.height/2; + x = x - width < bbox.x ? bbox.x + width : x; + x = (x + width > bbox.x + bbox.width) ? (x - (x + width - bbox.x - bbox.width)) : x; + y = y - height < bbox.y? bbox.y + height : y; + y = (y + height > bbox.y + bbox.height) ? (y - (y + height - bbox.y - bbox.height)) : y; + } + + if (!chart.animate) { + label.setAttributes({ + x: x, + y: y + }, true); + label.show(true); + } + else { + if (resizing) { + anim = item.sprite.getActiveAnimation(); + if (anim) { + anim.on('afteranimate', function() { + label.setAttributes({ + x: x, + y: y + }, true); + label.show(true); + }); + } + else { + label.show(true); + } + } + else { + me.onAnimate(label, { + to: { + x: x, + y: y + } + }); + } + } + }, + + + onPlaceCallout: function(callout, storeItem, item, i, display, animate, index) { + var me = this, + chart = me.chart, + surface = chart.surface, + resizing = chart.resizing, + config = me.callouts, + items = me.items, + cur = item.point, + normal, + bbox = callout.label.getBBox(), + offsetFromViz = 30, + offsetToSide = 10, + offsetBox = 3, + boxx, boxy, boxw, boxh, + p, clipRect = me.bbox, + x, y; + + + normal = [Math.cos(Math.PI /4), -Math.sin(Math.PI /4)]; + x = cur[0] + normal[0] * offsetFromViz; + y = cur[1] + normal[1] * offsetFromViz; + + + boxx = x + (normal[0] > 0? 0 : -(bbox.width + 2 * offsetBox)); + boxy = y - bbox.height /2 - offsetBox; + boxw = bbox.width + 2 * offsetBox; + boxh = bbox.height + 2 * offsetBox; + + + + if (boxx < clipRect[0] || (boxx + boxw) > (clipRect[0] + clipRect[2])) { + normal[0] *= -1; + } + if (boxy < clipRect[1] || (boxy + boxh) > (clipRect[1] + clipRect[3])) { + normal[1] *= -1; + } + + + x = cur[0] + normal[0] * offsetFromViz; + y = cur[1] + normal[1] * offsetFromViz; + + + boxx = x + (normal[0] > 0? 0 : -(bbox.width + 2 * offsetBox)); + boxy = y - bbox.height /2 - offsetBox; + boxw = bbox.width + 2 * offsetBox; + boxh = bbox.height + 2 * offsetBox; + + if (chart.animate) { + + me.onAnimate(callout.lines, { + to: { + path: ["M", cur[0], cur[1], "L", x, y, "Z"] + } + }, true); + + me.onAnimate(callout.box, { + to: { + x: boxx, + y: boxy, + width: boxw, + height: boxh + } + }, true); + + me.onAnimate(callout.label, { + to: { + x: x + (normal[0] > 0? offsetBox : -(bbox.width + offsetBox)), + y: y + } + }, true); + } else { + + callout.lines.setAttributes({ + path: ["M", cur[0], cur[1], "L", x, y, "Z"] + }, true); + + callout.box.setAttributes({ + x: boxx, + y: boxy, + width: boxw, + height: boxh + }, true); + + callout.label.setAttributes({ + x: x + (normal[0] > 0? offsetBox : -(bbox.width + offsetBox)), + y: y + }, true); + } + for (p in callout) { + callout[p].show(true); + } + }, + + + onAnimate: function(sprite, attr) { + sprite.show(); + return this.callParent(arguments); + }, + + isItemInPoint: function(x, y, item) { + var point, + tolerance = 10, + abs = Math.abs; + + function dist(point) { + var dx = abs(point[0] - x), + dy = abs(point[1] - y); + return Math.sqrt(dx * dx + dy * dy); + } + point = item.point; + return (point[0] - tolerance <= x && point[0] + tolerance >= x && + point[1] - tolerance <= y && point[1] + tolerance >= y); + } +}); + + + +Ext.define('Ext.layout.container.Table', { + + + + alias: ['layout.table'], + extend: 'Ext.layout.container.Container', + alternateClassName: 'Ext.layout.TableLayout', + + + + + + + monitorResize:false, + + type: 'table', + + clearEl: true, + + targetCls: Ext.baseCSSPrefix + 'table-layout-ct', + tableCls: Ext.baseCSSPrefix + 'table-layout', + cellCls: Ext.baseCSSPrefix + 'table-layout-cell', + + + tableAttrs: null, + + + + + + itemSizePolicy: { + setsWidth: 0, + setsHeight: 0 + }, + + getItemSizePolicy: function (item) { + return this.itemSizePolicy; + }, + + getLayoutItems: function() { + var me = this, + result = [], + items = me.callParent(), + item, + len = items.length, i; + + for (i = 0; i < len; i++) { + item = items[i]; + if (!item.hidden) { + result.push(item); + } + } + return result; + }, + + + renderChildren: function() { + var me = this, + items = me.getLayoutItems(), + tbody = me.owner.getTargetEl().child('table', true).tBodies[0], + rows = tbody.rows, + i = 0, + len = items.length, + cells, curCell, rowIdx, cellIdx, item, trEl, tdEl, itemCt; + + + cells = me.calculateCells(items); + + + + + for (; i < len; i++) { + curCell = cells[i]; + rowIdx = curCell.rowIdx; + cellIdx = curCell.cellIdx; + item = items[i]; + + + trEl = rows[rowIdx]; + if (!trEl) { + trEl = tbody.insertRow(rowIdx); + if (me.trAttrs) { + trEl.set(me.trAttrs); + } + } + + + itemCt = tdEl = Ext.get(trEl.cells[cellIdx] || trEl.insertCell(cellIdx)); + if (me.needsDivWrap()) { + itemCt = tdEl.first() || tdEl.createChild({tag: 'div'}); + itemCt.setWidth(null); + } + + + if (!item.rendered) { + me.renderItem(item, itemCt, 0); + } + else if (!me.isValidParent(item, itemCt, rowIdx, cellIdx, tbody)) { + me.moveItem(item, itemCt, 0); + } + + + if (me.tdAttrs) { + tdEl.set(me.tdAttrs); + } + if (item.tdAttrs) { + tdEl.set(item.tdAttrs); + } + tdEl.set({ + colSpan: item.colspan || 1, + rowSpan: item.rowspan || 1, + id: item.cellId || '', + cls: me.cellCls + ' ' + (item.cellCls || '') + }); + + + if (!cells[i + 1] || cells[i + 1].rowIdx !== rowIdx) { + cellIdx++; + while (trEl.cells[cellIdx]) { + trEl.deleteCell(cellIdx); + } + } + } + + + rowIdx++; + while (tbody.rows[rowIdx]) { + tbody.deleteRow(rowIdx); + } + }, + + calculate: function (ownerContext) { + if (!ownerContext.hasDomProp('containerChildrenDone')) { + this.done = false; + } else { + var targetContext = ownerContext.targetContext, + widthShrinkWrap = ownerContext.widthModel.shrinkWrap, + heightShrinkWrap = ownerContext.heightModel.shrinkWrap, + shrinkWrap = heightShrinkWrap || widthShrinkWrap, + table = shrinkWrap && targetContext.el.child('table', true), + targetPadding = shrinkWrap && targetContext.getPaddingInfo(); + + if (widthShrinkWrap) { + ownerContext.setContentWidth(table.offsetWidth + targetPadding.width, true); + } + + if (heightShrinkWrap) { + ownerContext.setContentHeight(table.offsetHeight + targetPadding.height, true); + } + } + }, + + finalizeLayout: function() { + if (this.needsDivWrap()) { + + var items = this.getLayoutItems(), + i, + iLen = items.length, + item; + + for (i = 0; i < iLen; i++) { + item = items[i]; + + Ext.fly(item.el.dom.parentNode).setWidth(item.getWidth()); + } + } + if (Ext.isIE6 || (Ext.isIEQuirks)) { + + this.owner.getTargetEl().child('table').repaint(); + } + }, + + + calculateCells: function(items) { + var cells = [], + rowIdx = 0, + colIdx = 0, + cellIdx = 0, + totalCols = this.columns || Infinity, + rowspans = [], + i = 0, j, + len = items.length, + item; + + for (; i < len; i++) { + item = items[i]; + + + while (colIdx >= totalCols || rowspans[colIdx] > 0) { + if (colIdx >= totalCols) { + + colIdx = 0; + cellIdx = 0; + rowIdx++; + + + for (j = 0; j < totalCols; j++) { + if (rowspans[j] > 0) { + rowspans[j]--; + } + } + } else { + colIdx++; + } + } + + + cells.push({ + rowIdx: rowIdx, + cellIdx: cellIdx + }); + + + for (j = item.colspan || 1; j; --j) { + rowspans[colIdx] = item.rowspan || 1; + ++colIdx; + } + ++cellIdx; + } + + return cells; + }, + + getRenderTree: function() { + var me = this, + items = me.getLayoutItems(), + cells, + rows = [], + result = Ext.apply({ + tag: 'table', + role: 'presentation', + cls: me.tableCls, + cellspacing: 0, + cn: { + tag: 'tbody', + cn: rows + } + }, me.tableAttrs), + tdAttrs = me.tdAttrs, + needsDivWrap = me.needsDivWrap(), + i, len = items.length, item, curCell, tr, rowIdx, cellIdx, cell; + + + cells = me.calculateCells(items); + + for (i = 0; i < len; i++) { + item = items[i]; + + curCell = cells[i]; + rowIdx = curCell.rowIdx; + cellIdx = curCell.cellIdx; + + + tr = rows[rowIdx]; + if (!tr) { + tr = rows[rowIdx] = { + tag: 'tr', + cn: [] + }; + if (me.trAttrs) { + Ext.apply(tr, me.trAttrs); + } + } + + + cell = tr.cn[cellIdx] = { + tag: 'td' + }; + if (tdAttrs) { + Ext.apply(cell, tdAttrs); + } + Ext.apply(cell, { + colSpan: item.colspan || 1, + rowSpan: item.rowspan || 1, + id: item.cellId || '', + cls: me.cellCls + ' ' + (item.cellCls || '') + }); + + if (needsDivWrap) { + cell = cell.cn = { + tag: 'div' + }; + } + + me.configureItem(item); + + cell.cn = item.getRenderTree(); + } + return result; + }, + + isValidParent: function(item, target, rowIdx, cellIdx) { + var tbody, + correctCell, + table; + + + if (arguments.length === 3) { + table = item.el.up('table'); + return table && table.dom.parentNode === target.dom; + } + tbody = this.owner.getTargetEl().child('table', true).tBodies[0]; + correctCell = tbody.rows[rowIdx].cells[cellIdx]; + return item.el.dom.parentNode === correctCell; + }, + + + needsDivWrap: function() { + return Ext.isOpera10_5; + } +}); + + +Ext.define('Ext.container.ButtonGroup', { + extend: 'Ext.panel.Panel', + alias: 'widget.buttongroup', + alternateClassName: 'Ext.ButtonGroup', + + requires: ['Ext.layout.container.Table'], + + + + + baseCls: Ext.baseCSSPrefix + 'btn-group', + + + layout: { + type: 'table' + }, + + defaultType: 'button', + + + frame: true, + + frameHeader: false, + + titleAlign: 'center', + + initComponent : function() { + + var me = this, + cols = me.columns; + + me.noTitleCls = me.baseCls + '-notitle'; + if (cols) { + me.layout = Ext.apply({}, {columns: cols}, me.layout); + } + + if (!me.title) { + me.addCls(me.noTitleCls); + } + me.callParent(arguments); + }, + + + onBeforeAdd: function(component) { + if (component.isButton) { + component.ui = component.ui + '-toolbar'; + } + this.callParent(arguments); + }, + + + applyDefaults: function(c) { + if (!Ext.isString(c)) { + c = this.callParent(arguments); + } + return c; + } + + + + + + +}); + + +Ext.define('Ext.container.Viewport', { + extend: 'Ext.container.Container', + alias: 'widget.viewport', + requires: ['Ext.EventManager'], + alternateClassName: 'Ext.Viewport', + + + + + + + + + + + + + + + + + isViewport: true, + + ariaRole: 'application', + + preserveElOnDestroy: true, + + initComponent : function() { + var me = this, + html = document.body.parentNode, + el; + + + Ext.getScrollbarSize(); + + + me.width = me.height = undefined; + + me.callParent(arguments); + Ext.fly(html).addCls(Ext.baseCSSPrefix + 'viewport'); + if (me.autoScroll) { + delete me.autoScroll; + Ext.fly(html).setStyle('overflow', 'auto'); + } + me.el = el = Ext.getBody(); + el.setHeight = Ext.emptyFn; + el.setWidth = Ext.emptyFn; + el.setSize = Ext.emptyFn; + el.dom.scroll = 'no'; + me.allowDomMove = false; + me.renderTo = me.el; + }, + + onRender: function() { + var me = this; + + me.callParent(arguments); + + + + me.width = Ext.Element.getViewportWidth(); + me.height = Ext.Element.getViewportHeight(); + }, + + afterFirstLayout: function() { + var me = this; + + me.callParent(arguments); + setTimeout(function() { + Ext.EventManager.onWindowResize(me.fireResize, me); + }, 1); + }, + + fireResize : function(width, height){ + + + if (width != this.width || height != this.height) { + this.setSize(width, height); + } + } +}); + + +Ext.define('Ext.data.proxy.Proxy', { + alias: 'proxy.proxy', + alternateClassName: ['Ext.data.DataProxy', 'Ext.data.Proxy'], + + uses: [ + 'Ext.data.Batch', + 'Ext.data.Operation', + 'Ext.data.Model' + ], + + mixins: { + observable: 'Ext.util.Observable' + }, + + + batchOrder: 'create,update,destroy', + + + batchActions: true, + + + defaultReaderType: 'json', + + + defaultWriterType: 'json', + + + + + + + + + isProxy: true, + + + constructor: function(config) { + config = config || {}; + + if (config.model === undefined) { + delete config.model; + } + + this.mixins.observable.constructor.call(this, config); + + if (this.model !== undefined && !(this.model instanceof Ext.data.Model)) { + this.setModel(this.model); + } + + + }, + + + setModel: function(model, setOnStore) { + this.model = Ext.ModelManager.getModel(model); + + var reader = this.reader, + writer = this.writer; + + this.setReader(reader); + this.setWriter(writer); + + if (setOnStore && this.store) { + this.store.setModel(this.model); + } + }, + + + getModel: function() { + return this.model; + }, + + + setReader: function(reader) { + var me = this, + needsCopy = true; + + if (reader === undefined || typeof reader == 'string') { + reader = { + type: reader + }; + needsCopy = false; + } + + if (reader.isReader) { + reader.setModel(me.model); + } else { + if (needsCopy) { + reader = Ext.apply({}, reader); + } + Ext.applyIf(reader, { + proxy: me, + model: me.model, + type : me.defaultReaderType + }); + + reader = Ext.createByAlias('reader.' + reader.type, reader); + } + + if (reader.onMetaChange) { + reader.onMetaChange = Ext.Function.createSequence(reader.onMetaChange, this.onMetaChange, this); + } + + me.reader = reader; + return me.reader; + }, + + + getReader: function() { + return this.reader; + }, + + + onMetaChange: function(meta) { + this.fireEvent('metachange', this, meta); + }, + + + setWriter: function(writer) { + var me = this, + needsCopy = true; + + if (writer === undefined || typeof writer == 'string') { + writer = { + type: writer + }; + needsCopy = false; + } + + if (!writer.isWriter) { + if (needsCopy) { + writer = Ext.apply({}, writer); + } + Ext.applyIf(writer, { + model: me.model, + type : me.defaultWriterType + }); + + writer = Ext.createByAlias('writer.' + writer.type, writer); + } + + me.writer = writer; + + return me.writer; + }, + + + getWriter: function() { + return this.writer; + }, + + + create: Ext.emptyFn, + + + read: Ext.emptyFn, + + + update: Ext.emptyFn, + + + destroy: Ext.emptyFn, + + + batch: function(options, listeners) { + var me = this, + useBatch = me.batchActions, + batch, + records, + actions, aLen, action, a, r, rLen, record; + + if (options.operations === undefined) { + + + options = { + operations: options, + listeners: listeners + }; + } + + if (options.batch) { + if (Ext.isDefined(options.batch.runOperation)) { + batch = Ext.applyIf(options.batch, { + proxy: me, + listeners: {} + }); + } + } else { + options.batch = { + proxy: me, + listeners: options.listeners || {} + }; + } + + if (!batch) { + batch = new Ext.data.Batch(options.batch); + } + + batch.on('complete', Ext.bind(me.onBatchComplete, me, [options], 0)); + + actions = me.batchOrder.split(','); + aLen = actions.length; + + for (a = 0; a < aLen; a++) { + action = actions[a]; + records = options.operations[action]; + + if (records) { + if (useBatch) { + batch.add(new Ext.data.Operation({ + action : action, + records : records + })); + } else { + rLen = records.length; + + for (r = 0; r < rLen; r++) { + record = records[r]; + + batch.add(new Ext.data.Operation({ + action : action, + records : [record] + })); + } + } + } + } + + batch.start(); + return batch; + }, + + + onBatchComplete: function(batchOptions, batch) { + var scope = batchOptions.scope || this; + + if (batch.hasException) { + if (Ext.isFunction(batchOptions.failure)) { + Ext.callback(batchOptions.failure, scope, [batch, batchOptions]); + } + } else if (Ext.isFunction(batchOptions.success)) { + Ext.callback(batchOptions.success, scope, [batch, batchOptions]); + } + + if (Ext.isFunction(batchOptions.callback)) { + Ext.callback(batchOptions.callback, scope, [batch, batchOptions]); + } + } +}, function() { + + Ext.data.DataProxy = this; +}); + + +Ext.define('Ext.data.AbstractStore', { + requires: [ + 'Ext.util.MixedCollection', + 'Ext.data.proxy.Proxy', + 'Ext.data.Operation', + 'Ext.util.Filter' + ], + + mixins: { + observable: 'Ext.util.Observable', + sortable: 'Ext.util.Sortable' + }, + + statics: { + + create: function(store) { + if (!store.isStore) { + if (!store.type) { + store.type = 'store'; + } + store = Ext.createByAlias('store.' + store.type, store); + } + return store; + } + }, + + + remoteSort : false, + + + remoteFilter: false, + + + + + autoLoad: undefined, + + + autoSync: false, + + + batchUpdateMode: 'operation', + + + filterOnLoad: true, + + + sortOnLoad: true, + + + implicitModel: false, + + + defaultProxyType: 'memory', + + + isDestroyed: false, + + + isStore: true, + + + + + + + + + + sortRoot: 'data', + + + constructor: function(config) { + var me = this, + filters; + + + + + + + + + + + + + + + + + + + + + + Ext.apply(me, config); + + + + me.removed = []; + + me.mixins.observable.constructor.apply(me, arguments); + + + me.model = Ext.ModelManager.getModel(me.model); + + + Ext.applyIf(me, { + modelDefaults: {} + }); + + + if (!me.model && me.fields) { + me.model = Ext.define('Ext.data.Store.ImplicitModel-' + (me.storeId || Ext.id()), { + extend: 'Ext.data.Model', + fields: me.fields, + proxy: me.proxy || me.defaultProxyType + }); + + delete me.fields; + + me.implicitModel = true; + } + + + + me.setProxy(me.proxy || me.model.getProxy()); + + me.proxy.on('metachange', me.onMetaChange, me); + + if (me.id && !me.storeId) { + me.storeId = me.id; + delete me.id; + } + + if (me.storeId) { + Ext.data.StoreManager.register(me); + } + + me.mixins.sortable.initSortable.call(me); + + + filters = me.decodeFilters(me.filters); + me.filters = new Ext.util.MixedCollection(); + me.filters.addAll(filters); + }, + + + setProxy: function(proxy) { + var me = this; + + if (proxy instanceof Ext.data.proxy.Proxy) { + proxy.setModel(me.model); + } else { + if (Ext.isString(proxy)) { + proxy = { + type: proxy + }; + } + Ext.applyIf(proxy, { + model: me.model + }); + + proxy = Ext.createByAlias('proxy.' + proxy.type, proxy); + } + + me.proxy = proxy; + + return me.proxy; + }, + + + getProxy: function() { + return this.proxy; + }, + + + onMetaChange: function(proxy, meta) { + this.fireEvent('metachange', this, meta); + }, + + + create: function(data, options) { + var me = this, + instance = Ext.ModelManager.create(Ext.applyIf(data, me.modelDefaults), me.model.modelName), + operation; + + options = options || {}; + + Ext.applyIf(options, { + action : 'create', + records: [instance] + }); + + operation = new Ext.data.Operation(options); + + me.proxy.create(operation, me.onProxyWrite, me); + + return instance; + }, + + read: function() { + return this.load.apply(this, arguments); + }, + + update: function(options) { + var me = this, + operation; + options = options || {}; + + Ext.applyIf(options, { + action : 'update', + records: me.getUpdatedRecords() + }); + + operation = new Ext.data.Operation(options); + + return me.proxy.update(operation, me.onProxyWrite, me); + }, + + + onProxyWrite: function(operation) { + var me = this, + success = operation.wasSuccessful(), + records = operation.getRecords(); + + switch (operation.action) { + case 'create': + me.onCreateRecords(records, operation, success); + break; + case 'update': + me.onUpdateRecords(records, operation, success); + break; + case 'destroy': + me.onDestroyRecords(records, operation, success); + break; + } + + if (success) { + me.fireEvent('write', me, operation); + me.fireEvent('datachanged', me); + me.fireEvent('refresh', me); + } + + Ext.callback(operation.callback, operation.scope || me, [records, operation, success]); + }, + + + onCreateRecords: Ext.emptyFn, + + + onUpdateRecords: Ext.emptyFn, + + + onDestroyRecords: function(records, operation, success) { + if (success) { + this.removed = []; + } + }, + + + destroy: function(options) { + var me = this, + operation; + + options = options || {}; + + Ext.applyIf(options, { + action : 'destroy', + records: me.getRemovedRecords() + }); + + operation = new Ext.data.Operation(options); + + return me.proxy.destroy(operation, me.onProxyWrite, me); + }, + + + onBatchOperationComplete: function(batch, operation) { + return this.onProxyWrite(operation); + }, + + + onBatchComplete: function(batch, operation) { + var me = this, + operations = batch.operations, + length = operations.length, + i; + + me.suspendEvents(); + + for (i = 0; i < length; i++) { + me.onProxyWrite(operations[i]); + } + + me.resumeEvents(); + + me.fireEvent('datachanged', me); + me.fireEvent('refresh', me); + }, + + + onBatchException: function(batch, operation) { + + + + + + }, + + + filterNew: function(item) { + + return item.phantom === true && item.isValid(); + }, + + + getNewRecords: function() { + return []; + }, + + + getUpdatedRecords: function() { + return []; + }, + + + getModifiedRecords : function(){ + return [].concat(this.getNewRecords(), this.getUpdatedRecords()); + }, + + + filterUpdated: function(item) { + + return item.dirty === true && item.phantom !== true && item.isValid(); + }, + + + getRemovedRecords: function() { + return this.removed; + }, + + filter: function(filters, value) { + + }, + + + decodeFilters: function(filters) { + if (!Ext.isArray(filters)) { + if (filters === undefined) { + filters = []; + } else { + filters = [filters]; + } + } + + var length = filters.length, + Filter = Ext.util.Filter, + config, i; + + for (i = 0; i < length; i++) { + config = filters[i]; + + if (!(config instanceof Filter)) { + Ext.apply(config, { + root: 'data' + }); + + + if (config.fn) { + config.filterFn = config.fn; + } + + + if (typeof config == 'function') { + config = { + filterFn: config + }; + } + + filters[i] = new Filter(config); + } + } + + return filters; + }, + + clearFilter: function(supressEvent) { + + }, + + isFiltered: function() { + + }, + + filterBy: function(fn, scope) { + + }, + + + sync: function(options) { + var me = this, + operations = {}, + toCreate = me.getNewRecords(), + toUpdate = me.getUpdatedRecords(), + toDestroy = me.getRemovedRecords(), + needsSync = false; + + if (toCreate.length > 0) { + operations.create = toCreate; + needsSync = true; + } + + if (toUpdate.length > 0) { + operations.update = toUpdate; + needsSync = true; + } + + if (toDestroy.length > 0) { + operations.destroy = toDestroy; + needsSync = true; + } + + if (needsSync && me.fireEvent('beforesync', operations) !== false) { + options = options || {}; + + me.proxy.batch(Ext.apply(options, { + operations: operations, + listeners: me.getBatchListeners() + })); + } + + return me; + }, + + + getBatchListeners: function() { + var me = this, + listeners = { + scope: me, + exception: me.onBatchException + }; + + if (me.batchUpdateMode == 'operation') { + listeners.operationcomplete = me.onBatchOperationComplete; + } else { + listeners.complete = me.onBatchComplete; + } + + return listeners; + }, + + + save: function() { + return this.sync.apply(this, arguments); + }, + + + load: function(options) { + var me = this, + operation; + + options = Ext.apply({ + action: 'read', + filters: me.filters.items, + sorters: me.getSorters() + }, options); + me.lastOptions = options; + + operation = new Ext.data.Operation(options); + + if (me.fireEvent('beforeload', me, operation) !== false) { + me.loading = true; + me.proxy.read(operation, me.onProxyLoad, me); + } + + return me; + }, + + + reload: function(options) { + return this.load(Ext.apply(this.lastOptions, options)); + }, + + + afterEdit : function(record, modifiedFieldNames) { + var me = this, + i, shouldSync; + + if (me.autoSync && !me.autoSyncSuspended) { + for (i = modifiedFieldNames.length; i--;) { + + if (record.fields.get(modifiedFieldNames[i]).persist) { + shouldSync = true; + break; + } + } + if (shouldSync) { + me.sync(); + } + } + + me.fireEvent('update', me, record, Ext.data.Model.EDIT, modifiedFieldNames); + }, + + + afterReject : function(record) { + + + + + + this.fireEvent('update', this, record, Ext.data.Model.REJECT, null); + }, + + + afterCommit : function(record) { + + + + + + this.fireEvent('update', this, record, Ext.data.Model.COMMIT, null); + }, + + + destroyStore: function() { + var me = this; + + if (!me.isDestroyed) { + if (me.storeId) { + Ext.data.StoreManager.unregister(me); + } + me.clearData(); + me.data = me.tree = me.sorters = me.filters = me.groupers = null; + if (me.reader) { + me.reader.destroyReader(); + } + me.proxy = me.reader = me.writer = null; + me.clearListeners(); + me.isDestroyed = true; + + if (me.implicitModel) { + Ext.destroy(me.model); + } else { + me.model = null; + } + } + }, + + + doSort: function(sorterFn) { + var me = this; + if (me.remoteSort) { + + me.load(); + } else { + me.data.sortBy(sorterFn); + me.fireEvent('datachanged', me); + me.fireEvent('refresh', me); + } + }, + + + clearData: Ext.emptyFn, + + + getCount: Ext.emptyFn, + + + getById: Ext.emptyFn, + + + removeAll: Ext.emptyFn, + + + + + isLoading: function() { + return !!this.loading; + }, + + + suspendAutoSync: function() { + this.autoSyncSuspended = true; + }, + + + resumeAutoSync: function() { + this.autoSyncSuspended = false; + } + +}); + + +Ext.define('Ext.data.ResultSet', { + + loaded: true, + + + count: 0, + + + total: 0, + + + success: false, + + + + + constructor: function(config) { + Ext.apply(this, config); + + + this.totalRecords = this.total; + + if (config.count === undefined) { + this.count = this.records.length; + } + } +}); + + +Ext.define('Ext.data.reader.Reader', { + requires: ['Ext.data.ResultSet', 'Ext.XTemplate'], + alternateClassName: ['Ext.data.Reader', 'Ext.data.DataReader'], + + mixins: { + observable: 'Ext.util.Observable' + }, + + + + + totalProperty: 'total', + + + successProperty: 'success', + + + root: '', + + + + + implicitIncludes: true, + + + readRecordsOnFailure: true, + + + + + isReader: true, + + + + + applyDefaults: true, + + lastFieldGeneration: null, + + + constructor: function(config) { + var me = this; + + me.mixins.observable.constructor.call(me, config); + me.fieldCount = 0; + me.model = Ext.ModelManager.getModel(me.model); + me.accessExpressionFn = Ext.Function.bind(me.createFieldAccessExpression, me); + + + + + + + if (me.model && me.model.prototype.fields) { + me.buildExtractors(); + } + + this.addEvents( + + 'exception' + ); + }, + + + setModel: function(model, setOnProxy) { + var me = this; + + me.model = Ext.ModelManager.getModel(model); + me.buildExtractors(true); + + if (setOnProxy && me.proxy) { + me.proxy.setModel(me.model, true); + } + }, + + + read: function(response) { + var data; + + if (response) { + data = response.responseText ? this.getResponseData(response) : this.readRecords(response); + } + + return data || this.nullResultSet; + }, + + + readRecords: function(data) { + var me = this, + success, + recordCount, + records, + root, + total, + value, + message; + + + if (me.lastFieldGeneration !== me.model.prototype.fields.generation) { + me.buildExtractors(true); + } + + + me.rawData = data; + + data = me.getData(data); + + success = true; + recordCount = 0; + records = []; + + if (me.successProperty) { + value = me.getSuccess(data); + if (value === false || value === 'false') { + success = false; + } + } + + if (me.messageProperty) { + message = me.getMessage(data); + } + + + + if (me.readRecordsOnFailure || success) { + + + root = Ext.isArray(data) ? data : me.getRoot(data); + + if (root) { + total = root.length; + } + + if (me.totalProperty) { + value = parseInt(me.getTotal(data), 10); + if (!isNaN(value)) { + total = value; + } + } + + if (root) { + records = me.extractData(root); + recordCount = records.length; + } + } + + return new Ext.data.ResultSet({ + total : total || recordCount, + count : recordCount, + records: records, + success: success, + message: message + }); + }, + + + extractData : function(root) { + var me = this, + records = [], + Model = me.model, + length = root.length, + convertedValues, node, record, i; + + if (!root.length && Ext.isObject(root)) { + root = [root]; + length = 1; + } + + for (i = 0; i < length; i++) { + node = root[i]; + if (!node.isModel) { + + + record = new Model(undefined, me.getId(node), node, convertedValues = {}); + + + + record.phantom = false; + + + me.convertRecordData(convertedValues, node, record); + + records.push(record); + + if (me.implicitIncludes) { + me.readAssociated(record, node); + } + } else { + + + records.push(node); + } + } + + return records; + }, + + + readAssociated: function(record, data) { + var associations = record.associations.items, + i = 0, + length = associations.length, + association, associationData, proxy, reader; + + for (; i < length; i++) { + association = associations[i]; + associationData = this.getAssociatedDataRoot(data, association.associationKey || association.name); + + if (associationData) { + reader = association.getReader(); + if (!reader) { + proxy = association.associatedModel.proxy; + + if (proxy) { + reader = proxy.getReader(); + } else { + reader = new this.constructor({ + model: association.associatedName + }); + } + } + association.read(record, reader, associationData); + } + } + }, + + + getAssociatedDataRoot: function(data, associationName) { + return data[associationName]; + }, + + getFields: function() { + return this.model.prototype.fields.items; + }, + + + getData: function(data) { + return data; + }, + + + getRoot: function(data) { + return data; + }, + + + getResponseData: function(response) { + }, + + + onMetaChange : function(meta) { + var me = this, + fields = meta.fields || me.getFields(), + newModel, + clientIdProperty; + + + me.metaData = meta; + + + me.root = meta.root || me.root; + me.idProperty = meta.idProperty || me.idProperty; + me.totalProperty = meta.totalProperty || me.totalProperty; + me.successProperty = meta.successProperty || me.successProperty; + me.messageProperty = meta.messageProperty || me.messageProperty; + clientIdProperty = meta.clientIdProperty; + + if (me.model) { + me.model.setFields(fields, me.idProperty, clientIdProperty); + me.setModel(me.model, true); + } + else { + newModel = Ext.define("Ext.data.reader.Json-Model" + Ext.id(), { + extend: 'Ext.data.Model', + fields: fields, + clientIdProperty: clientIdProperty + }); + if (me.idProperty) { + + + + + newModel.idProperty = me.idProperty; + } + me.setModel(newModel, true); + } + }, + + + getIdProperty: function(){ + return this.idProperty || this.model.prototype.idProperty; + }, + + + buildExtractors: function(force) { + var me = this, + idProp = me.getIdProperty(), + totalProp = me.totalProperty, + successProp = me.successProperty, + messageProp = me.messageProperty, + accessor, + idField, + map; + + if (force === true) { + delete me.convertRecordData; + } + + if (me.convertRecordData) { + return; + } + + + if (totalProp) { + me.getTotal = me.createAccessor(totalProp); + } + + if (successProp) { + me.getSuccess = me.createAccessor(successProp); + } + + if (messageProp) { + me.getMessage = me.createAccessor(messageProp); + } + + if (idProp) { + idField = me.model.prototype.fields.get(idProp); + if (idField) { + map = idField.mapping; + idProp = (map !== undefined && map !== null) ? map : idProp; + } + accessor = me.createAccessor(idProp); + + me.getId = function(record) { + var id = accessor.call(me, record); + return (id === undefined || id === '') ? null : id; + }; + } else { + me.getId = function() { + return null; + }; + } + me.convertRecordData = me.buildRecordDataExtractor(); + me.lastFieldGeneration = me.model.prototype.fields.generation; + }, + + recordDataExtractorTemplate : [ + 'var me = this\n', + ' ,fields = me.model.prototype.fields\n', + ' ,value\n', + ' ,internalId\n', + '', + ' ,__field{#} = fields.get("{name}")\n', + '', ';\n', + + 'return function(dest, source, record) {\n', + '', + + ' value = {[ this.createFieldAccessExpression(values, "__field" + xindex, "source") ]};\n', + + + '', + ' dest["{name}"] = value === undefined ? __field{#}.convert(__field{#}.defaultValue, record) : __field{#}.convert(value, record);\n', + + + '', + ' if (value === undefined) {\n', + ' if (me.applyDefaults) {\n', + '', + ' dest["{name}"] = __field{#}.convert(__field{#}.defaultValue, record);\n', + '', + ' dest["{name}"] = __field{#}.defaultValue\n', + '', + ' };\n', + ' } else {\n', + '', + ' dest["{name}"] = __field{#}.convert(value, record);\n', + '', + ' dest["{name}"] = value;\n', + '', + ' };', + + + '', + ' if (value !== undefined) {\n', + '', + ' dest["{name}"] = __field{#}.convert(value, record);\n', + '', + ' dest["{name}"] = value;\n', + '', + ' }\n', + '', + + '', + + + + + '', + ' if (record && (internalId = {[ this.createFieldAccessExpression(\{mapping: values.clientIdProp\}, null, "source") ]})) {\n', + ' record.{["internalId"]} = internalId;\n', + ' }\n', + '', + + '};' + ], + + + buildRecordDataExtractor: function() { + var me = this, + modelProto = me.model.prototype, + templateData = { + clientIdProp: modelProto.clientIdProperty, + fields: modelProto.fields.items + }; + + me.recordDataExtractorTemplate.createFieldAccessExpression = me.accessExpressionFn; + + + + + return Ext.functionFactory(me.recordDataExtractorTemplate.apply(templateData)).call(me); + }, + + destroyReader: function() { + var me = this; + delete me.proxy; + delete me.model; + delete me.convertRecordData; + delete me.getId; + delete me.getTotal; + delete me.getSuccess; + delete me.getMessage; + } +}, function() { + var proto = this.prototype; + Ext.apply(proto, { + + nullResultSet: new Ext.data.ResultSet({ + total : 0, + count : 0, + records: [], + success: true + }), + recordDataExtractorTemplate: new Ext.XTemplate(proto.recordDataExtractorTemplate) + }); +}); + + +Ext.define('Ext.data.reader.Json', { + extend: 'Ext.data.reader.Reader', + alternateClassName: 'Ext.data.JsonReader', + alias : 'reader.json', + + root: '', + + + + + useSimpleAccessors: false, + + + readRecords: function(data) { + + if (data.metaData) { + this.onMetaChange(data.metaData); + } + + + this.jsonData = data; + return this.callParent([data]); + }, + + + getResponseData: function(response) { + var data, error; + + try { + data = Ext.decode(response.responseText); + return this.readRecords(data); + } catch (ex) { + error = new Ext.data.ResultSet({ + total : 0, + count : 0, + records: [], + success: false, + message: ex.message + }); + + this.fireEvent('exception', this, response, error); + + Ext.Logger.warn('Unable to parse the JSON returned by the server'); + + return error; + } + }, + + + buildExtractors : function() { + var me = this; + + me.callParent(arguments); + + if (me.root) { + me.getRoot = me.createAccessor(me.root); + } else { + me.getRoot = function(root) { + return root; + }; + } + }, + + + extractData: function(root) { + var recordName = this.record, + data = [], + length, i; + + if (recordName) { + length = root.length; + + if (!length && Ext.isObject(root)) { + length = 1; + root = [root]; + } + + for (i = 0; i < length; i++) { + data[i] = root[i][recordName]; + } + } else { + data = root; + } + return this.callParent([data]); + }, + + + createAccessor: (function() { + var re = /[\[\.]/; + + return function(expr) { + if (Ext.isEmpty(expr)) { + return Ext.emptyFn; + } + if (Ext.isFunction(expr)) { + return expr; + } + if (this.useSimpleAccessors !== true) { + var i = String(expr).search(re); + if (i >= 0) { + return Ext.functionFactory('obj', 'return obj' + (i > 0 ? '.' : '') + expr); + } + } + return function(obj) { + return obj[expr]; + }; + }; + }()), + + + createFieldAccessExpression: (function() { + var re = /[\[\.]/; + + return function(field, fieldVarName, dataName) { + var me = this, + hasMap = (field.mapping !== null), + map = hasMap ? field.mapping : field.name, + result, + operatorSearch; + + if (typeof map === 'function') { + result = fieldVarName + '.mapping(' + dataName + ', this)'; + } else if (this.useSimpleAccessors === true || ((operatorSearch = String(map).search(re)) < 0)) { + if (!hasMap || isNaN(map)) { + + map = '"' + map + '"'; + } + result = dataName + "[" + map + "]"; + } else { + result = dataName + (operatorSearch > 0 ? '.' : '') + map; + } + return result; + }; + }()) +}); + + +Ext.define('Ext.data.writer.Writer', { + alias: 'writer.base', + alternateClassName: ['Ext.data.DataWriter', 'Ext.data.Writer'], + + + writeAllFields: true, + + + nameProperty: 'name', + + + isWriter: true, + + + constructor: function(config) { + Ext.apply(this, config); + }, + + + write: function(request) { + var operation = request.operation, + records = operation.records || [], + len = records.length, + i = 0, + data = []; + + for (; i < len; i++) { + data.push(this.getRecordData(records[i], operation)); + } + return this.writeRecords(request, data); + }, + + + getRecordData: function(record, operation) { + var isPhantom = record.phantom === true, + writeAll = this.writeAllFields || isPhantom, + nameProperty = this.nameProperty, + fields = record.fields, + fieldItems = fields.items, + data = {}, + clientIdProperty = record.clientIdProperty, + changes, + name, + field, + key, + value, + f, fLen; + + if (writeAll) { + fLen = fieldItems.length; + + for (f = 0; f < fLen; f++) { + field = fieldItems[f]; + if (field.persist) { + name = field[nameProperty] || field.name; + value = record.get(field.name); + if (field.serialize) { + data[name] = field.serialize(value, record); + } else if (field.type === Ext.data.Types.DATE && field.dateFormat) { + data[name] = Ext.Date.format(value, field.dateFormat); + } else { + data[name] = value; + } + } + } + } else { + + changes = record.getChanges(); + for (key in changes) { + if (changes.hasOwnProperty(key)) { + field = fields.get(key); + if (field.persist) { + name = field[nameProperty] || field.name; + value = record.get(field.name); + if (field.serialize) { + data[name] = field.serialize(value, record); + } else if (field.type === Ext.data.Types.DATE && field.dateFormat) { + data[name] = Ext.Date.format(value, field.dateFormat); + } else { + data[name] = value; + } + } + } + } + } + if (isPhantom) { + if (clientIdProperty && operation && operation.records.length > 1) { + + + data[clientIdProperty] = record.internalId; + } + } else { + + data[record.idProperty] = record.getId(); + } + + return data; + } +}); + + +Ext.define('Ext.data.writer.Json', { + extend: 'Ext.data.writer.Writer', + alternateClassName: 'Ext.data.JsonWriter', + alias: 'writer.json', + + + root: undefined, + + + encode: false, + + + allowSingle: true, + + + writeRecords: function(request, data) { + var root = this.root; + + if (this.allowSingle && data.length == 1) { + + data = data[0]; + } + + if (this.encode) { + if (root) { + + request.params[root] = Ext.encode(data); + } else { + } + } else { + + request.jsonData = request.jsonData || {}; + if (root) { + request.jsonData[root] = data; + } else { + request.jsonData = data; + } + } + return request; + } +}); + + +Ext.define('Ext.data.proxy.Server', { + extend: 'Ext.data.proxy.Proxy', + alias : 'proxy.server', + alternateClassName: 'Ext.data.ServerProxy', + uses : ['Ext.data.Request'], + + + + + pageParam: 'page', + + + startParam: 'start', + + + limitParam: 'limit', + + + groupParam: 'group', + + + groupDirectionParam: 'groupDir', + + + sortParam: 'sort', + + + filterParam: 'filter', + + + directionParam: 'dir', + + + simpleSortMode: false, + + + simpleGroupMode: false, + + + noCache : true, + + + cacheString: "_dc", + + + timeout : 30000, + + + + constructor: function(config) { + var me = this; + + config = config || {}; + + me.callParent([config]); + + + me.extraParams = config.extraParams || {}; + + me.api = Ext.apply({}, config.api || me.api); + + + + me.nocache = me.noCache; + }, + + + create: function() { + return this.doRequest.apply(this, arguments); + }, + + read: function() { + return this.doRequest.apply(this, arguments); + }, + + update: function() { + return this.doRequest.apply(this, arguments); + }, + + destroy: function() { + return this.doRequest.apply(this, arguments); + }, + + + setExtraParam: function(name, value) { + this.extraParams[name] = value; + }, + + + buildRequest: function(operation) { + var me = this, + params = Ext.applyIf(operation.params || {}, me.extraParams || {}), + request; + + + params = Ext.applyIf(params, me.getParams(operation)); + + if (operation.id !== undefined && params.id === undefined) { + params.id = operation.id; + } + + request = new Ext.data.Request({ + params : params, + action : operation.action, + records : operation.records, + operation: operation, + url : operation.url, + + + + proxy: me + }); + + request.url = me.buildUrl(request); + + + operation.request = request; + + return request; + }, + + + processResponse: function(success, operation, request, response, callback, scope) { + var me = this, + reader, + result; + + if (success === true) { + reader = me.getReader(); + + + + + reader.applyDefaults = operation.action === 'read'; + + result = reader.read(me.extractResponseData(response)); + + if (result.success !== false) { + + Ext.apply(operation, { + response: response, + resultSet: result + }); + + operation.commitRecords(result.records); + operation.setCompleted(); + operation.setSuccessful(); + } else { + operation.setException(result.message); + me.fireEvent('exception', this, response, operation); + } + } else { + me.setException(operation, response); + me.fireEvent('exception', this, response, operation); + } + + + if (typeof callback == 'function') { + callback.call(scope || me, operation); + } + + me.afterRequest(request, success); + }, + + + setException: function(operation, response) { + operation.setException({ + status: response.status, + statusText: response.statusText + }); + }, + + + extractResponseData: function(response) { + return response; + }, + + + applyEncoding: function(value) { + return Ext.encode(value); + }, + + + encodeSorters: function(sorters) { + var min = [], + length = sorters.length, + i = 0; + + for (; i < length; i++) { + min[i] = { + property : sorters[i].property, + direction: sorters[i].direction + }; + } + return this.applyEncoding(min); + + }, + + + encodeFilters: function(filters) { + var min = [], + length = filters.length, + i = 0; + + for (; i < length; i++) { + min[i] = { + property: filters[i].property, + value : filters[i].value + }; + } + return this.applyEncoding(min); + }, + + + getParams: function(operation) { + var me = this, + params = {}, + isDef = Ext.isDefined, + groupers = operation.groupers, + sorters = operation.sorters, + filters = operation.filters, + page = operation.page, + start = operation.start, + limit = operation.limit, + simpleSortMode = me.simpleSortMode, + simpleGroupMode = me.simpleGroupMode, + pageParam = me.pageParam, + startParam = me.startParam, + limitParam = me.limitParam, + groupParam = me.groupParam, + groupDirectionParam = me.groupDirectionParam, + sortParam = me.sortParam, + filterParam = me.filterParam, + directionParam = me.directionParam; + + if (pageParam && isDef(page)) { + params[pageParam] = page; + } + + if (startParam && isDef(start)) { + params[startParam] = start; + } + + if (limitParam && isDef(limit)) { + params[limitParam] = limit; + } + + if (groupParam && groupers && groupers.length > 0) { + + if (simpleGroupMode) { + params[groupParam] = groupers[0].property; + params[groupDirectionParam] = groupers[0].direction || 'ASC'; + } else { + params[groupParam] = me.encodeSorters(groupers); + } + } + + if (sortParam && sorters && sorters.length > 0) { + if (simpleSortMode) { + params[sortParam] = sorters[0].property; + params[directionParam] = sorters[0].direction; + } else { + params[sortParam] = me.encodeSorters(sorters); + } + + } + + if (filterParam && filters && filters.length > 0) { + params[filterParam] = me.encodeFilters(filters); + } + + return params; + }, + + + buildUrl: function(request) { + var me = this, + url = me.getUrl(request); + + + if (me.noCache) { + url = Ext.urlAppend(url, Ext.String.format("{0}={1}", me.cacheString, Ext.Date.now())); + } + + return url; + }, + + + getUrl: function(request) { + return request.url || this.api[request.action] || this.url; + }, + + + doRequest: function(operation, callback, scope) { + }, + + + afterRequest: Ext.emptyFn, + + onDestroy: function() { + Ext.destroy(this.reader, this.writer); + } +}); + + +Ext.define('Ext.data.proxy.Ajax', { + requires: ['Ext.util.MixedCollection', 'Ext.Ajax'], + extend: 'Ext.data.proxy.Server', + alias: 'proxy.ajax', + alternateClassName: ['Ext.data.HttpProxy', 'Ext.data.AjaxProxy'], + + + actionMethods: { + create : 'POST', + read : 'GET', + update : 'POST', + destroy: 'POST' + }, + + + + doRequest: function(operation, callback, scope) { + var writer = this.getWriter(), + request = this.buildRequest(operation, callback, scope); + + if (operation.allowWrite()) { + request = writer.write(request); + } + + Ext.apply(request, { + headers : this.headers, + timeout : this.timeout, + scope : this, + callback : this.createRequestCallback(request, operation, callback, scope), + method : this.getMethod(request), + disableCaching: false + }); + + Ext.Ajax.request(request); + + return request; + }, + + + getMethod: function(request) { + return this.actionMethods[request.action]; + }, + + + createRequestCallback: function(request, operation, callback, scope) { + var me = this; + + return function(options, success, response) { + me.processResponse(success, operation, request, response, callback, scope); + }; + } +}, function() { + + Ext.data.HttpProxy = this; +}); + + +Ext.define('Ext.data.proxy.Client', { + extend: 'Ext.data.proxy.Proxy', + alternateClassName: 'Ext.data.ClientProxy', + + + isSynchronous: true, + + + clear: function() { + } +}); + + +Ext.define('Ext.data.proxy.Memory', { + extend: 'Ext.data.proxy.Client', + alias: 'proxy.memory', + alternateClassName: 'Ext.data.MemoryProxy', + + + + constructor: function(config) { + this.callParent([config]); + + + this.setReader(this.reader); + }, + + + updateOperation: function(operation, callback, scope) { + var i = 0, + recs = operation.getRecords(), + len = recs.length; + + for (i; i < len; i++) { + recs[i].commit(); + } + operation.setCompleted(); + operation.setSuccessful(); + + Ext.callback(callback, scope || this, [operation]); + }, + + + create: function() { + this.updateOperation.apply(this, arguments); + }, + + + update: function() { + this.updateOperation.apply(this, arguments); + }, + + + destroy: function() { + this.updateOperation.apply(this, arguments); + }, + + + read: function(operation, callback, scope) { + var me = this; + + operation.resultSet = me.getReader().read(me.data); + + operation.setCompleted(); + operation.setSuccessful(); + Ext.callback(callback, scope || me, [operation]); + }, + + clear: Ext.emptyFn +}); + + +Ext.define('Ext.util.LruCache', { + extend: 'Ext.util.HashMap', + + + + constructor: function(config) { + Ext.apply(this, config); + this.callParent([config]); + }, + + + add: function(key, newValue) { + var me = this, + existingKey = me.findKey(newValue), + entry; + + + if (existingKey) { + me.unlinkEntry(entry = me.map[existingKey]); + entry.prev = me.last; + entry.next = null; + } + + else { + entry = { + prev: me.last, + next: null, + key: key, + value: newValue + }; + } + + + if (me.last) { + me.last.next = entry; + } + + else { + me.first = entry; + } + me.last = entry; + me.callParent([key, entry]); + me.prune(); + return newValue; + }, + + + insertBefore: function(key, newValue, sibling) { + var me = this, + existingKey, + entry; + + + + if (sibling = this.map[this.findKey(sibling)]) { + existingKey = me.findKey(newValue); + + + if (existingKey) { + me.unlinkEntry(entry = me.map[existingKey]); + } + + else { + entry = { + prev: sibling.prev, + next: sibling, + key: key, + value: newValue + }; + } + + if (sibling.prev) { + entry.prev.next = entry; + } else { + me.first = entry; + } + entry.next = sibling; + sibling.prev = entry; + me.prune(); + return newValue; + } + + else { + return me.add(key, newValue); + } + }, + + + get: function(key) { + var entry = this.map[key]; + if (entry) { + + + if (entry.next) { + this.moveToEnd(entry); + } + return entry.value; + } + }, + + + removeAtKey: function(key) { + this.unlinkEntry(this.map[key]); + return this.callParent(arguments); + }, + + + clear: function( initial) { + this.first = this.last = null; + return this.callParent(arguments); + }, + + + unlinkEntry: function(entry) { + + if (entry) { + if (entry.next) { + entry.next.prev = entry.prev; + } else { + this.last = entry.prev; + } + if (entry.prev) { + entry.prev.next = entry.next; + } else { + this.first = entry.next; + } + entry.prev = entry.next = null; + } + }, + + + moveToEnd: function(entry) { + this.unlinkEntry(entry); + + + + if (entry.prev = this.last) { + this.last.next = entry; + } + + else { + this.first = entry; + } + this.last = entry; + }, + + + getArray: function(isKey) { + var arr = [], + entry = this.first; + + while (entry) { + arr.push(isKey ? entry.key: entry.value); + entry = entry.next; + } + return arr; + }, + + + each: function(fn, scope, reverse) { + var me = this, + entry = reverse ? me.last : me.first, + length = me.length; + + scope = scope || me; + while (entry) { + if (fn.call(scope, entry.key, entry.value, length) === false) { + break; + } + entry = reverse ? entry.prev : entry.next; + } + return me; + }, + + + findKey: function(value) { + var key, + map = this.map; + + for (key in map) { + if (map.hasOwnProperty(key) && map[key].value === value) { + return key; + } + } + return undefined; + }, + + + prune: function() { + var me = this, + purgeCount = me.maxSize ? (me.length - me.maxSize) : 0; + + if (purgeCount > 0) { + for (; me.first && purgeCount; purgeCount--) { + me.removeAtKey(me.first.key); + } + } + } + + + + + +}); + + +Ext.define('Ext.data.Store', { + extend: 'Ext.data.AbstractStore', + + alias: 'store.store', + + + + + requires: [ + 'Ext.data.StoreManager', + 'Ext.data.Model', + 'Ext.data.proxy.Ajax', + 'Ext.data.proxy.Memory', + 'Ext.data.reader.Json', + 'Ext.data.writer.Json', + 'Ext.util.LruCache' + ], + + uses: [ + 'Ext.ModelManager', + 'Ext.util.Grouper' + ], + + remoteSort: false, + remoteFilter: false, + + + remoteGroup : false, + + + + + + + groupField: undefined, + + + groupDir: "ASC", + + + trailingBufferZone: 25, + + + leadingBufferZone: 200, + + + pageSize: undefined, + + + currentPage: 1, + + + clearOnPageLoad: true, + + + loading: false, + + + sortOnFilter: true, + + + buffered: false, + + + purgePageCount: 5, + + + clearRemovedOnLoad: true, + + defaultPageSize: 25, + + + addRecordsOptions: { + addRecords: true + }, + + statics: { + recordIdFn: function(record) { + return record.internalId; + }, + recordIndexFn: function(record) { + return record.index; + } + }, + + onClassExtended: function(cls, data, hooks) { + var model = data.model, + onBeforeClassCreated; + + if (typeof model == 'string') { + onBeforeClassCreated = hooks.onBeforeCreated; + + hooks.onBeforeCreated = function() { + var me = this, + args = arguments; + + Ext.require(model, function() { + onBeforeClassCreated.apply(me, args); + }); + }; + } + }, + + + constructor: function(config) { + + config = Ext.Object.merge({}, config); + + var me = this, + groupers = config.groupers || me.groupers, + groupField = config.groupField || me.groupField, + proxy, + data; + + + + + data = config.data || me.data; + + + me.data = new Ext.util.MixedCollection(false, Ext.data.Store.recordIdFn); + + if (data) { + me.inlineData = data; + delete config.data; + } + + if (!groupers && groupField) { + groupers = [{ + property : groupField, + direction: config.groupDir || me.groupDir + }]; + } + delete config.groupers; + + + me.groupers = new Ext.util.MixedCollection(); + me.groupers.addAll(me.decodeGroupers(groupers)); + + this.callParent([config]); + + + if (me.buffered) { + + + me.pageMap = new me.PageMap({ + pageSize: me.pageSize, + maxSize: me.purgePageCount, + listeners: { + + + clear: me.cancelAllPrefetches, + scope: me + } + }); + me.pageRequests = {}; + + me.sortOnLoad = false; + me.filterOnLoad = false; + } + + + if (me.remoteGroup) { + me.remoteSort = true; + } + if (me.groupers.items.length && !me.remoteGroup) { + me.sort(me.groupers.items, 'prepend', false); + } + + proxy = me.proxy; + data = me.inlineData; + + + + if (!me.buffered && !me.pageSize) { + me.pageSize = me.defaultPageSize; + } + + if (data) { + if (proxy instanceof Ext.data.proxy.Memory) { + proxy.data = data; + me.read(); + } else { + me.add.apply(me, [data]); + } + + me.sort(); + delete me.inlineData; + } else if (me.autoLoad) { + Ext.defer(me.load, 10, me, [ typeof me.autoLoad === 'object' ? me.autoLoad : undefined ]); + + + } + }, + + + + destroyStore: function() { + this.callParent(arguments); + + + + + if (this.pageMap) { + this.pageMap.clear(); + } + }, + + onBeforeSort: function() { + var groupers = this.groupers; + if (groupers.getCount() > 0) { + this.sort(groupers.items, 'prepend', false); + } + }, + + + decodeGroupers: function(groupers) { + if (!Ext.isArray(groupers)) { + if (groupers === undefined) { + groupers = []; + } else { + groupers = [groupers]; + } + } + + var length = groupers.length, + Grouper = Ext.util.Grouper, + config, i, result = []; + + for (i = 0; i < length; i++) { + config = groupers[i]; + + if (!(config instanceof Grouper)) { + if (Ext.isString(config)) { + config = { + property: config + }; + } + + config = Ext.apply({ + root : 'data', + direction: "ASC" + }, config); + + + if (config.fn) { + config.sorterFn = config.fn; + } + + + if (typeof config == 'function') { + config = { + sorterFn: config + }; + } + + + result.push(new Grouper(config)); + } else { + result.push(config); + } + } + return result; + }, + + + group: function(groupers, direction) { + var me = this, + hasNew = false, + grouper, + newGroupers; + + if (Ext.isArray(groupers)) { + newGroupers = groupers; + } else if (Ext.isObject(groupers)) { + newGroupers = [groupers]; + } else if (Ext.isString(groupers)) { + grouper = me.groupers.get(groupers); + + if (!grouper) { + grouper = { + property : groupers, + direction: direction + }; + newGroupers = [grouper]; + } else if (direction === undefined) { + grouper.toggle(); + } else { + grouper.setDirection(direction); + } + } + + if (newGroupers && newGroupers.length) { + hasNew = true; + newGroupers = me.decodeGroupers(newGroupers); + me.groupers.clear(); + me.groupers.addAll(newGroupers); + } + + if (me.remoteGroup) { + if (me.buffered) { + me.pageMap.clear(); + me.loadPage(1, { groupChange: true }); + } else { + me.load({ + scope: me, + callback: me.fireGroupChange + }); + } + } else { + + me.sort(null, null, null, hasNew); + me.fireGroupChange(); + } + }, + + + clearGrouping: function() { + var me = this, + groupers = me.groupers.items, + gLen = groupers.length, + grouper, g; + + for (g = 0; g < gLen; g++) { + grouper = groupers[g]; + + me.sorters.remove(grouper); + } + me.groupers.clear(); + if (me.remoteGroup) { + if (me.buffered) { + me.pageMap.clear(); + me.loadPage(1, { groupChange: true }); + } else { + me.load({ + scope: me, + callback: me.fireGroupChange + }); + } + } else { + me.sort(); + me.fireGroupChange(); + } + }, + + + isGrouped: function() { + return this.groupers.getCount() > 0; + }, + + + fireGroupChange: function() { + this.fireEvent('groupchange', this, this.groupers); + }, + + + getGroups: function(requestGroupString) { + var records = this.data.items, + length = records.length, + groups = [], + pointers = {}, + record, + groupStr, + group, + i; + + for (i = 0; i < length; i++) { + record = records[i]; + groupStr = this.getGroupString(record); + group = pointers[groupStr]; + + if (group === undefined) { + group = { + name: groupStr, + children: [] + }; + + groups.push(group); + pointers[groupStr] = group; + } + + group.children.push(record); + } + + return requestGroupString ? pointers[requestGroupString] : groups; + }, + + + getGroupsForGrouper: function(records, grouper) { + var length = records.length, + groups = [], + oldValue, + newValue, + record, + group, + i; + + for (i = 0; i < length; i++) { + record = records[i]; + newValue = grouper.getGroupString(record); + + if (newValue !== oldValue) { + group = { + name: newValue, + grouper: grouper, + records: [] + }; + groups.push(group); + } + + group.records.push(record); + + oldValue = newValue; + } + + return groups; + }, + + + getGroupsForGrouperIndex: function(records, grouperIndex) { + var me = this, + groupers = me.groupers, + grouper = groupers.getAt(grouperIndex), + groups = me.getGroupsForGrouper(records, grouper), + length = groups.length, + i; + + if (grouperIndex + 1 < groupers.length) { + for (i = 0; i < length; i++) { + groups[i].children = me.getGroupsForGrouperIndex(groups[i].records, grouperIndex + 1); + } + } + + for (i = 0; i < length; i++) { + groups[i].depth = grouperIndex; + } + + return groups; + }, + + + getGroupData: function(sort) { + var me = this; + if (sort !== false) { + me.sort(); + } + + return me.getGroupsForGrouperIndex(me.data.items, 0); + }, + + + getGroupString: function(instance) { + var group = this.groupers.first(); + if (group) { + return instance.get(group.property); + } + return ''; + }, + + + insert: function(index, records) { + var me = this, + sync = false, + i, + record, + len; + + records = [].concat(records); + for (i = 0,len = records.length; i < len; i++) { + record = me.createModel(records[i]); + record.set(me.modelDefaults); + + records[i] = record; + + me.data.insert(index + i, record); + record.join(me); + + sync = sync || record.phantom === true; + } + + if (me.snapshot) { + me.snapshot.addAll(records); + } + + if (me.requireSort) { + + me.suspendEvents(); + me.sort(); + me.resumeEvents(); + } + + me.fireEvent('add', me, records, index); + me.fireEvent('datachanged', me); + if (me.autoSync && sync && !me.autoSyncSuspended) { + me.sync(); + } + }, + + + add: function(records) { + + if (!Ext.isArray(records)) { + records = Array.prototype.slice.apply(arguments); + } else { + + records = records.slice(0); + } + + var me = this, + i = 0, + length = records.length, + record, + isSorted = !me.remoteSort && me.sorters && me.sorters.items.length; + + + + if (isSorted && length === 1) { + return [ me.addSorted(me.createModel(records[0])) ]; + } + + for (; i < length; i++) { + record = me.createModel(records[i]); + + records[i] = record; + } + + + + if (isSorted) { + me.requireSort = true; + } + + me.insert(me.data.length, records); + delete me.requireSort; + + return records; + }, + + + addSorted: function(record) { + var me = this, + index = me.data.findInsertionIndex(record, me.generateComparator()); + + me.insert(index, record); + return record; + }, + + + createModel: function(record) { + if (!record.isModel) { + record = Ext.ModelManager.create(record, this.model); + } + + return record; + }, + + + each: function(fn, scope) { + var data = this.data.items, + dLen = data.length, + record, d; + + for (d = 0; d < dLen; d++) { + record = data[d]; + if (fn.call(scope || record, record, d, dLen) === false) { + break; + } + } + }, + + + remove: function(records, isMove) { + if (!Ext.isArray(records)) { + records = [records]; + } + + + isMove = isMove === true; + var me = this, + sync = false, + i = 0, + length = records.length, + isNotPhantom, + index, + record; + + for (; i < length; i++) { + record = records[i]; + index = me.data.indexOf(record); + + if (me.snapshot) { + me.snapshot.remove(record); + } + + if (index > -1) { + isNotPhantom = record.phantom !== true; + + + if (!isMove && isNotPhantom) { + + + + record.removedFrom = index; + me.removed.push(record); + } + + record.unjoin(me); + me.data.remove(record); + sync = sync || isNotPhantom; + + me.fireEvent('remove', me, record, index); + } + } + + me.fireEvent('datachanged', me); + if (!isMove && me.autoSync && sync && !me.autoSyncSuspended) { + me.sync(); + } + }, + + + removeAt: function(index) { + var record = this.getAt(index); + + if (record) { + this.remove(record); + } + }, + + + load: function(options) { + var me = this; + + options = options || {}; + + if (typeof options == 'function') { + options = { + callback: options + }; + } + + options.groupers = options.groupers || me.groupers.items; + options.page = options.page || me.currentPage; + options.start = (options.start !== undefined) ? options.start : (options.page - 1) * me.pageSize; + options.limit = options.limit || me.pageSize; + options.addRecords = options.addRecords || false; + + if (me.buffered) { + return me.loadToPrefetch(options); + } + return me.callParent([options]); + }, + + reload: function(options) { + var me = this, + startIdx, + endIdx, + startPage, + endPage, + i, + waitForReload, + bufferZone, + records; + + if (!options) { + options = {}; + } + + + + if (me.buffered) { + + + delete me.totalCount; + + waitForReload = function() { + if (me.rangeCached(startIdx, endIdx)) { + me.loading = false; + me.pageMap.un('pageAdded', waitForReload); + records = me.pageMap.getRange(startIdx, endIdx); + me.loadRecords(records, { + start: startIdx + }); + me.fireEvent('load', me, records, true); + } + }; + bufferZone = Math.ceil((me.leadingBufferZone + me.trailingBufferZone) / 2); + + + startIdx = options.start || me.getAt(0).index; + endIdx = startIdx + (options.count || me.getCount()) - 1; + + + startPage = me.getPageFromRecordIndex(Math.max(startIdx - bufferZone, 0)); + endPage = me.getPageFromRecordIndex(endIdx + bufferZone); + + + me.pageMap.clear(true); + + if (me.fireEvent('beforeload', me, options) !== false) { + me.loading = true; + + + for (i = startPage; i <= endPage; i++) { + me.prefetchPage(i, options); + } + + + + me.pageMap.on('pageAdded', waitForReload); + } + } else { + return me.callParent(arguments); + } + }, + + + onProxyLoad: function(operation) { + var me = this, + resultSet = operation.getResultSet(), + records = operation.getRecords(), + successful = operation.wasSuccessful(); + + if (resultSet) { + me.totalCount = resultSet.total; + } + + if (successful) { + me.loadRecords(records, operation); + } + + me.loading = false; + if (me.hasListeners.load) { + me.fireEvent('load', me, records, successful); + } + + + + if (me.hasListeners.read) { + me.fireEvent('read', me, records, successful); + } + + + Ext.callback(operation.callback, operation.scope || me, [records, operation, successful]); + }, + + + getNewRecords: function() { + return this.data.filterBy(this.filterNew).items; + }, + + + getUpdatedRecords: function() { + return this.data.filterBy(this.filterUpdated).items; + }, + + + filter: function(filters, value) { + if (Ext.isString(filters)) { + filters = { + property: filters, + value: value + }; + } + + var me = this, + decoded = me.decodeFilters(filters), + i = 0, + doLocalSort = me.sorters.length && me.sortOnFilter && !me.remoteSort, + length = decoded.length; + + for (; i < length; i++) { + me.filters.replace(decoded[i]); + } + + if (me.remoteFilter) { + + delete me.totalCount; + + + + + if (me.buffered) { + me.pageMap.clear(); + me.loadPage(1); + } else { + + me.currentPage = 1; + + me.load(); + } + } else { + + if (me.filters.getCount()) { + me.snapshot = me.snapshot || me.data.clone(); + me.data = me.data.filter(me.filters.items); + + if (doLocalSort) { + me.sort(); + } else { + + me.fireEvent('datachanged', me); + me.fireEvent('refresh', me); + } + } + } + }, + + + clearFilter: function(suppressEvent) { + var me = this; + + me.filters.clear(); + + if (me.remoteFilter) { + + + if (suppressEvent) { + return; + } + + + delete me.totalCount; + + + + + if (me.buffered) { + me.pageMap.clear(); + me.loadPage(1); + } else { + + me.currentPage = 1; + me.load(); + } + } else if (me.isFiltered()) { + me.data = me.snapshot.clone(); + delete me.snapshot; + + if (suppressEvent !== true) { + me.fireEvent('datachanged', me); + me.fireEvent('refresh', me); + } + } + }, + + + isFiltered: function() { + var snapshot = this.snapshot; + return !! snapshot && snapshot !== this.data; + }, + + + filterBy: function(fn, scope) { + var me = this; + + me.snapshot = me.snapshot || me.data.clone(); + me.data = me.queryBy(fn, scope || me); + me.fireEvent('datachanged', me); + me.fireEvent('refresh', me); + }, + + + queryBy: function(fn, scope) { + var me = this, + data = me.snapshot || me.data; + return data.filterBy(fn, scope || me); + }, + + + query: function(property, value, anyMatch, caseSensitive, exactMatch) { + var me = this, + queryFn = me.createFilterFn(property, value, anyMatch, caseSensitive, exactMatch), + results = me.queryBy(queryFn); + + + if(!results) { + results = new Ext.util.MixedCollection(); + } + + return results; + }, + + + loadData: function(data, append) { + var me = this, + model = me.model, + length = data.length, + newData = [], + i, + record; + + + for (i = 0; i < length; i++) { + record = data[i]; + + if (!(record.isModel)) { + record = Ext.ModelManager.create(record, model); + } + newData.push(record); + } + + me.loadRecords(newData, append ? me.addRecordsOptions : undefined); + }, + + + loadRawData : function(data, append) { + var me = this, + result = me.proxy.reader.read(data), + records = result.records; + + if (result.success) { + me.totalCount = result.total; + me.loadRecords(records, append ? me.addRecordsOptions : undefined); + me.fireEvent('load', me, records, true); + } + }, + + + loadRecords: function(records, options) { + var me = this, + i = 0, + length = records.length, + start, + addRecords, + snapshot = me.snapshot; + + if (options) { + start = options.start; + addRecords = options.addRecords; + } + + if (!addRecords) { + delete me.snapshot; + me.clearData(true); + } else if (snapshot) { + snapshot.addAll(records); + } + + me.data.addAll(records); + + if (start !== undefined) { + for (; i < length; i++) { + records[i].index = start + i; + records[i].join(me); + } + } else { + for (; i < length; i++) { + records[i].join(me); + } + } + + + me.suspendEvents(); + + if (me.filterOnLoad && !me.remoteFilter) { + me.filter(); + } + + if (me.sortOnLoad && !me.remoteSort) { + me.sort(undefined, undefined, undefined, true); + } + + me.resumeEvents(); + me.fireEvent('datachanged', me); + me.fireEvent('refresh', me); + }, + + + + loadPage: function(page, options) { + var me = this; + + me.currentPage = page; + + + options = Ext.apply({ + page: page, + start: (page - 1) * me.pageSize, + limit: me.pageSize, + addRecords: !me.clearOnPageLoad + }, options); + + if (me.buffered) { + return me.loadToPrefetch(options); + } + me.read(options); + }, + + + nextPage: function(options) { + this.loadPage(this.currentPage + 1, options); + }, + + + previousPage: function(options) { + this.loadPage(this.currentPage - 1, options); + }, + + + clearData: function(isLoad) { + var me = this, + records = me.data.items, + i = records.length; + + while (i--) { + records[i].unjoin(me); + } + me.data.clear(); + if (isLoad !== true || me.clearRemovedOnLoad) { + me.removed.length = 0; + } + }, + + loadToPrefetch: function(options) { + var me = this, + i, + records, + + + startIdx = options.start, + endIdx = options.start + options.limit - 1, + + + loadEndIdx = options.start + (me.viewSize || options.limit) - 1, + + + startPage = me.getPageFromRecordIndex(Math.max(startIdx - me.trailingBufferZone, 0)), + endPage = me.getPageFromRecordIndex(endIdx + me.leadingBufferZone), + + + waitForRequestedRange = function() { + if (me.rangeCached(startIdx, loadEndIdx)) { + me.loading = false; + records = me.pageMap.getRange(startIdx, loadEndIdx); + me.pageMap.un('pageAdded', waitForRequestedRange); + + + if (me.hasListeners.guaranteedrange) { + me.guaranteeRange(startIdx, loadEndIdx, options.callback, options.scope); + } + + else { + me.loadRecords(records, { + start: startIdx + }); + } + me.fireEvent('load', me, records, true); + if (options.groupChange) { + me.fireGroupChange(); + } + } + }; + + if (me.fireEvent('beforeload', me, options) !== false) { + + + delete me.totalCount; + + me.loading = true; + + + me.pageMap.on('pageAdded', waitForRequestedRange); + + + + + + me.on('prefetch', function(){ + for (i = startPage + 1; i <= endPage; ++i) { + me.prefetchPage(i, options); + } + }, null, {single: true}); + + me.prefetchPage(startPage, options); + } + }, + + + + prefetch: function(options) { + var me = this, + pageSize = me.pageSize, + proxy, + operation; + + + if (pageSize) { + if (me.lastPageSize && pageSize != me.lastPageSize) { + Ext.error.raise("pageSize cannot be dynamically altered"); + } + if (!me.pageMap.pageSize) { + me.pageMap.pageSize = pageSize; + } + } + + + else { + me.pageSize = me.pageMap.pageSize = pageSize = options.limit; + } + + + me.lastPageSize = pageSize; + + + if (!options.page) { + options.page = me.getPageFromRecordIndex(options.start); + options.start = (options.page - 1) * pageSize; + options.limit = Math.ceil(options.limit / pageSize) * pageSize; + } + + + if (!me.pageRequests[options.page]) { + + + options = Ext.apply({ + action : 'read', + filters: me.filters.items, + sorters: me.sorters.items, + groupers: me.groupers.items, + + + + generation: me.pageMap.generation + }, options); + + operation = new Ext.data.Operation(options); + + if (me.fireEvent('beforeprefetch', me, operation) !== false) { + me.loading = true; + proxy = me.proxy; + me.pageRequests[options.page] = proxy.read(operation, me.onProxyPrefetch, me); + if (proxy.isSynchronous) { + delete me.pageRequests[options.page]; + } + } + } + + return me; + }, + + + cancelAllPrefetches: function() { + var me = this, + reqs = me.pageRequests, + req, + page; + + + if (me.pageMap.events.pageadded) { + me.pageMap.events.pageadded.clearListeners(); + } + + + for (page in reqs) { + if (reqs.hasOwnProperty(page)) { + req = reqs[page]; + delete reqs[page]; + delete req.callback; + } + } + }, + + + prefetchPage: function(page, options) { + var me = this, + pageSize = me.pageSize || me.defaultPageSize, + start = (page - 1) * me.pageSize, + total = me.totalCount; + + + if (total !== undefined && me.getCount() === total) { + return; + } + + + me.prefetch(Ext.applyIf({ + page : page, + start : start, + limit : pageSize + }, options)); + }, + + + onProxyPrefetch: function(operation) { + var me = this, + resultSet = operation.getResultSet(), + records = operation.getRecords(), + successful = operation.wasSuccessful(), + page = operation.page; + + + + if (operation.generation === me.pageMap.generation) { + + if (resultSet) { + me.totalCount = resultSet.total; + me.fireEvent('totalcountchange', me.totalCount); + } + + + if (page !== undefined) { + delete me.pageRequests[page]; + } + + + + if (successful) { + me.cachePage(records, operation.page); + } + + me.loading = false; + me.fireEvent('prefetch', me, records, successful, operation); + + + Ext.callback(operation.callback, operation.scope || me, [records, operation, successful]); + } + }, + + + cachePage: function(records, page) { + var me = this; + + if (!Ext.isDefined(me.totalCount)) { + me.totalCount = records.length; + me.fireEvent('totalcountchange', me.totalCount); + } + + + me.pageMap.addPage(page, records); + }, + + + rangeCached: function(start, end) { + return this.pageMap && this.pageMap.hasRange(start, end); + }, + + + pageCached: function(page) { + return this.pageMap && this.pageMap.hasPage(page); + }, + + + rangeSatisfied: function(start, end) { + return this.rangeCached(start, end); + }, + + + getPageFromRecordIndex: function(index) { + return Math.floor(index / this.pageSize) + 1; + }, + + + onGuaranteedRange: function(options) { + var me = this, + totalCount = me.getTotalCount(), + start = options.prefetchStart, + end = ((totalCount - 1) < options.prefetchEnd) ? totalCount - 1 : options.prefetchEnd, + range; + + end = Math.max(0, end); + + + range = me.pageMap.getRange(start, end); + me.fireEvent('guaranteedrange', range, start, end); + if (options.cb) { + options.cb.call(options.scope || me, range, start, end); + } + }, + + + prefetchRange: function(start, end) { + var me = this, + startPage, endPage, page; + if (!me.rangeCached(start, end)) { + startPage = me.getPageFromRecordIndex(start); + endPage = me.getPageFromRecordIndex(end); + + + + + me.pageMap.maxSize = me.purgePageCount ? (endPage - startPage + 1) + me.purgePageCount : 0; + + + for (page = startPage; page <= endPage; page++) { + if (!me.pageCached(page)) { + me.prefetchPage(page); + } + } + } + }, + + + guaranteeRange: function(start, end, cb, scope) { + + end = (end > this.totalCount) ? this.totalCount - 1 : end; + + var me = this, + lastRequestStart = me.lastRequestStart, + options = { + prefetchStart: start, + prefetchEnd: end, + cb: cb, + scope: scope + }, + pageAddHandler; + + me.lastRequestStart = start; + + + if (me.rangeCached(start, end)) { + + + if (start < lastRequestStart) { + start = Math.max(start - me.leadingBufferZone, 0); + end = Math.min(end + me.trailingBufferZone, me.totalCount - 1); + } else { + start = Math.max(Math.min(start - me.trailingBufferZone, me.totalCount - me.pageSize), 0); + end = Math.min(end + me.leadingBufferZone, me.totalCount - 1); + } + + + + if (!me.rangeCached(start, end)) { + + me.prefetchRange(start, end); + } + me.onGuaranteedRange(options); + } + + else { + + me.fireEvent('cachemiss', me, start, end); + + + start = Math.min(Math.max(Math.floor(start - ((me.leadingBufferZone + me.trailingBufferZone) / 2)), 0), me.totalCount - me.pageSize); + end = Math.min(Math.max(Math.ceil (end + ((me.leadingBufferZone + me.trailingBufferZone) / 2)), 0), me.totalCount - 1); + + + pageAddHandler = function(page, records) { + if (me.rangeCached(options.prefetchStart, options.prefetchEnd)) { + + me.fireEvent('cachefilled', me, start, end); + me.pageMap.un('pageAdded', pageAddHandler); + me.onGuaranteedRange(options); + } + }; + me.pageMap.on('pageAdded', pageAddHandler); + + + + + me.prefetchRange(options.prefetchStart, options.prefetchEnd); + + + me.prefetchRange(start, end); + } + }, + + + + sort: function() { + var me = this, + prefetchData = me.pageMap; + + if (me.buffered) { + if (me.remoteSort) { + prefetchData.clear(); + me.callParent(arguments); + } else { + me.callParent(arguments); + } + } else { + me.callParent(arguments); + } + }, + + + + + doSort: function(sorterFn) { + var me = this, + range, + ln, + i; + if (me.remoteSort) { + + + + + if (me.buffered) { + me.pageMap.clear(); + me.loadPage(1); + } else { + + me.load(); + } + } else { + me.data.sortBy(sorterFn); + if (!me.buffered) { + range = me.getRange(); + ln = range.length; + for (i = 0; i < ln; i++) { + range[i].index = i; + } + } + me.fireEvent('datachanged', me); + me.fireEvent('refresh', me); + } + }, + + + find: function(property, value, start, anyMatch, caseSensitive, exactMatch) { + var fn = this.createFilterFn(property, value, anyMatch, caseSensitive, exactMatch); + return fn ? this.data.findIndexBy(fn, null, start) : -1; + }, + + + findRecord: function() { + var me = this, + index = me.find.apply(me, arguments); + return index !== -1 ? me.getAt(index) : null; + }, + + + createFilterFn: function(property, value, anyMatch, caseSensitive, exactMatch) { + if (Ext.isEmpty(value)) { + return false; + } + value = this.data.createValueMatcher(value, anyMatch, caseSensitive, exactMatch); + return function(r) { + return value.test(r.data[property]); + }; + }, + + + findExact: function(property, value, start) { + return this.data.findIndexBy(function(rec) { + return rec.isEqual(rec.get(property), value); + }, + this, start); + }, + + + findBy: function(fn, scope, start) { + return this.data.findIndexBy(fn, scope, start); + }, + + + collect: function(dataIndex, allowNull, bypassFilter) { + var me = this, + data = (bypassFilter === true && me.snapshot) ? me.snapshot : me.data; + + return data.collect(dataIndex, 'data', allowNull); + }, + + + getCount: function() { + return this.data.length || 0; + }, + + + getTotalCount: function() { + return this.totalCount || 0; + }, + + + getAt: function(index) { + return this.data.getAt(index); + }, + + + getRange: function(start, end) { + return this.data.getRange(start, end); + }, + + + getById: function(id) { + return (this.snapshot || this.data).findBy(function(record) { + return record.getId() === id; + }); + }, + + + indexOf: function(record) { + return this.data.indexOf(record); + }, + + + + indexOfTotal: function(record) { + var index = record.index; + if (index || index === 0) { + return index; + } + return this.indexOf(record); + }, + + + indexOfId: function(id) { + return this.indexOf(this.getById(id)); + }, + + + removeAll: function(silent) { + var me = this; + + me.clearData(); + if (me.snapshot) { + me.snapshot.clear(); + } + + + + if (me.pageMap) { + me.pageMap.clear(); + } + if (silent !== true) { + me.fireEvent('clear', me); + } + }, + + + + + first: function(grouped) { + var me = this; + + if (grouped && me.isGrouped()) { + return me.aggregate(function(records) { + return records.length ? records[0] : undefined; + }, me, true); + } else { + return me.data.first(); + } + }, + + + last: function(grouped) { + var me = this; + + if (grouped && me.isGrouped()) { + return me.aggregate(function(records) { + var len = records.length; + return len ? records[len - 1] : undefined; + }, me, true); + } else { + return me.data.last(); + } + }, + + + sum: function(field, grouped) { + var me = this; + + if (grouped && me.isGrouped()) { + return me.aggregate(me.getSum, me, true, [field]); + } else { + return me.getSum(me.data.items, field); + } + }, + + + getSum: function(records, field) { + var total = 0, + i = 0, + len = records.length; + + for (; i < len; ++i) { + total += records[i].get(field); + } + + return total; + }, + + + count: function(grouped) { + var me = this; + + if (grouped && me.isGrouped()) { + return me.aggregate(function(records) { + return records.length; + }, me, true); + } else { + return me.getCount(); + } + }, + + + min: function(field, grouped) { + var me = this; + + if (grouped && me.isGrouped()) { + return me.aggregate(me.getMin, me, true, [field]); + } else { + return me.getMin(me.data.items, field); + } + }, + + + getMin: function(records, field) { + var i = 1, + len = records.length, + value, min; + + if (len > 0) { + min = records[0].get(field); + } + + for (; i < len; ++i) { + value = records[i].get(field); + if (value < min) { + min = value; + } + } + return min; + }, + + + max: function(field, grouped) { + var me = this; + + if (grouped && me.isGrouped()) { + return me.aggregate(me.getMax, me, true, [field]); + } else { + return me.getMax(me.data.items, field); + } + }, + + + getMax: function(records, field) { + var i = 1, + len = records.length, + value, + max; + + if (len > 0) { + max = records[0].get(field); + } + + for (; i < len; ++i) { + value = records[i].get(field); + if (value > max) { + max = value; + } + } + return max; + }, + + + average: function(field, grouped) { + var me = this; + if (grouped && me.isGrouped()) { + return me.aggregate(me.getAverage, me, true, [field]); + } else { + return me.getAverage(me.data.items, field); + } + }, + + + getAverage: function(records, field) { + var i = 0, + len = records.length, + sum = 0; + + if (records.length > 0) { + for (; i < len; ++i) { + sum += records[i].get(field); + } + return sum / len; + } + return 0; + }, + + + aggregate: function(fn, scope, grouped, args) { + args = args || []; + if (grouped && this.isGrouped()) { + var groups = this.getGroups(), + i = 0, + len = groups.length, + out = {}, + group; + + for (; i < len; ++i) { + group = groups[i]; + out[group.name] = fn.apply(scope || this, [group.children].concat(args)); + } + return out; + } else { + return fn.apply(scope || this, [this.data.items].concat(args)); + } + }, + + + commitChanges : function(){ + var me = this, + recs = me.getModifiedRecords(), + len = recs.length, + i = 0; + + for (; i < len; i++){ + recs[i].commit(); + } + + + + me.removed.length = 0; + }, + + filterNewOnly: function(item){ + return item.phantom === true; + }, + + + + + getRejectRecords: function() { + + return Ext.Array.push(this.data.filterBy(this.filterNewOnly).items, this.getUpdatedRecords()); + }, + + + rejectChanges : function() { + var me = this, + recs = me.getRejectRecords(), + len = recs.length, + i = 0, + rec; + + for (; i < len; i++) { + rec = recs[i]; + rec.reject(); + if (rec.phantom) { + me.remove(rec); + } + } + + + recs = me.removed; + len = recs.length; + for (i = 0; i < len; i++) { + rec = recs[i]; + me.insert(rec.removedFrom || 0, rec); + rec.reject(); + } + + + + me.removed.length = 0; + } +}, function() { + + + + Ext.regStore('ext-empty-store', {fields: [], proxy: 'memory'}); + + + this.prototype.PageMap = new Ext.Class({ + extend: 'Ext.util.LruCache', + + + clear: function(initial) { + this.generation = (this.generation ||0) + 1; + this.callParent(arguments); + }, + + getPageFromRecordIndex: this.prototype.getPageFromRecordIndex, + + addPage: function(page, records) { + this.add(page, records); + this.fireEvent('pageAdded', page, records); + }, + + getPage: function(page) { + return this.get(page); + }, + + hasRange: function(start, end) { + var page = this.getPageFromRecordIndex(start), + endPage = this.getPageFromRecordIndex(end); + + for (; page <= endPage; page++) { + if (!this.hasPage(page)) { + return false; + } + } + return true; + }, + + hasPage: function(page) { + + return !!this.get(page); + }, + + getRange: function(start, end) { + if (!this.hasRange(start, end)) { + Ext.Error.raise('PageMap asked for range which it does not have'); + } + var me = this, + startPage = me.getPageFromRecordIndex(start), + endPage = me.getPageFromRecordIndex(end), + dataStart = (startPage - 1) * me.pageSize, + dataEnd = (endPage * me.pageSize) - 1, + page = startPage, + result = [], + sliceBegin, sliceEnd, doSlice, + i = 0, len; + + for (; page <= endPage; page++) { + + + if (page == startPage) { + sliceBegin = start - dataStart; + doSlice = true; + } else { + sliceBegin = 0; + doSlice = false; + } + if (page == endPage) { + sliceEnd = me.pageSize - (dataEnd - end); + doSlice = true; + } + + + if (doSlice) { + Ext.Array.push(result, Ext.Array.slice(me.getPage(page), sliceBegin, sliceEnd)); + } else { + Ext.Array.push(result, me.getPage(page)); + } + } + + + for (len = result.length; i < len; i++) { + result[i].index = start++; + } + return result; + } + }); +}); + + +Ext.define('Ext.data.reader.Array', { + extend: 'Ext.data.reader.Json', + alternateClassName: 'Ext.data.ArrayReader', + alias : 'reader.array', + + + totalProperty: undefined, + successProperty: undefined, + + + createFieldAccessExpression: function(field, fieldVarName, dataName) { + + + var index = (field.mapping == null) ? field.originalIndex : field.mapping, + result; + + if (typeof index === 'function') { + result = fieldVarName + '.mapping(' + dataName + ', this)'; + } else { + if (isNaN(index)) { + index = '"' + index + '"'; + } + result = dataName + "[" + index + "]"; + } + return result; + } +}); + + +Ext.define('Ext.data.ArrayStore', { + extend: 'Ext.data.Store', + alias: 'store.array', + requires: [ + 'Ext.data.proxy.Memory', + 'Ext.data.reader.Array' + ], + + constructor: function(config) { + config = Ext.apply({ + proxy: { + type: 'memory', + reader: 'array' + } + }, config); + this.callParent([config]); + }, + + loadData: function(data, append) { + if (this.expandData === true) { + var r = [], + i = 0, + ln = data.length; + + for (; i < ln; i++) { + r[r.length] = [data[i]]; + } + + data = r; + } + + this.callParent([data, append]); + } +}, function() { + + Ext.data.SimpleStore = Ext.data.ArrayStore; + +}); + + +Ext.define('Ext.data.Batch', { + mixins: { + observable: 'Ext.util.Observable' + }, + + + autoStart: false, + + + pauseOnException: false, + + + current: -1, + + + total: 0, + + + isRunning: false, + + + isComplete: false, + + + hasException: false, + + + constructor: function(config) { + var me = this; + + + + + + + + me.mixins.observable.constructor.call(me, config); + + + me.operations = []; + + + me.exceptions = []; + }, + + + add: function(operation) { + this.total++; + + operation.setBatch(this); + + this.operations.push(operation); + + return this; + }, + + + start: function( index) { + var me = this; + + if (me.isRunning) { + return me; + } + + me.exceptions.length = 0; + me.hasException = false; + me.isRunning = true; + + return me.runOperation(Ext.isDefined(index) ? index : me.current + 1); + }, + + + retry: function() { + return this.start(this.current); + }, + + + runNextOperation: function() { + return this.runOperation(this.current + 1); + }, + + + pause: function() { + this.isRunning = false; + return this; + }, + + + runOperation: function(index) { + var me = this, + operations = me.operations, + operation = operations[index], + onProxyReturn; + + if (operation === undefined) { + me.isRunning = false; + me.isComplete = true; + me.fireEvent('complete', me, operations[operations.length - 1]); + } else { + me.current = index; + + onProxyReturn = function(operation) { + var hasException = operation.hasException(); + + if (hasException) { + me.hasException = true; + me.exceptions.push(operation); + me.fireEvent('exception', me, operation); + } + + if (hasException && me.pauseOnException) { + me.pause(); + } else { + operation.setCompleted(); + me.fireEvent('operationcomplete', me, operation); + me.runNextOperation(); + } + }; + + operation.setStarted(); + + me.proxy[operation.action](operation, onProxyReturn, me); + } + + return me; + } +}); + + +Ext.define('Ext.data.BufferStore', { + extend: 'Ext.data.Store', + alias: 'store.buffer', + sortOnLoad: false, + filterOnLoad: false, + + constructor: function() { + Ext.Error.raise('The BufferStore class has been deprecated. Instead, specify the buffered config option on Ext.data.Store'); + } +}); + + +Ext.define('Ext.direct.Manager', { + + + singleton: true, + + mixins: { + observable: 'Ext.util.Observable' + }, + + requires: ['Ext.util.MixedCollection'], + + + exceptions: { + TRANSPORT: 'xhr', + PARSE: 'parse', + LOGIN: 'login', + SERVER: 'exception' + }, + + + + constructor: function(){ + var me = this; + + me.addEvents( + + 'event', + + 'exception' + ); + me.transactions = new Ext.util.MixedCollection(); + me.providers = new Ext.util.MixedCollection(); + + me.mixins.observable.constructor.call(me); + }, + + + addProvider : function(provider){ + var me = this, + args = arguments, + i = 0, + len; + + if (args.length > 1) { + for (len = args.length; i < len; ++i) { + me.addProvider(args[i]); + } + return; + } + + + if (!provider.isProvider) { + provider = Ext.create('direct.' + provider.type + 'provider', provider); + } + me.providers.add(provider); + provider.on('data', me.onProviderData, me); + + + if (!provider.isConnected()) { + provider.connect(); + } + + return provider; + }, + + + getProvider : function(id){ + return id.isProvider ? id : this.providers.get(id); + }, + + + removeProvider : function(provider){ + var me = this, + providers = me.providers; + + provider = provider.isProvider ? provider : providers.get(provider); + + if (provider) { + provider.un('data', me.onProviderData, me); + providers.remove(provider); + return provider; + } + return null; + }, + + + addTransaction: function(transaction){ + this.transactions.add(transaction); + return transaction; + }, + + + removeTransaction: function(transaction){ + transaction = this.getTransaction(transaction); + this.transactions.remove(transaction); + return transaction; + }, + + + getTransaction: function(transaction){ + return Ext.isObject(transaction) ? transaction : this.transactions.get(transaction); + }, + + onProviderData : function(provider, event){ + var me = this, + i = 0, + len; + + if (Ext.isArray(event)) { + for (len = event.length; i < len; ++i) { + me.onProviderData(provider, event[i]); + } + return; + } + if (event.name && event.name != 'event' && event.name != 'exception') { + me.fireEvent(event.name, event); + } else if (event.status === false) { + me.fireEvent('exception', event); + } + me.fireEvent('event', event, provider); + }, + + + parseMethod: function(fn){ + if (Ext.isString(fn)) { + var parts = fn.split('.'), + i = 0, + len = parts.length, + current = window; + + while (current && i < len) { + current = current[parts[i]]; + ++i; + } + fn = Ext.isFunction(current) ? current : null; + } + return fn || null; + } + +}, function(){ + + Ext.Direct = Ext.direct.Manager; +}); + + +Ext.define('Ext.data.proxy.Direct', { + + + extend: 'Ext.data.proxy.Server', + alternateClassName: 'Ext.data.DirectProxy', + + alias: 'proxy.direct', + + requires: ['Ext.direct.Manager'], + + + + + paramOrder: undefined, + + + paramsAsHash: true, + + + directFn : undefined, + + + + + + + paramOrderRe: /[\s,|]/, + + constructor: function(config){ + var me = this, + paramOrder, + fn, + api; + + me.callParent(arguments); + + paramOrder = me.paramOrder; + if (Ext.isString(paramOrder)) { + me.paramOrder = paramOrder.split(me.paramOrderRe); + } + + fn = me.directFn; + if (fn) { + me.directFn = Ext.direct.Manager.parseMethod(fn); + } + + api = me.api; + for (fn in api) { + if (api.hasOwnProperty(fn)) { + api[fn] = Ext.direct.Manager.parseMethod(api[fn]); + } + } + }, + + doRequest: function(operation, callback, scope) { + var me = this, + writer = me.getWriter(), + request = me.buildRequest(operation, callback, scope), + fn = me.api[request.action] || me.directFn, + params = request.params, + args = [], + method; + + + if (operation.allowWrite()) { + request = writer.write(request); + } + + if (operation.action == 'read') { + + method = fn.directCfg.method; + args = method.getArgs(params, me.paramOrder, me.paramsAsHash); + } else { + args.push(request.jsonData); + } + + Ext.apply(request, { + args: args, + directFn: fn + }); + args.push(me.createRequestCallback(request, operation, callback, scope), me); + fn.apply(window, args); + }, + + + applyEncoding: function(value){ + return value; + }, + + createRequestCallback: function(request, operation, callback, scope){ + var me = this; + + return function(data, event){ + me.processResponse(event.status, operation, request, event, callback, scope); + }; + }, + + + extractResponseData: function(response){ + return Ext.isDefined(response.result) ? response.result : response.data; + }, + + + setException: function(operation, response) { + operation.setException(response.message); + }, + + + buildUrl: function(){ + return ''; + } +}); + + +Ext.define('Ext.data.DirectStore', { + + + extend: 'Ext.data.Store', + + alias: 'store.direct', + + requires: ['Ext.data.proxy.Direct'], + + + + constructor : function(config){ + config = Ext.apply({}, config); + if (!config.proxy) { + var proxy = { + type: 'direct', + reader: { + type: 'json' + } + }; + Ext.copyTo(proxy, config, 'paramOrder,paramsAsHash,directFn,api,simpleSortMode'); + Ext.copyTo(proxy.reader, config, 'totalProperty,root,idProperty'); + config.proxy = proxy; + } + this.callParent([config]); + } +}); + + +Ext.define('Ext.data.JsonP', { + + + + singleton: true, + + + + + requestCount: 0, + + + requests: {}, + + + timeout: 30000, + + + disableCaching: true, + + + disableCachingParam: '_dc', + + + callbackKey: 'callback', + + + request: function(options){ + options = Ext.apply({}, options); + + + var me = this, + disableCaching = Ext.isDefined(options.disableCaching) ? options.disableCaching : me.disableCaching, + cacheParam = options.disableCachingParam || me.disableCachingParam, + id = ++me.requestCount, + callbackName = options.callbackName || 'callback' + id, + callbackKey = options.callbackKey || me.callbackKey, + timeout = Ext.isDefined(options.timeout) ? options.timeout : me.timeout, + params = Ext.apply({}, options.params), + url = options.url, + name = Ext.name, + request, + script; + + params[callbackKey] = name + '.data.JsonP.' + callbackName; + if (disableCaching) { + params[cacheParam] = new Date().getTime(); + } + + script = me.createScript(url, params, options); + + me.requests[id] = request = { + url: url, + params: params, + script: script, + id: id, + scope: options.scope, + success: options.success, + failure: options.failure, + callback: options.callback, + callbackKey: callbackKey, + callbackName: callbackName + }; + + if (timeout > 0) { + request.timeout = setTimeout(Ext.bind(me.handleTimeout, me, [request]), timeout); + } + + me.setupErrorHandling(request); + me[callbackName] = Ext.bind(me.handleResponse, me, [request], true); + me.loadScript(request); + return request; + }, + + + abort: function(request){ + var me = this, + requests = me.requests, + key; + + if (request) { + if (!request.id) { + request = requests[request]; + } + me.handleAbort(request); + } else { + for (key in requests) { + if (requests.hasOwnProperty(key)) { + me.abort(requests[key]); + } + } + } + }, + + + setupErrorHandling: function(request){ + request.script.onerror = Ext.bind(this.handleError, this, [request]); + }, + + + handleAbort: function(request){ + request.errorType = 'abort'; + this.handleResponse(null, request); + }, + + + handleError: function(request){ + request.errorType = 'error'; + this.handleResponse(null, request); + }, + + + cleanupErrorHandling: function(request){ + request.script.onerror = null; + }, + + + handleTimeout: function(request){ + request.errorType = 'timeout'; + this.handleResponse(null, request); + }, + + + handleResponse: function(result, request){ + + var success = true; + + if (request.timeout) { + clearTimeout(request.timeout); + } + delete this[request.callbackName]; + delete this.requests[request.id]; + this.cleanupErrorHandling(request); + Ext.fly(request.script).remove(); + + if (request.errorType) { + success = false; + Ext.callback(request.failure, request.scope, [request.errorType]); + } else { + Ext.callback(request.success, request.scope, [result]); + } + Ext.callback(request.callback, request.scope, [success, result, request.errorType]); + }, + + + createScript: function(url, params, options) { + var script = document.createElement('script'); + script.setAttribute("src", Ext.urlAppend(url, Ext.Object.toQueryString(params))); + script.setAttribute("async", true); + script.setAttribute("type", "text/javascript"); + return script; + }, + + + loadScript: function (request) { + Ext.getHead().appendChild(request.script); + } +}); + + +Ext.define('Ext.data.proxy.JsonP', { + extend: 'Ext.data.proxy.Server', + alternateClassName: 'Ext.data.ScriptTagProxy', + alias: ['proxy.jsonp', 'proxy.scripttag'], + requires: ['Ext.data.JsonP'], + + defaultWriterType: 'base', + + + callbackKey : 'callback', + + + recordParam: 'records', + + + autoAppendParams: true, + + constructor: function(){ + this.addEvents( + + 'exception' + ); + this.callParent(arguments); + }, + + + doRequest: function(operation, callback, scope) { + + var me = this, + writer = me.getWriter(), + request = me.buildRequest(operation), + params = request.params; + + if (operation.allowWrite()) { + request = writer.write(request); + } + + + Ext.apply(request, { + callbackKey: me.callbackKey, + timeout: me.timeout, + scope: me, + disableCaching: false, + callback: me.createRequestCallback(request, operation, callback, scope) + }); + + + if (me.autoAppendParams) { + request.params = {}; + } + + request.jsonp = Ext.data.JsonP.request(request); + + request.params = params; + operation.setStarted(); + me.lastRequest = request; + + return request; + }, + + + createRequestCallback: function(request, operation, callback, scope) { + var me = this; + + return function(success, response, errorType) { + delete me.lastRequest; + me.processResponse(success, operation, request, response, callback, scope); + }; + }, + + + setException: function(operation, response) { + operation.setException(operation.request.jsonp.errorType); + }, + + + + buildUrl: function(request) { + var me = this, + url = me.callParent(arguments), + params = Ext.apply({}, request.params), + filters = params.filters, + records, + filter, i; + + delete params.filters; + + if (me.autoAppendParams) { + url = Ext.urlAppend(url, Ext.Object.toQueryString(params)); + } + + if (filters && filters.length) { + for (i = 0; i < filters.length; i++) { + filter = filters[i]; + + if (filter.value) { + url = Ext.urlAppend(url, filter.property + "=" + filter.value); + } + } + } + + + records = request.records; + + if (Ext.isArray(records) && records.length > 0) { + url = Ext.urlAppend(url, Ext.String.format("{0}={1}", me.recordParam, me.encodeRecords(records))); + } + + return url; + }, + + + destroy: function() { + this.abort(); + this.callParent(arguments); + }, + + + abort: function() { + var lastRequest = this.lastRequest; + if (lastRequest) { + Ext.data.JsonP.abort(lastRequest.jsonp); + } + }, + + + encodeRecords: function(records) { + var encoded = "", + i = 0, + len = records.length; + + for (; i < len; i++) { + encoded += Ext.Object.toQueryString(records[i].getData()); + } + + return encoded; + } +}); + + +Ext.define('Ext.data.JsonPStore', { + extend: 'Ext.data.Store', + alias : 'store.jsonp', + requires: [ + 'Ext.data.proxy.JsonP', + 'Ext.data.reader.Json' + ], + + constructor: function(config) { + config = Ext.apply({ + proxy: { + type: 'jsonp', + reader: 'json' + } + }, config); + this.callParent([config]); + } +}); + + +Ext.define('Ext.data.JsonStore', { + extend: 'Ext.data.Store', + alias: 'store.json', + requires: [ + 'Ext.data.proxy.Ajax', + 'Ext.data.reader.Json', + 'Ext.data.writer.Json' + ], + + constructor: function(config) { + config = Ext.apply({ + proxy: { + type : 'ajax', + reader: 'json', + writer: 'json' + } + }, config); + this.callParent([config]); + } +}); + + +Ext.define('Ext.data.NodeInterface', { + requires: ['Ext.data.Field'], + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + statics: { + + decorate: function(modelClass) { + var idName, idType; + + + if (typeof modelClass == 'string') { + modelClass = Ext.ModelManager.getModel(modelClass); + } else if (modelClass.isModel) { + modelClass = Ext.ModelManager.getModel(modelClass.modelName); + } + + + if (modelClass.prototype.isNode) { + return; + } + + idName = modelClass.prototype.idProperty; + idField = modelClass.prototype.fields.get(idName); + idType = modelClass.prototype.fields.get(idName).type.type; + modelClass.override(this.getPrototypeBody()); + this.applyFields(modelClass, [ + {name: 'parentId', type: idType, defaultValue: null, useNull: idField.useNull}, + {name: 'index', type: 'int', defaultValue: null, persist: false}, + {name: 'depth', type: 'int', defaultValue: 0, persist: false}, + {name: 'expanded', type: 'bool', defaultValue: false, persist: false}, + {name: 'expandable', type: 'bool', defaultValue: true, persist: false}, + {name: 'checked', type: 'auto', defaultValue: null, persist: false}, + {name: 'leaf', type: 'bool', defaultValue: false}, + {name: 'cls', type: 'string', defaultValue: null, persist: false}, + {name: 'iconCls', type: 'string', defaultValue: null, persist: false}, + {name: 'icon', type: 'string', defaultValue: null, persist: false}, + {name: 'root', type: 'boolean', defaultValue: false, persist: false}, + {name: 'isLast', type: 'boolean', defaultValue: false, persist: false}, + {name: 'isFirst', type: 'boolean', defaultValue: false, persist: false}, + {name: 'allowDrop', type: 'boolean', defaultValue: true, persist: false}, + {name: 'allowDrag', type: 'boolean', defaultValue: true, persist: false}, + {name: 'loaded', type: 'boolean', defaultValue: false, persist: false}, + {name: 'loading', type: 'boolean', defaultValue: false, persist: false}, + {name: 'href', type: 'string', defaultValue: null, persist: false}, + {name: 'hrefTarget', type: 'string', defaultValue: null, persist: false}, + {name: 'qtip', type: 'string', defaultValue: null, persist: false}, + {name: 'qtitle', type: 'string', defaultValue: null, persist: false}, + {name: 'children', type: 'auto', defaultValue: null, persist: false} + ]); + }, + + applyFields: function(modelClass, addFields) { + var modelPrototype = modelClass.prototype, + fields = modelPrototype.fields, + keys = fields.keys, + ln = addFields.length, + addField, i; + + for (i = 0; i < ln; i++) { + addField = addFields[i]; + if (!Ext.Array.contains(keys, addField.name)) { + fields.add(new Ext.data.Field(addField)); + } + } + + }, + + getPrototypeBody: function() { + return { + + isNode: true, + + constructor: function() { + var me = this; + this.callParent(arguments); + Ext.applyIf(me, { + firstChild: null, + lastChild: null, + parentNode: null, + previousSibling: null, + nextSibling: null, + childNodes: [] + }); + me.enableBubble([ + + "append", + + + "remove", + + + "move", + + + "insert", + + + "beforeappend", + + + "beforeremove", + + + "beforemove", + + + "beforeinsert", + + + "expand", + + + "collapse", + + + "beforeexpand", + + + "beforecollapse", + + + "sort" + ]); + return me; + }, + + createNode: function(node) { + if (Ext.isObject(node) && !node.isModel) { + node = Ext.ModelManager.create(node, this.modelName); + } + + + + if (!node.childNodes) { + Ext.applyIf(node, { + firstChild: null, + lastChild: null, + parentNode: null, + previousSibling: null, + nextSibling: null, + childNodes: [] + }); + } + return node; + }, + + + isLeaf : function() { + return this.get('leaf') === true; + }, + + + setFirstChild : function(node) { + this.firstChild = node; + }, + + + setLastChild : function(node) { + this.lastChild = node; + }, + + + updateInfo: function(commit) { + var me = this, + isRoot = me.isRoot(), + parentNode = me.parentNode, + isFirst = (!parentNode || isRoot ? true : parentNode.firstChild === me), + isLast = (!parentNode || isRoot ? true : parentNode.lastChild === me), + depth = 0, + parent = me, + children = me.childNodes, + len = children.length, + i = 0, + phantom = me.phantom; + + while (parent.parentNode) { + ++depth; + parent = parent.parentNode; + } + + me.beginEdit(); + me.set({ + isFirst: isFirst, + isLast: isLast, + depth: depth, + index: parentNode ? parentNode.indexOf(me) : 0, + parentId: parentNode ? parentNode.getId() : null + }); + me.endEdit(true); + if (commit) { + me.commit(); + me.phantom = phantom; + } + + for (i = 0; i < len; i++) { + children[i].updateInfo(commit); + } + }, + + + isLast : function() { + return this.get('isLast'); + }, + + + isFirst : function() { + return this.get('isFirst'); + }, + + + hasChildNodes : function() { + return !this.isLeaf() && this.childNodes.length > 0; + }, + + + isExpandable : function() { + var me = this; + + if (me.get('expandable')) { + return !(me.isLeaf() || (me.isLoaded() && !me.hasChildNodes())); + } + return false; + }, + + triggerUIUpdate: function(){ + + + this.afterEdit([]); + }, + + + appendChild : function(node, suppressEvents, commit) { + var me = this, + i, ln, + index, + oldParent, + ps; + + + if (Ext.isArray(node)) { + + me.callStore('suspendAutoSync'); + for (i = 0, ln = node.length - 1; i < ln; i++) { + me.appendChild(node[i]); + } + + me.callStore('resumeAutoSync'); + me.appendChild(node[ln]); + } else { + + node = me.createNode(node); + + if (suppressEvents !== true && (!me.hasListeners.beforeappend || me.fireEvent("beforeappend", me, node) === false)) { + return false; + } + + index = me.childNodes.length; + oldParent = node.parentNode; + + + if (oldParent) { + if (suppressEvents !== true && (!me.hasListeners.beforeremove || node.fireEvent("beforemove", node, oldParent, me, index) === false)) { + return false; + } + oldParent.removeChild(node, false, false, true); + } + + index = me.childNodes.length; + if (index === 0) { + me.setFirstChild(node); + } + + me.childNodes.push(node); + node.parentNode = me; + node.nextSibling = null; + + me.setLastChild(node); + + ps = me.childNodes[index - 1]; + if (ps) { + node.previousSibling = ps; + ps.nextSibling = node; + ps.updateInfo(commit); + } else { + node.previousSibling = null; + } + + node.updateInfo(commit); + + + if (!me.isLoaded()) { + me.set('loaded', true); + } else if (me.childNodes.length === 1) { + me.triggerUIUpdate(); + } + + if(!node.isLeaf() && node.phantom) { + node.set('loaded', true); + } + + if (suppressEvents !== true) { + me.fireEvent("append", me, node, index); + + if (oldParent) { + node.fireEvent("move", node, oldParent, me, index); + } + } + + return node; + } + }, + + + getBubbleTarget: function() { + return this.parentNode; + }, + + + removeChild : function(node, destroy, suppressEvents, isMove) { + var me = this, + index = me.indexOf(node), + i, childCount; + + if (index == -1 || (suppressEvents !== true && (!me.hasListeners.beforeremove || me.fireEvent("beforeremove", me, node, !!isMove) === false))) { + return false; + } + + + Ext.Array.erase(me.childNodes, index, 1); + + + if (me.firstChild == node) { + me.setFirstChild(node.nextSibling); + } + if (me.lastChild == node) { + me.setLastChild(node.previousSibling); + } + + + if (node.previousSibling) { + node.previousSibling.nextSibling = node.nextSibling; + } + if (node.nextSibling) { + node.nextSibling.previousSibling = node.previousSibling; + } + + + for(i = index > 0 ? index - 1 : 0, childCount = me.childNodes.length; i < childCount; i++) { + me.childNodes[i].updateInfo(); + } + + + if (!me.childNodes.length) { + me.triggerUIUpdate(); + } + + if (suppressEvents !== true) { + if (me.hasListeners.remove) { + me.fireEvent("remove", me, node, !!isMove); + } + } + + if (destroy) { + node.destroy(true); + } else { + node.clear(); + } + + return node; + }, + + + copy: function(newId, deep) { + var me = this, + result = me.callOverridden(arguments), + len = me.childNodes ? me.childNodes.length : 0, + i; + + + if (deep) { + for (i = 0; i < len; i++) { + result.appendChild(me.childNodes[i].copy(true)); + } + } + return result; + }, + + + clear : function(destroy) { + var me = this; + + + me.parentNode = me.previousSibling = me.nextSibling = null; + if (destroy) { + me.firstChild = me.lastChild = null; + } + }, + + + destroy : function(silent) { + + var me = this, + options = me.destroyOptions, + nodes = me.childNodes, + nLen = nodes.length, + n; + + if (silent === true) { + me.clear(true); + + for (n = 0; n < nLen; n++) { + nodes[n].destroy(true); + } + + me.childNodes = null; + delete me.destroyOptions; + me.callOverridden([options]); + } else { + me.destroyOptions = silent; + + me.remove(true); + } + }, + + + insertBefore : function(node, refNode, suppressEvents) { + var me = this, + index = me.indexOf(refNode), + oldParent = node.parentNode, + refIndex = index, + childCount, ps, i; + + if (!refNode) { + return me.appendChild(node); + } + + + if (node == refNode) { + return false; + } + + + node = me.createNode(node); + + if (suppressEvents !== true && (!me.hasListeners.beforeinsert || me.fireEvent("beforeinsert", me, node, refNode) === false)) { + return false; + } + + + if (oldParent == me && me.indexOf(node) < index) { + refIndex--; + } + + + if (oldParent) { + if (suppressEvents !== true && (!me.hasListeners.beforeremove || node.fireEvent("beforemove", node, oldParent, me, index, refNode) === false)) { + return false; + } + oldParent.removeChild(node, false, false, true); + } + + if (refIndex === 0) { + me.setFirstChild(node); + } + + Ext.Array.splice(me.childNodes, refIndex, 0, node); + node.parentNode = me; + + node.nextSibling = refNode; + refNode.previousSibling = node; + + ps = me.childNodes[refIndex - 1]; + if (ps) { + node.previousSibling = ps; + ps.nextSibling = node; + } else { + node.previousSibling = null; + } + + + for(i = refIndex > 0 ? refIndex - 1 : 0, childCount = me.childNodes.length; i < childCount; i++) { + me.childNodes[i].updateInfo(); + } + + if (!me.isLoaded()) { + me.set('loaded', true); + } + + else if (me.childNodes.length === 1) { + me.triggerUIUpdate(); + } + + if(!node.isLeaf() && node.phantom) { + node.set('loaded', true); + } + + if (suppressEvents !== true) { + if (me.hasListeners.insert) { + me.fireEvent("insert", me, node, refNode); + } + + if (oldParent && me.hasListeners.move) { + node.fireEvent("move", node, oldParent, me, refIndex, refNode); + } + } + + return node; + }, + + + insertChild: function(index, node) { + var sibling = this.childNodes[index]; + if (sibling) { + return this.insertBefore(node, sibling); + } + else { + return this.appendChild(node); + } + }, + + + remove : function(destroy, suppressEvents) { + var parentNode = this.parentNode; + + if (parentNode) { + parentNode.removeChild(this, destroy, suppressEvents); + } + return this; + }, + + + removeAll : function(destroy, suppressEvents) { + var cn = this.childNodes, + n; + + while ((n = cn[0])) { + this.removeChild(n, destroy, suppressEvents); + } + return this; + }, + + + getChildAt : function(index) { + return this.childNodes[index]; + }, + + + replaceChild : function(newChild, oldChild, suppressEvents) { + var s = oldChild ? oldChild.nextSibling : null; + + this.removeChild(oldChild, false, suppressEvents); + this.insertBefore(newChild, s, suppressEvents); + return oldChild; + }, + + + indexOf : function(child) { + return Ext.Array.indexOf(this.childNodes, child); + }, + + + indexOfId: function(id) { + var childNodes = this.childNodes, + len = childNodes.length, + i = 0; + + for (; i < len; ++i) { + if (childNodes[i].getId() === id) { + return i; + } + } + return -1; + }, + + + getPath: function(field, separator) { + field = field || this.idProperty; + separator = separator || '/'; + + var path = [this.get(field)], + parent = this.parentNode; + + while (parent) { + path.unshift(parent.get(field)); + parent = parent.parentNode; + } + return separator + path.join(separator); + }, + + + getDepth : function() { + return this.get('depth'); + }, + + + bubble : function(fn, scope, args) { + var p = this; + while (p) { + if (fn.apply(scope || p, args || [p]) === false) { + break; + } + p = p.parentNode; + } + }, + + cascade: function() { + if (Ext.isDefined(Ext.global.console)) { + Ext.global.console.warn('Ext.data.Node: cascade has been deprecated. Please use cascadeBy instead.'); + } + return this.cascadeBy.apply(this, arguments); + }, + + + cascadeBy : function(fn, scope, args) { + if (fn.apply(scope || this, args || [this]) !== false) { + var childNodes = this.childNodes, + length = childNodes.length, + i; + + for (i = 0; i < length; i++) { + childNodes[i].cascadeBy(fn, scope, args); + } + } + }, + + + eachChild : function(fn, scope, args) { + var childNodes = this.childNodes, + length = childNodes.length, + i; + + for (i = 0; i < length; i++) { + if (fn.apply(scope || this, args || [childNodes[i]]) === false) { + break; + } + } + }, + + + findChild : function(attribute, value, deep) { + return this.findChildBy(function() { + return this.get(attribute) == value; + }, null, deep); + }, + + + findChildBy : function(fn, scope, deep) { + var cs = this.childNodes, + len = cs.length, + i = 0, n, res; + + for (; i < len; i++) { + n = cs[i]; + if (fn.call(scope || n, n) === true) { + return n; + } + else if (deep) { + res = n.findChildBy(fn, scope, deep); + if (res !== null) { + return res; + } + } + } + + return null; + }, + + + contains : function(node) { + return node.isAncestor(this); + }, + + + isAncestor : function(node) { + var p = this.parentNode; + while (p) { + if (p == node) { + return true; + } + p = p.parentNode; + } + return false; + }, + + + sort : function(sortFn, recursive, suppressEvent) { + var cs = this.childNodes, + ln = cs.length, + i, n; + + if (ln > 0) { + Ext.Array.sort(cs, sortFn); + for (i = 0; i < ln; i++) { + n = cs[i]; + n.previousSibling = cs[i-1]; + n.nextSibling = cs[i+1]; + + if (i === 0) { + this.setFirstChild(n); + } + if (i == ln - 1) { + this.setLastChild(n); + } + n.updateInfo(); + if (recursive && !n.isLeaf()) { + n.sort(sortFn, true, true); + } + } + + if (suppressEvent !== true) { + this.fireEvent('sort', this, cs); + } + } + }, + + + isExpanded: function() { + return this.get('expanded'); + }, + + + isLoaded: function() { + return this.get('loaded'); + }, + + + isLoading: function() { + return this.get('loading'); + }, + + + isRoot: function() { + return !this.parentNode; + }, + + + isVisible: function() { + var parent = this.parentNode; + while (parent) { + if (!parent.isExpanded()) { + return false; + } + parent = parent.parentNode; + } + return true; + }, + + + expand: function(recursive, callback, scope) { + var me = this; + + + + + + if (!me.isLeaf()) { + + if (me.isLoading()) { + me.on('expand', function(){ + me.expand(recursive, callback, scope); + }, me, {single: true}); + } else { + + if (!me.isExpanded()) { + + + + + me.fireEvent('beforeexpand', me, function() { + me.set('expanded', true); + if (me.hasListeners.expand) { + me.fireEvent('expand', me, me.childNodes, false); + } + + + if (recursive) { + me.expandChildren(true, callback, scope); + } else { + Ext.callback(callback, scope || me, [me.childNodes]); + } + }, me); + } else if (recursive) { + + me.expandChildren(true, callback, scope); + } else { + Ext.callback(callback, scope || me, [me.childNodes]); + } + } + } else { + + Ext.callback(callback, scope || me); + } + }, + + + expandChildren: function(recursive, callback, scope) { + var me = this, + i = 0, + nodes = me.childNodes, + ln = nodes.length, + node, + expanding = 0; + + for (; i < ln; ++i) { + node = nodes[i]; + if (!node.isLeaf()) { + expanding++; + nodes[i].expand(recursive, function () { + expanding--; + if (callback && !expanding) { + Ext.callback(callback, scope || me, [me.childNodes]); + } + }); + } + } + + if (!expanding && callback) { + Ext.callback(callback, scope || me, [me.childNodes]); } + }, + + + collapse: function(recursive, callback, scope) { + var me = this; + + + if (!me.isLeaf()) { + + if (!me.collapsing && me.isExpanded()) { + me.fireEvent('beforecollapse', me, function() { + me.set('expanded', false); + if (me.hasListeners.collapse) { + me.fireEvent('collapse', me, me.childNodes, false); + } + + + if (recursive) { + me.collapseChildren(true, callback, scope); + } + else { + Ext.callback(callback, scope || me, [me.childNodes]); + } + }, me); + } + + else if (recursive) { + me.collapseChildren(true, callback, scope); + } else { + Ext.callback(callback, scope || me, [me.childNodes]); + } + } + + else { + Ext.callback(callback, scope || me, [me.childNodes]); + } + }, + + + collapseChildren: function(recursive, callback, scope) { + var me = this, + i = 0, + nodes = me.childNodes, + ln = nodes.length, + node, + collapsing = 0; + + for (; i < ln; ++i) { + node = nodes[i]; + if (!node.isLeaf()) { + collapsing++; + nodes[i].collapse(recursive, function () { + collapsing--; + if (callback && !collapsing) { + Ext.callback(callback, scope || me, [me.childNodes]); + } + }); + } + } + + if (!collapsing && callback) { + Ext.callback(callback, scope || me, [me.childNodes]); + } + } + }; + } + } +}); + + +Ext.define('Ext.data.NodeStore', { + extend: 'Ext.data.Store', + alias: 'store.node', + requires: ['Ext.data.NodeInterface'], + + + node: null, + + + recursive: false, + + + rootVisible: false, + + + + constructor: function(config) { + var me = this, + node; + + config = config || {}; + Ext.apply(me, config); + + + config.proxy = {type: 'proxy'}; + me.callParent([config]); + + node = me.node; + if (node) { + me.node = null; + me.setNode(node); + } + }, + + setNode: function(node) { + var me = this; + if (me.node && me.node != node) { + + me.mun(me.node, { + expand: me.onNodeExpand, + collapse: me.onNodeCollapse, + append: me.onNodeAppend, + insert: me.onNodeInsert, + remove: me.onNodeRemove, + sort: me.onNodeSort, + scope: me + }); + me.node = null; + } + + if (node) { + Ext.data.NodeInterface.decorate(node.self); + me.removeAll(); + if (me.rootVisible) { + me.add(node); + } else if (!node.isExpanded() && me.treeStore.autoLoad !== false) { + node.expand(); + } + + me.mon(node, { + expand: me.onNodeExpand, + collapse: me.onNodeCollapse, + append: me.onNodeAppend, + insert: me.onNodeInsert, + remove: me.onNodeRemove, + sort: me.onNodeSort, + scope: me + }); + me.node = node; + if (node.isExpanded() && node.isLoaded()) { + me.onNodeExpand(node, node.childNodes, true); + } + } + }, + + onNodeSort: function(node, childNodes) { + var me = this; + + if ((me.indexOf(node) !== -1 || (node === me.node && !me.rootVisible) && node.isExpanded())) { + me.onNodeCollapse(node, childNodes, true); + me.onNodeExpand(node, childNodes, true); + } + }, + + onNodeExpand: function(parent, records, suppressEvent) { + var me = this, + insertIndex = me.indexOf(parent) + 1, + ln = records ? records.length : 0, + i, record; + + if (!me.recursive && parent !== me.node) { + return; + } + + if (parent !== this.node && !me.isVisible(parent)) { + return; + } + + if (!suppressEvent && me.fireEvent('beforeexpand', parent, records, insertIndex) === false) { + return; + } + + if (ln) { + me.insert(insertIndex, records); + for (i = 0; i < ln; i++) { + record = records[i]; + if (record.isExpanded()) { + if (record.isLoaded()) { + + me.onNodeExpand(record, record.childNodes, true); + } + else { + record.set('expanded', false); + record.expand(); + } + } + } + } + + if (!suppressEvent) { + me.fireEvent('expand', parent, records); + } + }, + + onNodeCollapse: function(parent, records, suppressEvent) { + var me = this, + ln = records.length, + collapseIndex = me.indexOf(parent) + 1, + i, record; + + if (!me.recursive && parent !== me.node) { + return; + } + + if (!suppressEvent && me.fireEvent('beforecollapse', parent, records, collapseIndex) === false) { + return; + } + + for (i = 0; i < ln; i++) { + record = records[i]; + me.remove(record); + if (record.isExpanded()) { + me.onNodeCollapse(record, record.childNodes, true); + } + } + + if (!suppressEvent) { + me.fireEvent('collapse', parent, records, collapseIndex); + } + }, + + onNodeAppend: function(parent, node, index) { + var me = this, + refNode, sibling; + + if (me.isVisible(node)) { + if (index === 0) { + refNode = parent; + } else { + sibling = node.previousSibling; + while (sibling.isExpanded() && sibling.lastChild) { + sibling = sibling.lastChild; + } + refNode = sibling; + } + me.insert(me.indexOf(refNode) + 1, node); + if (!node.isLeaf() && node.isExpanded()) { + if (node.isLoaded()) { + + me.onNodeExpand(node, node.childNodes, true); + } + else { + node.set('expanded', false); + node.expand(); + } + } + } + }, + + onNodeInsert: function(parent, node, refNode) { + var me = this, + index = this.indexOf(refNode); + + if (index != -1 && me.isVisible(node)) { + me.insert(index, node); + if (!node.isLeaf() && node.isExpanded()) { + if (node.isLoaded()) { + + me.onNodeExpand(node, node.childNodes, true); + } + else { + node.set('expanded', false); + node.expand(); + } + } + } + }, + + onNodeRemove: function(parent, node, index) { + var me = this; + if (me.indexOf(node) != -1) { + if (!node.isLeaf() && node.isExpanded()) { + me.onNodeCollapse(node, node.childNodes, true); + } + me.remove(node); + } + }, + + isVisible: function(node) { + var parent = node.parentNode; + while (parent) { + if (parent === this.node && !this.rootVisible && parent.isExpanded()) { + return true; + } + + if (this.indexOf(parent) === -1 || !parent.isExpanded()) { + return false; + } + + parent = parent.parentNode; + } + return true; + } +}); + + +Ext.define('Ext.data.Request', { + + action: undefined, + + + params: undefined, + + + method: 'GET', + + + url: undefined, + + + constructor: function(config) { + Ext.apply(this, config); + } +}); + + +Ext.define('Ext.data.SequentialIdGenerator', { + extend: 'Ext.data.IdGenerator', + alias: 'idgen.sequential', + + constructor: function() { + var me = this; + + me.callParent(arguments); + + me.parts = [ me.prefix, '']; + }, + + + prefix: '', + + + seed: 1, + + + generate: function () { + var me = this, + parts = me.parts; + + parts[1] = me.seed++; + return parts.join(''); + } +}); + + +Ext.define('Ext.data.Tree', { + alias: 'data.tree', + + mixins: { + observable: "Ext.util.Observable" + }, + + + root: null, + + + constructor: function(root) { + var me = this; + + me.mixins.observable.constructor.call(me); + + if (root) { + me.setRootNode(root); + } + }, + + + getRootNode : function() { + return this.root; + }, + + + setRootNode : function(node) { + var me = this; + + me.root = node; + + if (me.fireEvent('beforeappend', null, node) !== false) { + node.set('root', true); + node.updateInfo(); + + node.commit(); + + node.on({ + scope: me, + insert: me.onNodeInsert, + append: me.onNodeAppend, + remove: me.onNodeRemove + }); + + me.relayEvents(node, [ + + "append", + + + "remove", + + + "move", + + + "insert", + + + "beforeappend", + + + "beforeremove", + + + "beforemove", + + + "beforeinsert", + + + "expand", + + + "collapse", + + + "beforeexpand", + + + "beforecollapse" , + + + "sort", + + + "rootchange" + ]); + + me.nodeHash = {}; + me.registerNode(node); + me.fireEvent('append', null, node); + me.fireEvent('rootchange', node); + } + + return node; + }, + + + flatten: function(){ + return Ext.Object.getValues(this.nodeHash); + }, + + + onNodeInsert: function(parent, node) { + this.registerNode(node, true); + }, + + + onNodeAppend: function(parent, node) { + this.registerNode(node, true); + }, + + + onNodeRemove: function(parent, node) { + this.unregisterNode(node, true); + }, + + + onNodeIdChanged: function(node, oldId, newId) { + var nodeHash = this.nodeHash; + + nodeHash[newId] = node; + delete nodeHash[oldId || node.internalId]; + }, + + + getNodeById : function(id) { + return this.nodeHash[id]; + }, + + + registerNode : function(node, includeChildren) { + var me = this; + + me.nodeHash[node.getId() || node.internalId] = node; + node.on('idchanged', me.onNodeIdChanged, me); + if (includeChildren === true) { + node.eachChild(function(child){ + me.registerNode(child, true); + }); + } + }, + + + unregisterNode : function(node, includeChildren) { + delete this.nodeHash[node.getId() || node.internalId]; + if (includeChildren === true) { + node.eachChild(function(child){ + this.unregisterNode(child, true); + }, this); + } + }, + + + sort: function(sorterFn, recursive) { + this.getRootNode().sort(sorterFn, recursive); + }, + + + filter: function(filters, recursive) { + this.getRootNode().filter(filters, recursive); + } +}); + + +Ext.define('Ext.data.TreeStore', { + extend: 'Ext.data.AbstractStore', + alias: 'store.tree', + requires: [ + 'Ext.util.Sorter', + 'Ext.data.Tree', + 'Ext.data.NodeInterface' + ], + + + + + clearOnLoad : true, + + + clearRemovedOnLoad: true, + + + nodeParam: 'node', + + + defaultRootId: 'root', + + + defaultRootProperty: 'children', + + + rootProperty: 'children', + + + folderSort: false, + + constructor: function(config) { + var me = this, + root, + fields, + defaultRoot; + + config = Ext.apply({}, config); + + + fields = config.fields || me.fields; + if (!fields) { + config.fields = [ + {name: 'text', type: 'string'} + ]; + defaultRoot = config.defaultRootProperty || me.defaultRootProperty; + if (defaultRoot !== me.defaultRootProperty) { + config.fields.push({ + name: defaultRoot, + type: 'auto', + defaultValue: null, + persist: false + }); + } + } + + me.callParent([config]); + + + me.tree = new Ext.data.Tree(); + + me.relayEvents(me.tree, [ + + "append", + + + "remove", + + + "move", + + + "insert", + + + "beforeappend", + + + "beforeremove", + + + "beforemove", + + + "beforeinsert", + + + "expand", + + + "collapse", + + + "beforeexpand", + + + "beforecollapse", + + + "sort", + + + "rootchange" + ]); + + me.tree.on({ + scope: me, + remove: me.onNodeRemove, + + + beforeexpand: me.onBeforeNodeExpand, + beforecollapse: me.onBeforeNodeCollapse, + append: me.onNodeAdded, + insert: me.onNodeAdded, + sort: me.onNodeSort + }); + + me.onBeforeSort(); + + root = me.root; + if (root) { + delete me.root; + me.setRootNode(root); + } + + if (Ext.isDefined(me.nodeParameter)) { + if (Ext.isDefined(Ext.global.console)) { + Ext.global.console.warn('Ext.data.TreeStore: nodeParameter has been deprecated. Please use nodeParam instead.'); + } + me.nodeParam = me.nodeParameter; + delete me.nodeParameter; + } + }, + + + setProxy: function(proxy) { + var reader, + needsRoot; + + if (proxy instanceof Ext.data.proxy.Proxy) { + + needsRoot = Ext.isEmpty(proxy.getReader().root); + } else if (Ext.isString(proxy)) { + + needsRoot = true; + } else { + + reader = proxy.reader; + needsRoot = !(reader && !Ext.isEmpty(reader.root)); + } + proxy = this.callParent(arguments); + if (needsRoot) { + reader = proxy.getReader(); + reader.root = this.defaultRootProperty; + + reader.buildExtractors(true); + } + }, + + + onBeforeSort: function() { + if (this.folderSort) { + this.sort({ + property: 'leaf', + direction: 'ASC' + }, 'prepend', false); + } + }, + + + onBeforeNodeExpand: function(node, callback, scope) { + if (node.isLoaded()) { + Ext.callback(callback, scope || node, [node.childNodes]); + } + else if (node.isLoading()) { + this.on('load', function() { + Ext.callback(callback, scope || node, [node.childNodes]); + }, this, {single: true}); + } + else { + this.read({ + node: node, + callback: function() { + Ext.callback(callback, scope || node, [node.childNodes]); + } + }); + } + }, + + + getNewRecords: function() { + return Ext.Array.filter(this.tree.flatten(), this.filterNew); + }, + + + getUpdatedRecords: function() { + return Ext.Array.filter(this.tree.flatten(), this.filterUpdated); + }, + + + onBeforeNodeCollapse: function(node, callback, scope) { + callback.call(scope || node, node.childNodes); + }, + + onNodeRemove: function(parent, node, isMove) { + var me = this, + removed = me.removed; + + if (!node.isReplace && Ext.Array.indexOf(removed, node) == -1) { + removed.push(node); + } + + if (me.autoSync && !me.autoSyncSuspended && !isMove) { + me.sync(); + } + }, + + onNodeAdded: function(parent, node) { + var me = this, + proxy = me.getProxy(), + reader = proxy.getReader(), + data = node.raw || node[node.persistenceProperty], + dataRoot; + + Ext.Array.remove(me.removed, node); + + if (!node.isLeaf()) { + dataRoot = reader.getRoot(data); + if (dataRoot) { + me.fillNode(node, reader.extractData(dataRoot)); + delete data[reader.root]; + } + } + + if (me.autoSync && !me.autoSyncSuspended && (node.phantom || node.dirty)) { + me.sync(); + } + }, + + onNodeSort: function() { + if(this.autoSync && !this.autoSyncSuspended) { + this.sync(); + } + }, + + + setRootNode: function(root, preventLoad) { + var me = this, + model = me.model, + idProperty = model.prototype.idProperty + + root = root || {}; + if (!root.isModel) { + + Ext.applyIf(root, { + id: me.defaultRootId, + text: 'Root', + allowDrag: false + }); + if (root[idProperty] === undefined) { + root[idProperty] = me.defaultRootId; + } + Ext.data.NodeInterface.decorate(model); + root = Ext.ModelManager.create(root, model); + } else if (root.isModel && !root.isNode) { + Ext.data.NodeInterface.decorate(model); + } + + + + + me.getProxy().getReader().buildExtractors(true); + + + me.tree.setRootNode(root); + + + if (preventLoad !== true && !root.isLoaded() && (me.autoLoad === true || root.isExpanded())) { + me.load({ + node: root + }); + } + + return root; + }, + + + getRootNode: function() { + return this.tree.getRootNode(); + }, + + + getNodeById: function(id) { + return this.tree.getNodeById(id); + }, + + + getById: function(id) { + return this.getNodeById(id); + }, + + + load: function(options) { + options = options || {}; + options.params = options.params || {}; + + var me = this, + node = options.node || me.tree.getRootNode(); + + + + if (!node) { + node = me.setRootNode({ + expanded: true + }, true); + } + + + options.id = node.getId(); + + if (me.clearOnLoad) { + if(me.clearRemovedOnLoad) { + + me.clearRemoved(node); + } + + me.tree.un('remove', me.onNodeRemove, me); + + node.removeAll(false); + + me.tree.on('remove', me.onNodeRemove, me); + } + + Ext.applyIf(options, { + node: node + }); + options.params[me.nodeParam] = node ? node.getId() : 'root'; + + if (node) { + node.set('loading', true); + } + + return me.callParent([options]); + }, + + + clearRemoved: function(node) { + var me = this, + removed = me.removed, + id = node.getId(), + removedLength = removed.length, + i = removedLength, + recordsToClear = {}, + newRemoved = [], + removedHash = {}, + removedNode, + targetNode, + targetId; + + if(node === me.getRootNode()) { + + me.removed = []; + return; + } + + + for(; i--;) { + removedNode = removed[i]; + removedHash[removedNode.getId()] = removedNode; + } + + for(i = removedLength; i--;) { + removedNode = removed[i]; + targetNode = removedNode; + while(targetNode && targetNode.getId() !== id) { + + targetId = targetNode.get('parentId'); + targetNode = targetNode.parentNode || me.getNodeById(targetId) || removedHash[targetId]; + } + if(targetNode) { + + recordsToClear[removedNode.getId()] = removedNode; + } + } + + + for(i = 0; i < removedLength; i++) { + removedNode = removed[i]; + if(!recordsToClear[removedNode.getId()]) { + newRemoved.push(removedNode); + } + } + + me.removed = newRemoved; + }, + + + fillNode: function(node, newNodes) { + var me = this, + ln = newNodes ? newNodes.length : 0, + sorters = me.sorters, + i, sortCollection, + needsIndexSort = false, + performLocalSort = ln && me.sortOnLoad && !me.remoteSort && sorters && sorters.items && sorters.items.length, + node1, node2; + + + for (i = 1; i < ln; i++) { + node1 = newNodes[i]; + node2 = newNodes[i - 1]; + needsIndexSort = node1[node1.persistenceProperty].index != node2[node2.persistenceProperty].index; + if (needsIndexSort) { + break; + } + } + + + if (performLocalSort) { + + if (needsIndexSort) { + me.sorters.insert(0, me.indexSorter); + } + sortCollection = new Ext.util.MixedCollection(); + sortCollection.addAll(newNodes); + sortCollection.sort(me.sorters.items); + newNodes = sortCollection.items; + + + me.sorters.remove(me.indexSorter); + } else if (needsIndexSort) { + Ext.Array.sort(newNodes, me.sortByIndex); + } + + node.set('loaded', true); + for (i = 0; i < ln; i++) { + node.appendChild(newNodes[i], undefined, true); + } + + return newNodes; + }, + + + sortByIndex: function(node1, node2) { + return node1[node1.persistenceProperty].index - node2[node2.persistenceProperty].index; + }, + + + onProxyLoad: function(operation) { + var me = this, + successful = operation.wasSuccessful(), + records = operation.getRecords(), + node = operation.node; + + me.loading = false; + node.set('loading', false); + if (successful) { + if (!me.clearOnLoad) { + records = me.cleanRecords(node, records); + } + records = me.fillNode(node, records); + } + + + + + me.fireEvent('read', me, operation.node, records, successful); + me.fireEvent('load', me, operation.node, records, successful); + + Ext.callback(operation.callback, operation.scope || me, [records, operation, successful]); + }, + + onCreateRecords: function(records) { + this.callParent(arguments); + + var i = 0, + len = records.length, + tree = this.tree, + node; + + for (; i < len; ++i) { + node = records[i]; + tree.onNodeIdChanged(node, null, node.getId()); + } + + }, + + cleanRecords: function(node, records){ + var nodeHash = {}, + childNodes = node.childNodes, + i = 0, + len = childNodes.length, + out = [], + rec; + + + for (; i < len; ++i) { + nodeHash[childNodes[i].getId()] = true; + } + + for (i = 0, len = records.length; i < len; ++i) { + rec = records[i]; + if (!nodeHash[rec.getId()]) { + out.push(rec); + } + } + + return out; + }, + + + removeAll: function() { + var root = this.getRootNode(); + if (root) { + root.destroy(true); + } + this.fireEvent('clear', this); + }, + + + doSort: function(sorterFn) { + var me = this; + if (me.remoteSort) { + + me.load(); + } else { + me.tree.sort(sorterFn, true); + me.fireEvent('datachanged', me); + me.fireEvent('refresh', me); + } + me.fireEvent('sort', me); + } +}, function() { + var proto = this.prototype; + proto.indexSorter = new Ext.util.Sorter({ + sorterFn: proto.sortByIndex + }); +}); + + +Ext.define('Ext.data.UuidGenerator', (function () { + var twoPow14 = Math.pow(2, 14), + twoPow16 = Math.pow(2, 16), + twoPow28 = Math.pow(2, 28), + twoPow32 = Math.pow(2, 32); + + function toHex (value, length) { + var ret = value.toString(16); + if (ret.length > length) { + ret = ret.substring(ret.length - length); + } else if (ret.length < length) { + ret = Ext.String.leftPad(ret, length, '0'); + } + return ret; + } + + function rand (lo, hi) { + var v = Math.random() * (hi - lo + 1); + return Math.floor(v) + lo; + } + + function split (bignum) { + if (typeof(bignum) == 'number') { + var hi = Math.floor(bignum / twoPow32); + return { + lo: Math.floor(bignum - hi * twoPow32), + hi: hi + }; + } + return bignum; + } + + return { + extend: 'Ext.data.IdGenerator', + + alias: 'idgen.uuid', + + id: 'uuid', + + + + + + + version: 4, + + constructor: function() { + var me = this; + + me.callParent(arguments); + + me.parts = []; + me.init(); + }, + + generate: function () { + var me = this, + parts = me.parts, + ts = me.timestamp; + + + parts[0] = toHex(ts.lo, 8); + parts[1] = toHex(ts.hi & 0xFFFF, 4); + parts[2] = toHex(((ts.hi >>> 16) & 0xFFF) | (me.version << 12), 4); + parts[3] = toHex(0x80 | ((me.clockSeq >>> 8) & 0x3F), 2) + + toHex(me.clockSeq & 0xFF, 2); + parts[4] = toHex(me.salt.hi, 4) + toHex(me.salt.lo, 8); + + if (me.version == 4) { + me.init(); + } else { + + ++ts.lo; + if (ts.lo >= twoPow32) { + ts.lo = 0; + ++ts.hi; + } + } + + return parts.join('-').toLowerCase(); + }, + + getRecId: function (rec) { + return rec.getId(); + }, + + + init: function () { + var me = this, + salt, time; + + if (me.version == 4) { + + + + + me.clockSeq = rand(0, twoPow14-1); + + + salt = me.salt || (me.salt = {}); + time = me.timestamp || (me.timestamp = {}); + + + salt.lo = rand(0, twoPow32-1); + salt.hi = rand(0, twoPow16-1); + time.lo = rand(0, twoPow32-1); + time.hi = rand(0, twoPow28-1); + } else { + + me.salt = split(me.salt); + me.timestamp = split(me.timestamp); + + + + me.salt.hi |= 0x100; + } + }, + + + reconfigure: function (config) { + Ext.apply(this, config); + this.init(); + } + }; +}())); + + +Ext.define('Ext.data.reader.Xml', { + extend: 'Ext.data.reader.Reader', + alternateClassName: 'Ext.data.XmlReader', + alias : 'reader.xml', + + + + + createAccessor: function(expr) { + var me = this; + + if (Ext.isEmpty(expr)) { + return Ext.emptyFn; + } + + if (Ext.isFunction(expr)) { + return expr; + } + + return function(root) { + return me.getNodeValue(Ext.DomQuery.selectNode(expr, root)); + }; + }, + + getNodeValue: function(node) { + if (node && node.firstChild) { + return node.firstChild.nodeValue; + } + return undefined; + }, + + + getResponseData: function(response) { + var xml = response.responseXML, + error, + msg; + + if (!xml) { + msg = 'XML data not found in the response'; + + error = new Ext.data.ResultSet({ + total : 0, + count : 0, + records: [], + success: false, + message: msg + }); + + this.fireEvent('exception', this, response, error); + + Ext.Logger.warn(msg); + + return error; + } + + return this.readRecords(xml); + }, + + + getData: function(data) { + return data.documentElement || data; + }, + + + getRoot: function(data) { + var nodeName = data.nodeName, + root = this.root; + + if (!root || (nodeName && nodeName == root)) { + return data; + } else if (Ext.DomQuery.isXml(data)) { + + + + return Ext.DomQuery.selectNode(root, data); + } + }, + + + extractData: function(root) { + var recordName = this.record; + + + if (recordName != root.nodeName) { + root = Ext.DomQuery.select(recordName, root); + } else { + root = [root]; + } + return this.callParent([root]); + }, + + + getAssociatedDataRoot: function(data, associationName) { + return Ext.DomQuery.select(associationName, data)[0]; + }, + + + readRecords: function(doc) { + + + if (Ext.isArray(doc)) { + doc = doc[0]; + } + + + this.xmlData = doc; + return this.callParent([doc]); + }, + + + createFieldAccessExpression: function(field, fieldVarName, dataName) { + var selector = field.mapping || field.name, + result; + + if (typeof selector === 'function') { + result = fieldVarName + '.mapping(' + dataName + ', this)'; + } else { + result = 'me.getNodeValue(Ext.DomQuery.selectNode("' + selector + '", ' + dataName + '))'; + } + return result; + } +}); + + +Ext.define('Ext.data.writer.Xml', { + + + + extend: 'Ext.data.writer.Writer', + alternateClassName: 'Ext.data.XmlWriter', + + alias: 'writer.xml', + + + + + documentRoot: 'xmlData', + + + defaultDocumentRoot: 'xmlData', + + + header: '', + + + record: 'record', + + + writeRecords: function(request, data) { + var me = this, + xml = [], + i = 0, + len = data.length, + root = me.documentRoot, + record = me.record, + needsRoot = data.length !== 1, + item, + key; + + + xml.push(me.header || ''); + + if (!root && needsRoot) { + root = me.defaultDocumentRoot; + } + + if (root) { + xml.push('<', root, '>'); + } + + for (; i < len; ++i) { + item = data[i]; + xml.push('<', record, '>'); + for (key in item) { + if (item.hasOwnProperty(key)) { + xml.push('<', key, '>', item[key], ''); + } + } + xml.push(''); + } + + if (root) { + xml.push(''); + } + + request.xmlData = xml.join(''); + return request; + } +}); + + +Ext.define('Ext.data.XmlStore', { + extend: 'Ext.data.Store', + alias: 'store.xml', + + requires: [ + 'Ext.data.proxy.Ajax', + 'Ext.data.reader.Xml', + 'Ext.data.writer.Xml' + ], + + constructor: function(config){ + config = Ext.apply({ + proxy: { + type: 'ajax', + reader: 'xml', + writer: 'xml' + } + }, config); + + this.callParent([config]); + } +}); + + +Ext.define('Ext.data.association.BelongsTo', { + extend: 'Ext.data.association.Association', + alternateClassName: 'Ext.data.BelongsToAssociation', + alias: 'association.belongsto', + + + + + + + + + constructor: function(config) { + this.callParent(arguments); + + var me = this, + ownerProto = me.ownerModel.prototype, + associatedName = me.associatedName, + getterName = me.getterName || 'get' + associatedName, + setterName = me.setterName || 'set' + associatedName; + + Ext.applyIf(me, { + name : associatedName, + foreignKey : associatedName.toLowerCase() + "_id", + instanceName: associatedName + 'BelongsToInstance', + associationKey: associatedName.toLowerCase() + }); + + ownerProto[getterName] = me.createGetter(); + ownerProto[setterName] = me.createSetter(); + }, + + + createSetter: function() { + var me = this, + foreignKey = me.foreignKey; + + + return function(value, options, scope) { + + if (value && value.isModel) { + value = value.getId(); + } + this.set(foreignKey, value); + + if (Ext.isFunction(options)) { + options = { + callback: options, + scope: scope || this + }; + } + + if (Ext.isObject(options)) { + return this.save(options); + } + }; + }, + + + createGetter: function() { + var me = this, + associatedName = me.associatedName, + associatedModel = me.associatedModel, + foreignKey = me.foreignKey, + primaryKey = me.primaryKey, + instanceName = me.instanceName; + + + return function(options, scope) { + options = options || {}; + + var model = this, + foreignKeyId = model.get(foreignKey), + success, + instance, + args; + + if (options.reload === true || model[instanceName] === undefined) { + instance = Ext.ModelManager.create({}, associatedName); + instance.set(primaryKey, foreignKeyId); + + if (typeof options == 'function') { + options = { + callback: options, + scope: scope || model + }; + } + + + success = options.success; + options.success = function(rec){ + model[instanceName] = rec; + if (success) { + success.apply(this, arguments); + } + }; + + associatedModel.load(foreignKeyId, options); + + model[instanceName] = instance; + return instance; + } else { + instance = model[instanceName]; + args = [instance]; + scope = scope || options.scope || model; + + + + + Ext.callback(options, scope, args); + Ext.callback(options.success, scope, args); + Ext.callback(options.failure, scope, args); + Ext.callback(options.callback, scope, args); + + return instance; + } + }; + }, + + + read: function(record, reader, associationData){ + record[this.instanceName] = reader.read([associationData]).records[0]; + } +}); + + +Ext.define('Ext.util.Inflector', { + + + + singleton: true, + + + + + plurals: [ + [(/(quiz)$/i), "$1zes" ], + [(/^(ox)$/i), "$1en" ], + [(/([m|l])ouse$/i), "$1ice" ], + [(/(matr|vert|ind)ix|ex$/i), "$1ices" ], + [(/(x|ch|ss|sh)$/i), "$1es" ], + [(/([^aeiouy]|qu)y$/i), "$1ies" ], + [(/(hive)$/i), "$1s" ], + [(/(?:([^f])fe|([lr])f)$/i), "$1$2ves"], + [(/sis$/i), "ses" ], + [(/([ti])um$/i), "$1a" ], + [(/(buffal|tomat|potat)o$/i), "$1oes" ], + [(/(bu)s$/i), "$1ses" ], + [(/(alias|status|sex)$/i), "$1es" ], + [(/(octop|vir)us$/i), "$1i" ], + [(/(ax|test)is$/i), "$1es" ], + [(/^person$/), "people" ], + [(/^man$/), "men" ], + [(/^(child)$/), "$1ren" ], + [(/s$/i), "s" ], + [(/$/), "s" ] + ], + + + singulars: [ + [(/(quiz)zes$/i), "$1" ], + [(/(matr)ices$/i), "$1ix" ], + [(/(vert|ind)ices$/i), "$1ex" ], + [(/^(ox)en/i), "$1" ], + [(/(alias|status)es$/i), "$1" ], + [(/(octop|vir)i$/i), "$1us" ], + [(/(cris|ax|test)es$/i), "$1is" ], + [(/(shoe)s$/i), "$1" ], + [(/(o)es$/i), "$1" ], + [(/(bus)es$/i), "$1" ], + [(/([m|l])ice$/i), "$1ouse" ], + [(/(x|ch|ss|sh)es$/i), "$1" ], + [(/(m)ovies$/i), "$1ovie" ], + [(/(s)eries$/i), "$1eries"], + [(/([^aeiouy]|qu)ies$/i), "$1y" ], + [(/([lr])ves$/i), "$1f" ], + [(/(tive)s$/i), "$1" ], + [(/(hive)s$/i), "$1" ], + [(/([^f])ves$/i), "$1fe" ], + [(/(^analy)ses$/i), "$1sis" ], + [(/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i), "$1$2sis"], + [(/([ti])a$/i), "$1um" ], + [(/(n)ews$/i), "$1ews" ], + [(/people$/i), "person" ], + [(/s$/i), "" ] + ], + + + uncountable: [ + "sheep", + "fish", + "series", + "species", + "money", + "rice", + "information", + "equipment", + "grass", + "mud", + "offspring", + "deer", + "means" + ], + + + singular: function(matcher, replacer) { + this.singulars.unshift([matcher, replacer]); + }, + + + plural: function(matcher, replacer) { + this.plurals.unshift([matcher, replacer]); + }, + + + clearSingulars: function() { + this.singulars = []; + }, + + + clearPlurals: function() { + this.plurals = []; + }, + + + isTransnumeral: function(word) { + return Ext.Array.indexOf(this.uncountable, word) != -1; + }, + + + pluralize: function(word) { + if (this.isTransnumeral(word)) { + return word; + } + + var plurals = this.plurals, + length = plurals.length, + tuple, regex, i; + + for (i = 0; i < length; i++) { + tuple = plurals[i]; + regex = tuple[0]; + + if (regex == word || (regex.test && regex.test(word))) { + return word.replace(regex, tuple[1]); + } + } + + return word; + }, + + + singularize: function(word) { + if (this.isTransnumeral(word)) { + return word; + } + + var singulars = this.singulars, + length = singulars.length, + tuple, regex, i; + + for (i = 0; i < length; i++) { + tuple = singulars[i]; + regex = tuple[0]; + + if (regex == word || (regex.test && regex.test(word))) { + return word.replace(regex, tuple[1]); + } + } + + return word; + }, + + + classify: function(word) { + return Ext.String.capitalize(this.singularize(word)); + }, + + + ordinalize: function(number) { + var parsed = parseInt(number, 10), + mod10 = parsed % 10, + mod100 = parsed % 100; + + + if (11 <= mod100 && mod100 <= 13) { + return number + "th"; + } else { + switch(mod10) { + case 1 : return number + "st"; + case 2 : return number + "nd"; + case 3 : return number + "rd"; + default: return number + "th"; + } + } + } +}, function() { + + var irregulars = { + alumnus: 'alumni', + cactus : 'cacti', + focus : 'foci', + nucleus: 'nuclei', + radius: 'radii', + stimulus: 'stimuli', + ellipsis: 'ellipses', + paralysis: 'paralyses', + oasis: 'oases', + appendix: 'appendices', + index: 'indexes', + beau: 'beaux', + bureau: 'bureaux', + tableau: 'tableaux', + woman: 'women', + child: 'children', + man: 'men', + corpus: 'corpora', + criterion: 'criteria', + curriculum: 'curricula', + genus: 'genera', + memorandum: 'memoranda', + phenomenon: 'phenomena', + foot: 'feet', + goose: 'geese', + tooth: 'teeth', + antenna: 'antennae', + formula: 'formulae', + nebula: 'nebulae', + vertebra: 'vertebrae', + vita: 'vitae' + }, + singular; + + for (singular in irregulars) { + this.plural(singular, irregulars[singular]); + this.singular(irregulars[singular], singular); + } +}); + + +Ext.define('Ext.data.association.HasMany', { + extend: 'Ext.data.association.Association', + alternateClassName: 'Ext.data.HasManyAssociation', + requires: ['Ext.util.Inflector'], + + alias: 'association.hasmany', + + + + + + + + + + + + + + constructor: function(config) { + var me = this, + ownerProto, + name; + + me.callParent(arguments); + + me.name = me.name || Ext.util.Inflector.pluralize(me.associatedName.toLowerCase()); + + ownerProto = me.ownerModel.prototype; + name = me.name; + + Ext.applyIf(me, { + storeName : name + "Store", + foreignKey: me.ownerName.toLowerCase() + "_id" + }); + + ownerProto[name] = me.createStore(); + }, + + + createStore: function() { + var that = this, + associatedModel = that.associatedModel, + storeName = that.storeName, + foreignKey = that.foreignKey, + primaryKey = that.primaryKey, + filterProperty = that.filterProperty, + autoLoad = that.autoLoad, + storeConfig = that.storeConfig || {}; + + return function() { + var me = this, + config, filter, + modelDefaults = {}; + + if (me[storeName] === undefined) { + if (filterProperty) { + filter = { + property : filterProperty, + value : me.get(filterProperty), + exactMatch: true + }; + } else { + filter = { + property : foreignKey, + value : me.get(primaryKey), + exactMatch: true + }; + } + + modelDefaults[foreignKey] = me.get(primaryKey); + + config = Ext.apply({}, storeConfig, { + model : associatedModel, + filters : [filter], + remoteFilter : false, + modelDefaults: modelDefaults + }); + + me[storeName] = Ext.data.AbstractStore.create(config); + if (autoLoad) { + me[storeName].load(); + } + } + + return me[storeName]; + }; + }, + + + read: function(record, reader, associationData){ + var store = record[this.name](), + inverse, + items, iLen, i; + + store.add(reader.read(associationData).records); + + + + inverse = this.associatedModel.prototype.associations.findBy(function(assoc){ + return assoc.type === 'belongsTo' && assoc.associatedName === record.$className; + }); + + + if (inverse) { + items = store.data.items; + iLen = items.length; + + for (i = 0; i < iLen; i++) { + items[i][inverse.instanceName] = record; + } + } + } +}); + + +Ext.define('Ext.data.association.HasOne', { + extend: 'Ext.data.association.Association', + alternateClassName: 'Ext.data.HasOneAssociation', + + alias: 'association.hasone', + + + + + + + + + + constructor: function(config) { + this.callParent(arguments); + + var me = this, + ownerProto = me.ownerModel.prototype, + associatedName = me.associatedName, + getterName = me.getterName || 'get' + associatedName, + setterName = me.setterName || 'set' + associatedName; + + Ext.applyIf(me, { + name : associatedName, + foreignKey : associatedName.toLowerCase() + "_id", + instanceName: associatedName + 'HasOneInstance', + associationKey: associatedName.toLowerCase() + }); + + ownerProto[getterName] = me.createGetter(); + ownerProto[setterName] = me.createSetter(); + }, + + + createSetter: function() { + var me = this, + ownerModel = me.ownerModel, + foreignKey = me.foreignKey; + + + return function(value, options, scope) { + if (value && value.isModel) { + value = value.getId(); + } + + this.set(foreignKey, value); + + if (Ext.isFunction(options)) { + options = { + callback: options, + scope: scope || this + }; + } + + if (Ext.isObject(options)) { + return this.save(options); + } + }; + }, + + + createGetter: function() { + var me = this, + ownerModel = me.ownerModel, + associatedName = me.associatedName, + associatedModel = me.associatedModel, + foreignKey = me.foreignKey, + primaryKey = me.primaryKey, + instanceName = me.instanceName; + + + return function(options, scope) { + options = options || {}; + + var model = this, + foreignKeyId = model.get(foreignKey), + success, + instance, + args; + + if (options.reload === true || model[instanceName] === undefined) { + instance = Ext.ModelManager.create({}, associatedName); + instance.set(primaryKey, foreignKeyId); + + if (typeof options == 'function') { + options = { + callback: options, + scope: scope || model + }; + } + + + success = options.success; + options.success = function(rec){ + model[instanceName] = rec; + if (success) { + success.apply(this, arguments); + } + }; + + associatedModel.load(foreignKeyId, options); + + model[instanceName] = instance; + return instance; + } else { + instance = model[instanceName]; + args = [instance]; + scope = scope || options.scope || model; + + + + + Ext.callback(options, scope, args); + Ext.callback(options.success, scope, args); + Ext.callback(options.failure, scope, args); + Ext.callback(options.callback, scope, args); + + return instance; + } + }; + }, + + + read: function(record, reader, associationData){ + var inverse = this.associatedModel.prototype.associations.findBy(function(assoc){ + return assoc.type === 'belongsTo' && assoc.associatedName === record.$className; + }), newRecord = reader.read([associationData]).records[0]; + + record[this.instanceName] = newRecord; + + + if (inverse) { + newRecord[inverse.instanceName] = record; + } + } +}); + + +Ext.define('Ext.data.proxy.WebStorage', { + extend: 'Ext.data.proxy.Client', + alternateClassName: 'Ext.data.WebStorageProxy', + requires: [ + 'Ext.data.SequentialIdGenerator' + ], + + + id: undefined, + + + constructor: function(config) { + this.callParent(arguments); + + + this.cache = {}; + + + + this.id = this.id || (this.store ? this.store.storeId : undefined); + + + this.initialize(); + }, + + + create: function(operation, callback, scope) { + var me = this, + records = operation.records, + length = records.length, + ids = me.getIds(), + id, record, i; + + operation.setStarted(); + + if(me.isHierarchical === undefined) { + + + me.isHierarchical = !!records[0].isNode; + if(me.isHierarchical) { + me.getStorageObject().setItem(me.getTreeKey(), true); + } + } + + for (i = 0; i < length; i++) { + record = records[i]; + + if (record.phantom) { + record.phantom = false; + id = me.getNextId(); + } else { + id = record.getId(); + } + + me.setRecord(record, id); + record.commit(); + ids.push(id); + } + + me.setIds(ids); + + operation.setCompleted(); + operation.setSuccessful(); + + if (typeof callback == 'function') { + callback.call(scope || me, operation); + } + }, + + + read: function(operation, callback, scope) { + + + var me = this, + records = [], + i = 0, + success = true, + Model = me.model, + ids, length, record, data, id; + + operation.setStarted(); + + if(me.isHierarchical) { + records = me.getTreeData(); + } else { + ids = me.getIds(); + length = ids.length; + id = operation.id; + + if (id) { + data = me.getRecord(id); + if (data !== null) { + record = new Model(data, id, data); + } + + if (record) { + records.push(record); + } else { + success = false; + } + } else { + for (; i < length; i++) { + id = ids[i]; + data = me.getRecord(id); + records.push(new Model(data, id, data)); + } + } + + } + + if(success) { + operation.setSuccessful(); + } + operation.setCompleted(); + + operation.resultSet = Ext.create('Ext.data.ResultSet', { + records: records, + total : records.length, + loaded : true + }); + + if (typeof callback == 'function') { + callback.call(scope || me, operation); + } + }, + + + update: function(operation, callback, scope) { + var records = operation.records, + length = records.length, + ids = this.getIds(), + record, id, i; + + operation.setStarted(); + + for (i = 0; i < length; i++) { + record = records[i]; + this.setRecord(record); + record.commit(); + + + + id = record.getId(); + if (id !== undefined && Ext.Array.indexOf(ids, id) == -1) { + ids.push(id); + } + } + this.setIds(ids); + + operation.setCompleted(); + operation.setSuccessful(); + + if (typeof callback == 'function') { + callback.call(scope || this, operation); + } + }, + + + destroy: function(operation, callback, scope) { + var me = this, + records = operation.records, + ids = me.getIds(), + idLength = ids.length, + newIds = [], + removedHash = {}, + i = records.length, + id; + + operation.setStarted(); + + for (; i--;) { + Ext.apply(removedHash, me.removeRecord(records[i])); + } + + for(i = 0; i < idLength; i++) { + id = ids[i]; + if(!removedHash[id]) { + newIds.push(id); + } + } + + me.setIds(newIds); + + operation.setCompleted(); + operation.setSuccessful(); + + if (typeof callback == 'function') { + callback.call(scope || me, operation); + } + }, + + + getRecord: function(id) { + var me = this, + cache = me.cache, + data = !cache[id] ? Ext.decode(me.getStorageObject().getItem(me.getRecordKey(id))) : cache[id]; + + if(!data) { + return null; + } + + cache[id] = data; + data[me.model.prototype.idProperty] = id; + + return data; + }, + + + setRecord: function(record, id) { + if (id) { + record.setId(id); + } else { + id = record.getId(); + } + + var me = this, + rawData = record.data, + data = {}, + model = me.model, + fields = model.prototype.fields.items, + length = fields.length, + i = 0, + field, name, obj, key; + + for (; i < length; i++) { + field = fields[i]; + name = field.name; + + if(field.persist) { + data[name] = rawData[name]; + } + } + + + delete data[me.model.prototype.idProperty]; + + + if(record.isNode && record.get('depth') === 1) { + delete data.parentId; + } + + obj = me.getStorageObject(); + key = me.getRecordKey(id); + + + me.cache[id] = data; + + + obj.removeItem(key); + obj.setItem(key, Ext.encode(data)); + }, + + + removeRecord: function(record) { + var me = this, + id = record.getId(), + records = {}, + i, childNodes; + + records[id] = record; + me.getStorageObject().removeItem(me.getRecordKey(id)); + delete me.cache[id]; + + if(record.childNodes) { + childNodes = record.childNodes; + for(i = childNodes.length; i--;) { + Ext.apply(records, me.removeRecord(childNodes[i])); + } + } + + return records; + }, + + + getRecordKey: function(id) { + if (id.isModel) { + id = id.getId(); + } + + return Ext.String.format("{0}-{1}", this.id, id); + }, + + + getRecordCounterKey: function() { + return Ext.String.format("{0}-counter", this.id); + }, + + + getTreeKey: function() { + return Ext.String.format("{0}-tree", this.id); + }, + + + getIds: function() { + var me = this, + ids = (me.getStorageObject().getItem(me.id) || "").split(","), + model = me.model, + length = ids.length, + isString = model.prototype.fields.get(model.prototype.idProperty).type.type === 'string', + i; + + if (length == 1 && ids[0] === "") { + ids = []; + } else { + for (i = 0; i < length; i++) { + ids[i] = isString ? ids[i] : +ids[i]; + } + } + + return ids; + }, + + + setIds: function(ids) { + var obj = this.getStorageObject(), + str = ids.join(","); + + obj.removeItem(this.id); + + if (!Ext.isEmpty(str)) { + obj.setItem(this.id, str); + } + }, + + + getNextId: function() { + var me = this, + obj = me.getStorageObject(), + key = me.getRecordCounterKey(), + model = me.model, + isString = model.prototype.fields.get(model.prototype.idProperty).type.type === 'string', + id; + + id = me.idGenerator.generate(); + + obj.setItem(key, id); + + if(!isString) { + id = +id; + } + + return id; + }, + + + getTreeData: function() { + var me = this, + ids = me.getIds(), + length = ids.length, + records = [], + recordHash = {}, + root = [], + i = 0, + Model = me.model, + idProperty = Model.prototype.idProperty, + rootLength, record, parent, parentId, children, id; + + for(; i < length; i++) { + id = ids[i]; + + record = me.getRecord(id); + + records.push(record); + + recordHash[id] = record; + if(!record.parentId) { + + root.push(record); + } + } + + rootLength = root.length; + + + Ext.Array.sort(records, me.sortByParentId); + + + for(i = rootLength; i < length; i++) { + record = records[i]; + parentId = record.parentId; + if(!parent || parent[idProperty] !== parentId) { + + parent = recordHash[parentId]; + parent.children = children = []; + } + + + children.push(record); + } + + for(i = length; i--;) { + record = records[i]; + if(!record.children && !record.leaf) { + + record.loaded = true; + } + } + + + for(i = rootLength; i--;) { + record = root[i]; + root[i] = new Model(record, record[idProperty], record); + } + + return root; + }, + + + sortByParentId: function(node1, node2) { + return (node1.parentId || 0) - (node2.parentId || 0); + }, + + + initialize: function() { + var me = this, + storageObject = me.getStorageObject(), + lastId = +storageObject.getItem(me.getRecordCounterKey()); + + storageObject.setItem(me.id, storageObject.getItem(me.id) || ""); + if(storageObject.getItem(me.getTreeKey())) { + me.isHierarchical = true; + } + + me.idGenerator = new Ext.data.SequentialIdGenerator({ + seed: lastId ? lastId + 1 : 1 + }); + }, + + + clear: function() { + var me = this, + obj = me.getStorageObject(), + ids = me.getIds(), + len = ids.length, + i; + + + for (i = 0; i < len; i++) { + obj.removeItem(me.getRecordKey(ids[i])); + } + + + obj.removeItem(me.getRecordCounterKey()); + obj.removeItem(me.getTreeKey()); + obj.removeItem(me.id); + + + me.cache = {}; + }, + + + getStorageObject: function() { + } +}); + + +Ext.define('Ext.data.proxy.LocalStorage', { + extend: 'Ext.data.proxy.WebStorage', + alias: 'proxy.localstorage', + alternateClassName: 'Ext.data.LocalStorageProxy', + + + getStorageObject: function() { + return window.localStorage; + } +}); + + +Ext.define('Ext.data.proxy.Rest', { + extend: 'Ext.data.proxy.Ajax', + alternateClassName: 'Ext.data.RestProxy', + alias : 'proxy.rest', + + + appendId: true, + + + + + batchActions: false, + + + buildUrl: function(request) { + var me = this, + operation = request.operation, + records = operation.records || [], + record = records[0], + format = me.format, + url = me.getUrl(request), + id = record ? record.getId() : operation.id; + + if (me.appendId && id) { + if (!url.match(/\/$/)) { + url += '/'; + } + + url += id; + } + + if (format) { + if (!url.match(/\.$/)) { + url += '.'; + } + + url += format; + } + + request.url = url; + + return me.callParent(arguments); + } +}, function() { + Ext.apply(this.prototype, { + + actionMethods: { + create : 'POST', + read : 'GET', + update : 'PUT', + destroy: 'DELETE' + } + }); +}); + + +Ext.define('Ext.data.proxy.SessionStorage', { + extend: 'Ext.data.proxy.WebStorage', + alias: 'proxy.sessionstorage', + alternateClassName: 'Ext.data.SessionStorageProxy', + + + getStorageObject: function() { + return window.sessionStorage; + } +}); + + + + + +Ext.define('Ext.dd.DDTarget', { + extend: 'Ext.dd.DragDrop', + + + constructor: function(id, sGroup, config) { + if (id) { + this.initTarget(id, sGroup, config); + } + }, + + + getDragEl: Ext.emptyFn, + + isValidHandleChild: Ext.emptyFn, + + startDrag: Ext.emptyFn, + + endDrag: Ext.emptyFn, + + onDrag: Ext.emptyFn, + + onDragDrop: Ext.emptyFn, + + onDragEnter: Ext.emptyFn, + + onDragOut: Ext.emptyFn, + + onDragOver: Ext.emptyFn, + + onInvalidDrop: Ext.emptyFn, + + onMouseDown: Ext.emptyFn, + + onMouseUp: Ext.emptyFn, + + setXConstraint: Ext.emptyFn, + + setYConstraint: Ext.emptyFn, + + resetConstraints: Ext.emptyFn, + + clearConstraints: Ext.emptyFn, + + clearTicks: Ext.emptyFn, + + setInitPosition: Ext.emptyFn, + + setDragElId: Ext.emptyFn, + + setHandleElId: Ext.emptyFn, + + setOuterHandleElId: Ext.emptyFn, + + addInvalidHandleClass: Ext.emptyFn, + + addInvalidHandleId: Ext.emptyFn, + + addInvalidHandleType: Ext.emptyFn, + + removeInvalidHandleClass: Ext.emptyFn, + + removeInvalidHandleId: Ext.emptyFn, + + removeInvalidHandleType: Ext.emptyFn, + + toString: function() { + return ("DDTarget " + this.id); + } +}); + + +Ext.define('Ext.dd.DragTracker', { + + uses: ['Ext.util.Region'], + + mixins: { + observable: 'Ext.util.Observable' + }, + + + active: false, + + + + + trackOver: false, + + + + + + + tolerance: 5, + + + autoStart: false, + + + + + + + + constructor : function(config){ + var me = this; + Ext.apply(me, config); + me.addEvents( + + 'mouseover', + + + 'mouseout', + + + 'mousedown', + + + 'mouseup', + + + 'mousemove', + + + 'beforedragstart', + + + 'dragstart', + + + 'dragend', + + + 'drag' + ); + + me.dragRegion = new Ext.util.Region(0,0,0,0); + + if (me.el) { + me.initEl(me.el); + } + + + me.mixins.observable.constructor.call(me); + if (me.disabled) { + me.disable(); + } + + }, + + + initEl: function(el) { + var me = this; + + me.el = Ext.get(el); + + + me.handle = Ext.get(me.delegate); + + + me.delegate = me.handle ? undefined : me.delegate; + + if (!me.handle) { + me.handle = me.el; + } + + + + me.mon(me.handle, { + mousedown: me.onMouseDown, + delegate: me.delegate, + scope: me + }); + + + + + if (me.trackOver || me.overCls) { + me.mon(me.handle, { + mouseover: me.onMouseOver, + mouseout: me.onMouseOut, + delegate: me.delegate, + scope: me + }); + } + }, + + disable: function() { + this.disabled = true; + }, + + enable: function() { + this.disabled = false; + }, + + destroy : function() { + this.clearListeners(); + delete this.el; + }, + + + + onMouseOver: function(e, target) { + var me = this; + if (!me.disabled) { + if (Ext.EventManager.contains(e) || me.delegate) { + me.mouseIsOut = false; + if (me.overCls) { + me.el.addCls(me.overCls); + } + me.fireEvent('mouseover', me, e, me.delegate ? e.getTarget(me.delegate, target) : me.handle); + } + } + }, + + + + onMouseOut: function(e) { + var me = this; + + if (me.mouseIsDown) { + me.mouseIsOut = true; + } else { + if (me.overCls) { + me.el.removeCls(me.overCls); + } + me.fireEvent('mouseout', me, e); + } + }, + + onMouseDown: function(e, target){ + var me = this, + el; + + + if (me.disabled ||e.dragTracked) { + return; + } + + + me.dragTarget = me.delegate ? target : me.handle.dom; + me.startXY = me.lastXY = e.getXY(); + me.startRegion = Ext.fly(me.dragTarget).getRegion(); + + if (me.fireEvent('mousedown', me, e) === false || + me.fireEvent('beforedragstart', me, e) === false || + me.onBeforeStart(e) === false) { + return; + } + + + + me.mouseIsDown = true; + + + e.dragTracked = true; + + + el = me.el.dom; + if (Ext.isIE && el.setCapture) { + el.setCapture(); + } + + if (me.preventDefault !== false) { + e.preventDefault(); + } + Ext.getDoc().on({ + scope: me, + mouseup: me.onMouseUp, + mousemove: me.onMouseMove, + selectstart: me.stopSelect + }); + if (me.autoStart) { + me.timer = Ext.defer(me.triggerStart, me.autoStart === true ? 1000 : me.autoStart, me, [e]); + } + }, + + onMouseMove: function(e, target){ + var me = this, + xy = e.getXY(), + s = me.startXY; + + e.preventDefault(); + + me.lastXY = xy; + if (!me.active) { + if (Math.max(Math.abs(s[0]-xy[0]), Math.abs(s[1]-xy[1])) > me.tolerance) { + me.triggerStart(e); + } else { + return; + } + } + + + if (me.fireEvent('mousemove', me, e) === false) { + me.onMouseUp(e); + } else { + me.onDrag(e); + me.fireEvent('drag', me, e); + } + }, + + onMouseUp: function(e) { + var me = this; + + + me.mouseIsDown = false; + + + if (me.mouseIsOut) { + me.mouseIsOut = false; + me.onMouseOut(e); + } + e.preventDefault(); + + + if (Ext.isIE && document.releaseCapture) { + document.releaseCapture(); + } + + me.fireEvent('mouseup', me, e); + me.endDrag(e); + }, + + + endDrag: function(e) { + var me = this, + doc = Ext.getDoc(), + wasActive = me.active; + + doc.un('mousemove', me.onMouseMove, me); + doc.un('mouseup', me.onMouseUp, me); + doc.un('selectstart', me.stopSelect, me); + me.clearStart(); + me.active = false; + if (wasActive) { + me.onEnd(e); + me.fireEvent('dragend', me, e); + } + + delete me._constrainRegion; + + + delete Ext.EventObject.dragTracked; + }, + + triggerStart: function(e) { + var me = this; + me.clearStart(); + me.active = true; + me.onStart(e); + me.fireEvent('dragstart', me, e); + }, + + clearStart : function() { + var timer = this.timer; + if (timer) { + clearTimeout(timer); + delete this.timer; + } + }, + + stopSelect : function(e) { + e.stopEvent(); + return false; + }, + + + onBeforeStart : function(e) { + + }, + + + onStart : function(xy) { + + }, + + + onDrag : function(e) { + + }, + + + onEnd : function(e) { + + }, + + + getDragTarget : function(){ + return this.dragTarget; + }, + + + getDragCt : function(){ + return this.el; + }, + + + getConstrainRegion: function() { + var me = this; + + if (me.constrainTo) { + if (me.constrainTo instanceof Ext.util.Region) { + return me.constrainTo; + } + if (!me._constrainRegion) { + me._constrainRegion = Ext.fly(me.constrainTo).getViewRegion(); + } + } else { + if (!me._constrainRegion) { + me._constrainRegion = me.getDragCt().getViewRegion(); + } + } + return me._constrainRegion; + }, + + getXY : function(constrain){ + return constrain ? this.constrainModes[constrain](this, this.lastXY) : this.lastXY; + }, + + + getOffset : function(constrain){ + var xy = this.getXY(constrain), + s = this.startXY; + + return [xy[0]-s[0], xy[1]-s[1]]; + }, + + constrainModes: { + + point: function(me, xy) { + var dr = me.dragRegion, + constrainTo = me.getConstrainRegion(); + + + if (!constrainTo) { + return xy; + } + + dr.x = dr.left = dr[0] = dr.right = xy[0]; + dr.y = dr.top = dr[1] = dr.bottom = xy[1]; + dr.constrainTo(constrainTo); + + return [dr.left, dr.top]; + }, + + + dragTarget: function(me, xy) { + var s = me.startXY, + dr = me.startRegion.copy(), + constrainTo = me.getConstrainRegion(), + adjust; + + + if (!constrainTo) { + return xy; + } + + + + + dr.translateBy(xy[0]-s[0], xy[1]-s[1]); + + + if (dr.right > constrainTo.right) { + xy[0] += adjust = (constrainTo.right - dr.right); + dr.left += adjust; + } + if (dr.left < constrainTo.left) { + xy[0] += (constrainTo.left - dr.left); + } + + + if (dr.bottom > constrainTo.bottom) { + xy[1] += adjust = (constrainTo.bottom - dr.bottom); + dr.top += adjust; + } + if (dr.top < constrainTo.top) { + xy[1] += (constrainTo.top - dr.top); + } + return xy; + } + } +}); + + +Ext.define('Ext.dd.DragZone', { + extend: 'Ext.dd.DragSource', + + + constructor : function(el, config){ + this.callParent([el, config]); + if (this.containerScroll) { + Ext.dd.ScrollManager.register(this.el); + } + }, + + + + + + + getDragData : function(e){ + return Ext.dd.Registry.getHandleFromEvent(e); + }, + + + onInitDrag : function(x, y){ + this.proxy.update(this.dragData.ddel.cloneNode(true)); + this.onStartDrag(x, y); + return true; + }, + + + afterRepair : function(){ + var me = this; + if (Ext.enableFx) { + Ext.fly(me.dragData.ddel).highlight(me.repairHighlightColor); + } + me.dragging = false; + }, + + + getRepairXY : function(e){ + return Ext.fly(this.dragData.ddel).getXY(); + }, + + destroy : function(){ + this.callParent(); + if (this.containerScroll) { + Ext.dd.ScrollManager.unregister(this.el); + } + } +}); + + +Ext.define('Ext.dd.ScrollManager', { + singleton: true, + requires: [ + 'Ext.dd.DragDropManager' + ], + + constructor: function() { + var ddm = Ext.dd.DragDropManager; + ddm.fireEvents = Ext.Function.createSequence(ddm.fireEvents, this.onFire, this); + ddm.stopDrag = Ext.Function.createSequence(ddm.stopDrag, this.onStop, this); + this.doScroll = Ext.Function.bind(this.doScroll, this); + this.ddmInstance = ddm; + this.els = {}; + this.dragEl = null; + this.proc = {}; + }, + + onStop: function(e){ + var sm = Ext.dd.ScrollManager; + sm.dragEl = null; + sm.clearProc(); + }, + + triggerRefresh: function() { + if (this.ddmInstance.dragCurrent) { + this.ddmInstance.refreshCache(this.ddmInstance.dragCurrent.groups); + } + }, + + doScroll: function() { + if (this.ddmInstance.dragCurrent) { + var proc = this.proc, + procEl = proc.el, + ddScrollConfig = proc.el.ddScrollConfig, + inc = ddScrollConfig ? ddScrollConfig.increment : this.increment; + + if (!this.animate) { + if (procEl.scroll(proc.dir, inc)) { + this.triggerRefresh(); + } + } else { + procEl.scroll(proc.dir, inc, true, this.animDuration, this.triggerRefresh); + } + } + }, + + clearProc: function() { + var proc = this.proc; + if (proc.id) { + clearInterval(proc.id); + } + proc.id = 0; + proc.el = null; + proc.dir = ""; + }, + + startProc: function(el, dir) { + this.clearProc(); + this.proc.el = el; + this.proc.dir = dir; + var group = el.ddScrollConfig ? el.ddScrollConfig.ddGroup : undefined, + freq = (el.ddScrollConfig && el.ddScrollConfig.frequency) + ? el.ddScrollConfig.frequency + : this.frequency; + + if (group === undefined || this.ddmInstance.dragCurrent.ddGroup == group) { + this.proc.id = setInterval(this.doScroll, freq); + } + }, + + onFire: function(e, isDrop) { + if (isDrop || !this.ddmInstance.dragCurrent) { + return; + } + if (!this.dragEl || this.dragEl != this.ddmInstance.dragCurrent) { + this.dragEl = this.ddmInstance.dragCurrent; + + this.refreshCache(); + } + + var xy = e.getXY(), + pt = e.getPoint(), + proc = this.proc, + els = this.els, + id, el, r, c; + + for (id in els) { + el = els[id]; + r = el._region; + c = el.ddScrollConfig ? el.ddScrollConfig : this; + if (r && r.contains(pt) && el.isScrollable()) { + if (r.bottom - pt.y <= c.vthresh) { + if(proc.el != el){ + this.startProc(el, "down"); + } + return; + }else if (r.right - pt.x <= c.hthresh) { + if (proc.el != el) { + this.startProc(el, "left"); + } + return; + } else if(pt.y - r.top <= c.vthresh) { + if (proc.el != el) { + this.startProc(el, "up"); + } + return; + } else if(pt.x - r.left <= c.hthresh) { + if (proc.el != el) { + this.startProc(el, "right"); + } + return; + } + } + } + this.clearProc(); + }, + + + register : function(el){ + if (Ext.isArray(el)) { + for(var i = 0, len = el.length; i < len; i++) { + this.register(el[i]); + } + } else { + el = Ext.get(el); + this.els[el.id] = el; + } + }, + + + unregister : function(el){ + if(Ext.isArray(el)){ + for (var i = 0, len = el.length; i < len; i++) { + this.unregister(el[i]); + } + }else{ + el = Ext.get(el); + delete this.els[el.id]; + } + }, + + + vthresh : 25, + + + hthresh : 25, + + + increment : 100, + + + frequency : 500, + + + animate: true, + + + animDuration: 0.4, + + + ddGroup: undefined, + + + refreshCache : function(){ + var els = this.els, + id; + for (id in els) { + if(typeof els[id] == 'object'){ + els[id]._region = els[id].getRegion(); + } + } + } +}); + + +Ext.define('Ext.dd.DropTarget', { + extend: 'Ext.dd.DDTarget', + requires: ['Ext.dd.ScrollManager'], + + + constructor : function(el, config){ + this.el = Ext.get(el); + + Ext.apply(this, config); + + if(this.containerScroll){ + Ext.dd.ScrollManager.register(this.el); + } + + this.callParent([this.el.dom, this.ddGroup || this.group, + {isTarget: true}]); + }, + + + + + dropAllowed : Ext.baseCSSPrefix + 'dd-drop-ok', + + dropNotAllowed : Ext.baseCSSPrefix + 'dd-drop-nodrop', + + + isTarget : true, + + + isNotifyTarget : true, + + + notifyEnter : function(dd, e, data){ + if(this.overClass){ + this.el.addCls(this.overClass); + } + return this.dropAllowed; + }, + + + notifyOver : function(dd, e, data){ + return this.dropAllowed; + }, + + + notifyOut : function(dd, e, data){ + if(this.overClass){ + this.el.removeCls(this.overClass); + } + }, + + + notifyDrop : function(dd, e, data){ + return false; + }, + + destroy : function(){ + this.callParent(); + if(this.containerScroll){ + Ext.dd.ScrollManager.unregister(this.el); + } + } +}); + + +Ext.define('Ext.dd.Registry', { + singleton: true, + constructor: function() { + this.elements = {}; + this.handles = {}; + this.autoIdSeed = 0; + }, + + getId: function(el, autogen){ + if(typeof el == "string"){ + return el; + } + var id = el.id; + if(!id && autogen !== false){ + id = "extdd-" + (++this.autoIdSeed); + el.id = id; + } + return id; + }, + + + register : function(el, data){ + data = data || {}; + if (typeof el == "string") { + el = document.getElementById(el); + } + data.ddel = el; + this.elements[this.getId(el)] = data; + if (data.isHandle !== false) { + this.handles[data.ddel.id] = data; + } + if (data.handles) { + var hs = data.handles, + i, len; + for (i = 0, len = hs.length; i < len; i++) { + this.handles[this.getId(hs[i])] = data; + } + } + }, + + + unregister : function(el){ + var id = this.getId(el, false), + data = this.elements[id], + hs, i, len; + if(data){ + delete this.elements[id]; + if(data.handles){ + hs = data.handles; + for (i = 0, len = hs.length; i < len; i++) { + delete this.handles[this.getId(hs[i], false)]; + } + } + } + }, + + + getHandle : function(id){ + if(typeof id != "string"){ + id = id.id; + } + return this.handles[id]; + }, + + + getHandleFromEvent : function(e){ + var t = e.getTarget(); + return t ? this.handles[t.id] : null; + }, + + + getTarget : function(id){ + if(typeof id != "string"){ + id = id.id; + } + return this.elements[id]; + }, + + + getTargetFromEvent : function(e){ + var t = e.getTarget(); + return t ? this.elements[t.id] || this.handles[t.id] : null; + } +}); + + +Ext.define('Ext.dd.DropZone', { + extend: 'Ext.dd.DropTarget', + requires: ['Ext.dd.Registry'], + + + getTargetFromEvent : function(e){ + return Ext.dd.Registry.getTargetFromEvent(e); + }, + + + onNodeEnter : function(n, dd, e, data){ + + }, + + + onNodeOver : function(n, dd, e, data){ + return this.dropAllowed; + }, + + + onNodeOut : function(n, dd, e, data){ + + }, + + + onNodeDrop : function(n, dd, e, data){ + return false; + }, + + + onContainerOver : function(dd, e, data){ + return this.dropNotAllowed; + }, + + + onContainerDrop : function(dd, e, data){ + return false; + }, + + + notifyEnter : function(dd, e, data){ + return this.dropNotAllowed; + }, + + + notifyOver : function(dd, e, data){ + var n = this.getTargetFromEvent(e); + if(!n) { + if(this.lastOverNode){ + this.onNodeOut(this.lastOverNode, dd, e, data); + this.lastOverNode = null; + } + return this.onContainerOver(dd, e, data); + } + if(this.lastOverNode != n){ + if(this.lastOverNode){ + this.onNodeOut(this.lastOverNode, dd, e, data); + } + this.onNodeEnter(n, dd, e, data); + this.lastOverNode = n; + } + return this.onNodeOver(n, dd, e, data); + }, + + + notifyOut : function(dd, e, data){ + if(this.lastOverNode){ + this.onNodeOut(this.lastOverNode, dd, e, data); + this.lastOverNode = null; + } + }, + + + notifyDrop : function(dd, e, data){ + if(this.lastOverNode){ + this.onNodeOut(this.lastOverNode, dd, e, data); + this.lastOverNode = null; + } + var n = this.getTargetFromEvent(e); + return n ? + this.onNodeDrop(n, dd, e, data) : + this.onContainerDrop(dd, e, data); + }, + + + triggerCacheRefresh : function() { + Ext.dd.DDM.refreshCache(this.groups); + } +}); + + +Ext.define('Ext.direct.Event', { + + + + alias: 'direct.event', + + requires: ['Ext.direct.Manager'], + + + + status: true, + + + constructor: function(config) { + Ext.apply(this, config); + }, + + + getData: function(){ + return this.data; + } +}); + + +Ext.define('Ext.direct.RemotingEvent', { + + + + extend: 'Ext.direct.Event', + + alias: 'direct.rpc', + + + + + getTransaction: function(){ + return this.transaction || Ext.direct.Manager.getTransaction(this.tid); + } +}); + + +Ext.define('Ext.direct.ExceptionEvent', { + + + + extend: 'Ext.direct.RemotingEvent', + + alias: 'direct.exception', + + + + status: false +}); + + +Ext.define('Ext.direct.Provider', { + + + + alias: 'direct.provider', + + mixins: { + observable: 'Ext.util.Observable' + }, + + + + + + constructor : function(config){ + var me = this; + + Ext.apply(me, config); + me.addEvents( + + 'connect', + + 'disconnect', + + 'data', + + 'exception' + ); + me.mixins.observable.constructor.call(me, config); + }, + + + isConnected: function(){ + return false; + }, + + + connect: Ext.emptyFn, + + + disconnect: Ext.emptyFn +}); + + + +Ext.define('Ext.direct.JsonProvider', { + + + + extend: 'Ext.direct.Provider', + + alias: 'direct.jsonprovider', + + uses: ['Ext.direct.ExceptionEvent'], + + + + + parseResponse: function(response){ + if (!Ext.isEmpty(response.responseText)) { + if (Ext.isObject(response.responseText)) { + return response.responseText; + } + return Ext.decode(response.responseText); + } + return null; + }, + + + createEvents: function(response){ + var data = null, + events = [], + event, + i = 0, + len; + + try{ + data = this.parseResponse(response); + } catch(e) { + event = new Ext.direct.ExceptionEvent({ + data: e, + xhr: response, + code: Ext.direct.Manager.exceptions.PARSE, + message: 'Error parsing json response: \n\n ' + data + }); + return [event]; + } + + if (Ext.isArray(data)) { + for (len = data.length; i < len; ++i) { + events.push(this.createEvent(data[i])); + } + } else { + events.push(this.createEvent(data)); + } + return events; + }, + + + createEvent: function(response){ + return Ext.create('direct.' + response.type, response); + } +}); + + +Ext.define('Ext.direct.PollingProvider', { + + + + extend: 'Ext.direct.JsonProvider', + + alias: 'direct.pollingprovider', + + uses: ['Ext.direct.ExceptionEvent'], + + requires: ['Ext.Ajax', 'Ext.util.DelayedTask'], + + + + + interval: 3000, + + + + + + + constructor : function(config){ + this.callParent(arguments); + this.addEvents( + + 'beforepoll', + + 'poll' + ); + }, + + + isConnected: function(){ + return !!this.pollTask; + }, + + + connect: function(){ + var me = this, url = me.url; + + if (url && !me.pollTask) { + me.pollTask = Ext.TaskManager.start({ + run: function(){ + if (me.fireEvent('beforepoll', me) !== false) { + if (Ext.isFunction(url)) { + url(me.baseParams); + } else { + Ext.Ajax.request({ + url: url, + callback: me.onData, + scope: me, + params: me.baseParams + }); + } + } + }, + interval: me.interval, + scope: me + }); + me.fireEvent('connect', me); + } else if (!url) { + } + }, + + + disconnect: function(){ + var me = this; + + if (me.pollTask) { + Ext.TaskManager.stop(me.pollTask); + delete me.pollTask; + me.fireEvent('disconnect', me); + } + }, + + + onData: function(opt, success, response){ + var me = this, + i = 0, + len, + events; + + if (success) { + events = me.createEvents(response); + for (len = events.length; i < len; ++i) { + me.fireEvent('data', me, events[i]); + } + } else { + me.fireEvent('data', me, new Ext.direct.ExceptionEvent({ + data: null, + code: Ext.direct.Manager.exceptions.TRANSPORT, + message: 'Unable to connect to the server.', + xhr: response + })); + } + } +}); + + +Ext.define('Ext.direct.RemotingMethod', { + + constructor: function(config){ + var me = this, + params = Ext.isDefined(config.params) ? config.params : config.len, + name, pLen, p, param; + + me.name = config.name; + me.formHandler = config.formHandler; + if (Ext.isNumber(params)) { + + me.len = params; + me.ordered = true; + } else { + + me.params = []; + pLen = params.length; + for (p = 0; p < pLen; p++) { + param = params[p]; + name = Ext.isObject(param) ? param.name : param; + me.params.push(name); + } + } + }, + + getArgs: function(params, paramOrder, paramsAsHash){ + var args = [], + i, + len; + + if (this.ordered) { + if (this.len > 0) { + + if (paramOrder) { + for (i = 0, len = paramOrder.length; i < len; i++) { + args.push(params[paramOrder[i]]); + } + } else if (paramsAsHash) { + + args.push(params); + } + } + } else { + args.push(params); + } + + return args; + }, + + + getCallData: function(args){ + var me = this, + data = null, + len = me.len, + params = me.params, + callback, + scope, + name; + + if (me.ordered) { + callback = args[len]; + scope = args[len + 1]; + if (len !== 0) { + data = args.slice(0, len); + } + } else { + data = Ext.apply({}, args[0]); + callback = args[1]; + scope = args[2]; + + + for (name in data) { + if (data.hasOwnProperty(name)) { + if (!Ext.Array.contains(params, name)) { + delete data[name]; + } + } + } + } + + return { + data: data, + callback: callback, + scope: scope + }; + } +}); + + +Ext.define('Ext.direct.Transaction', { + + + + alias: 'direct.transaction', + alternateClassName: 'Ext.Direct.Transaction', + + statics: { + TRANSACTION_ID: 0 + }, + + + + + constructor: function(config){ + var me = this; + + Ext.apply(me, config); + me.id = me.tid = ++me.self.TRANSACTION_ID; + me.retryCount = 0; + }, + + send: function(){ + this.provider.queueTransaction(this); + }, + + retry: function(){ + this.retryCount++; + this.send(); + }, + + getProvider: function(){ + return this.provider; + } +}); + + +Ext.define('Ext.direct.RemotingProvider', { + + + + alias: 'direct.remotingprovider', + + extend: 'Ext.direct.JsonProvider', + + requires: [ + 'Ext.util.MixedCollection', + 'Ext.util.DelayedTask', + 'Ext.direct.Transaction', + 'Ext.direct.RemotingMethod' + ], + + + + + + + + + + + + + enableBuffer: 10, + + + maxRetries: 1, + + + timeout: undefined, + + constructor : function(config){ + var me = this; + me.callParent(arguments); + me.addEvents( + + 'beforecall', + + 'call' + ); + me.namespace = (Ext.isString(me.namespace)) ? Ext.ns(me.namespace) : me.namespace || window; + me.transactions = new Ext.util.MixedCollection(); + me.callBuffer = []; + }, + + + initAPI : function(){ + var actions = this.actions, + namespace = this.namespace, + action, + cls, + methods, + i, + len, + method; + + for (action in actions) { + if (actions.hasOwnProperty(action)) { + cls = namespace[action]; + if (!cls) { + cls = namespace[action] = {}; + } + methods = actions[action]; + + for (i = 0, len = methods.length; i < len; ++i) { + method = new Ext.direct.RemotingMethod(methods[i]); + cls[method.name] = this.createHandler(action, method); + } + } + } + }, + + + createHandler : function(action, method){ + var me = this, + handler; + + if (!method.formHandler) { + handler = function(){ + me.configureRequest(action, method, Array.prototype.slice.call(arguments, 0)); + }; + } else { + handler = function(form, callback, scope){ + me.configureFormRequest(action, method, form, callback, scope); + }; + } + handler.directCfg = { + action: action, + method: method + }; + return handler; + }, + + + isConnected: function(){ + return !!this.connected; + }, + + + connect: function(){ + var me = this; + + if (me.url) { + me.initAPI(); + me.connected = true; + me.fireEvent('connect', me); + } else if(!me.url) { + } + }, + + + disconnect: function(){ + var me = this; + + if (me.connected) { + me.connected = false; + me.fireEvent('disconnect', me); + } + }, + + + runCallback: function(transaction, event){ + var success = !!event.status, + funcName = success ? 'success' : 'failure', + callback, + result; + + if (transaction && transaction.callback) { + callback = transaction.callback; + result = Ext.isDefined(event.result) ? event.result : event.data; + + if (Ext.isFunction(callback)) { + callback(result, event, success); + } else { + Ext.callback(callback[funcName], callback.scope, [result, event, success]); + Ext.callback(callback.callback, callback.scope, [result, event, success]); + } + } + }, + + + onData: function(options, success, response){ + var me = this, + i = 0, + len, + events, + event, + transaction, + transactions; + + if (success) { + events = me.createEvents(response); + for (len = events.length; i < len; ++i) { + event = events[i]; + transaction = me.getTransaction(event); + me.fireEvent('data', me, event); + if (transaction) { + me.runCallback(transaction, event, true); + Ext.direct.Manager.removeTransaction(transaction); + } + } + } else { + transactions = [].concat(options.transaction); + for (len = transactions.length; i < len; ++i) { + transaction = me.getTransaction(transactions[i]); + if (transaction && transaction.retryCount < me.maxRetries) { + transaction.retry(); + } else { + event = new Ext.direct.ExceptionEvent({ + data: null, + transaction: transaction, + code: Ext.direct.Manager.exceptions.TRANSPORT, + message: 'Unable to connect to the server.', + xhr: response + }); + me.fireEvent('data', me, event); + if (transaction) { + me.runCallback(transaction, event, false); + Ext.direct.Manager.removeTransaction(transaction); + } + } + } + } + }, + + + getTransaction: function(options){ + return options && options.tid ? Ext.direct.Manager.getTransaction(options.tid) : null; + }, + + + configureRequest: function(action, method, args){ + var me = this, + callData = method.getCallData(args), + data = callData.data, + callback = callData.callback, + scope = callData.scope, + transaction; + + transaction = new Ext.direct.Transaction({ + provider: me, + args: args, + action: action, + method: method.name, + data: data, + callback: scope && Ext.isFunction(callback) ? Ext.Function.bind(callback, scope) : callback + }); + + if (me.fireEvent('beforecall', me, transaction, method) !== false) { + Ext.direct.Manager.addTransaction(transaction); + me.queueTransaction(transaction); + me.fireEvent('call', me, transaction, method); + } + }, + + + getCallData: function(transaction){ + return { + action: transaction.action, + method: transaction.method, + data: transaction.data, + type: 'rpc', + tid: transaction.id + }; + }, + + + sendRequest : function(data){ + var me = this, + request = { + url: me.url, + callback: me.onData, + scope: me, + transaction: data, + timeout: me.timeout + }, callData, + enableUrlEncode = me.enableUrlEncode, + i = 0, + len, + params; + + + if (Ext.isArray(data)) { + callData = []; + for (len = data.length; i < len; ++i) { + callData.push(me.getCallData(data[i])); + } + } else { + callData = me.getCallData(data); + } + + if (enableUrlEncode) { + params = {}; + params[Ext.isString(enableUrlEncode) ? enableUrlEncode : 'data'] = Ext.encode(callData); + request.params = params; + } else { + request.jsonData = callData; + } + Ext.Ajax.request(request); + }, + + + queueTransaction: function(transaction){ + var me = this, + enableBuffer = me.enableBuffer; + + if (transaction.form) { + me.sendFormRequest(transaction); + return; + } + + me.callBuffer.push(transaction); + if (enableBuffer) { + if (!me.callTask) { + me.callTask = new Ext.util.DelayedTask(me.combineAndSend, me); + } + me.callTask.delay(Ext.isNumber(enableBuffer) ? enableBuffer : 10); + } else { + me.combineAndSend(); + } + }, + + + combineAndSend : function(){ + var buffer = this.callBuffer, + len = buffer.length; + + if (len > 0) { + this.sendRequest(len == 1 ? buffer[0] : buffer); + this.callBuffer = []; + } + }, + + + configureFormRequest : function(action, method, form, callback, scope){ + var me = this, + transaction = new Ext.direct.Transaction({ + provider: me, + action: action, + method: method.name, + args: [form, callback, scope], + callback: scope && Ext.isFunction(callback) ? Ext.Function.bind(callback, scope) : callback, + isForm: true + }), + isUpload, + params; + + if (me.fireEvent('beforecall', me, transaction, method) !== false) { + Ext.direct.Manager.addTransaction(transaction); + isUpload = String(form.getAttribute("enctype")).toLowerCase() == 'multipart/form-data'; + + params = { + extTID: transaction.id, + extAction: action, + extMethod: method.name, + extType: 'rpc', + extUpload: String(isUpload) + }; + + + + Ext.apply(transaction, { + form: Ext.getDom(form), + isUpload: isUpload, + params: callback && Ext.isObject(callback.params) ? Ext.apply(params, callback.params) : params + }); + me.fireEvent('call', me, transaction, method); + me.sendFormRequest(transaction); + } + }, + + + sendFormRequest: function(transaction){ + Ext.Ajax.request({ + url: this.url, + params: transaction.params, + callback: this.onData, + scope: this, + form: transaction.form, + isUpload: transaction.isUpload, + transaction: transaction + }); + } + +}); + + +Ext.define('Ext.draw.Matrix', { + + + + requires: ['Ext.draw.Draw'], + + + + constructor: function(a, b, c, d, e, f) { + if (a != null) { + this.matrix = [[a, c, e], [b, d, f], [0, 0, 1]]; + } + else { + this.matrix = [[1, 0, 0], [0, 1, 0], [0, 0, 1]]; + } + }, + + add: function(a, b, c, d, e, f) { + var me = this, + out = [[], [], []], + matrix = [[a, c, e], [b, d, f], [0, 0, 1]], + x, + y, + z, + res; + + for (x = 0; x < 3; x++) { + for (y = 0; y < 3; y++) { + res = 0; + for (z = 0; z < 3; z++) { + res += me.matrix[x][z] * matrix[z][y]; + } + out[x][y] = res; + } + } + me.matrix = out; + }, + + prepend: function(a, b, c, d, e, f) { + var me = this, + out = [[], [], []], + matrix = [[a, c, e], [b, d, f], [0, 0, 1]], + x, + y, + z, + res; + + for (x = 0; x < 3; x++) { + for (y = 0; y < 3; y++) { + res = 0; + for (z = 0; z < 3; z++) { + res += matrix[x][z] * me.matrix[z][y]; + } + out[x][y] = res; + } + } + me.matrix = out; + }, + + invert: function() { + var matrix = this.matrix, + a = matrix[0][0], + b = matrix[1][0], + c = matrix[0][1], + d = matrix[1][1], + e = matrix[0][2], + f = matrix[1][2], + x = a * d - b * c; + return new Ext.draw.Matrix(d / x, -b / x, -c / x, a / x, (c * f - d * e) / x, (b * e - a * f) / x); + }, + + clone: function() { + var matrix = this.matrix, + a = matrix[0][0], + b = matrix[1][0], + c = matrix[0][1], + d = matrix[1][1], + e = matrix[0][2], + f = matrix[1][2]; + return new Ext.draw.Matrix(a, b, c, d, e, f); + }, + + translate: function(x, y) { + this.prepend(1, 0, 0, 1, x, y); + }, + + scale: function(x, y, cx, cy) { + var me = this; + if (y == null) { + y = x; + } + me.add(x, 0, 0, y, cx * (1 - x), cy * (1 - y)); + }, + + rotate: function(a, x, y) { + a = Ext.draw.Draw.rad(a); + var me = this, + cos = +Math.cos(a).toFixed(9), + sin = +Math.sin(a).toFixed(9); + me.add(cos, sin, -sin, cos, x - cos * x + sin * y, -(sin * x) + y - cos * y); + }, + + x: function(x, y) { + var matrix = this.matrix; + return x * matrix[0][0] + y * matrix[0][1] + matrix[0][2]; + }, + + y: function(x, y) { + var matrix = this.matrix; + return x * matrix[1][0] + y * matrix[1][1] + matrix[1][2]; + }, + + get: function(i, j) { + return + this.matrix[i][j].toFixed(4); + }, + + toString: function() { + var me = this; + return [me.get(0, 0), me.get(0, 1), me.get(1, 0), me.get(1, 1), 0, 0].join(); + }, + + toSvg: function() { + var me = this; + return "matrix(" + [me.get(0, 0), me.get(1, 0), me.get(0, 1), me.get(1, 1), me.get(0, 2), me.get(1, 2)].join() + ")"; + }, + + toFilter: function(dx, dy) { + var me = this; + dx = dx || 0; + dy = dy || 0; + return "progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', filterType='bilinear', M11=" + me.get(0, 0) + + ", M12=" + me.get(0, 1) + ", M21=" + me.get(1, 0) + ", M22=" + me.get(1, 1) + + ", Dx=" + (me.get(0, 2) + dx) + ", Dy=" + (me.get(1, 2) + dy) + ")"; + }, + + offset: function() { + var matrix = this.matrix; + return [(matrix[0][2] || 0).toFixed(4), (matrix[1][2] || 0).toFixed(4)]; + }, + + + split: function () { + function norm(a) { + return a[0] * a[0] + a[1] * a[1]; + } + function normalize(a) { + var mag = Math.sqrt(norm(a)); + a[0] /= mag; + a[1] /= mag; + } + var matrix = this.matrix, + out = { + translateX: matrix[0][2], + translateY: matrix[1][2] + }, + row; + + + row = [[matrix[0][0], matrix[0][1]], [matrix[1][1], matrix[1][1]]]; + out.scaleX = Math.sqrt(norm(row[0])); + normalize(row[0]); + + out.shear = row[0][0] * row[1][0] + row[0][1] * row[1][1]; + row[1] = [row[1][0] - row[0][0] * out.shear, row[1][1] - row[0][1] * out.shear]; + + out.scaleY = Math.sqrt(norm(row[1])); + normalize(row[1]); + out.shear /= out.scaleY; + + + out.rotate = Math.asin(-row[0][1]); + + out.isSimple = !+out.shear.toFixed(9) && (out.scaleX.toFixed(9) == out.scaleY.toFixed(9) || !out.rotate); + + return out; + } +}); + + +Ext.define('Ext.draw.SpriteDD', { + extend: 'Ext.dd.DragSource', + + constructor : function(sprite, cfg){ + var me = this, + el = sprite.el; + me.sprite = sprite; + me.el = el; + me.dragData = {el: el, sprite: sprite}; + me.callParent([el, cfg]); + me.sprite.setStyle('cursor', 'move'); + }, + + showFrame: Ext.emptyFn, + createFrame : Ext.emptyFn, + + getDragEl : function(e){ + return this.el; + }, + + getRegion: function() { + var me = this, + el = me.el, + pos, x1, x2, y1, y2, t, r, b, l, bbox, sprite; + + sprite = me.sprite; + bbox = sprite.getBBox(); + + try { + pos = Ext.Element.getXY(el); + } catch (e) { } + + if (!pos) { + return null; + } + + x1 = pos[0]; + x2 = x1 + bbox.width; + y1 = pos[1]; + y2 = y1 + bbox.height; + + return new Ext.util.Region(y1, x2, y2, x1); + }, + + + + startDrag: function(x, y) { + var me = this, + attr = me.sprite.attr; + me.prev = me.sprite.surface.transformToViewBox(x, y); + }, + + onDrag: function(e) { + var xy = e.getXY(), + me = this, + sprite = me.sprite, + attr = sprite.attr, dx, dy; + xy = me.sprite.surface.transformToViewBox(xy[0], xy[1]); + dx = xy[0] - me.prev[0]; + dy = xy[1] - me.prev[1]; + sprite.setAttributes({ + translate: { + x: attr.translation.x + dx, + y: attr.translation.y + dy + } + }, true); + me.prev = xy; + }, + + setDragElPos: function () { + + return false; + } +}); + + +Ext.define('Ext.draw.Sprite', { + + + + mixins: { + observable: 'Ext.util.Observable', + animate: 'Ext.util.Animate' + }, + + requires: ['Ext.draw.SpriteDD'], + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dirty: false, + dirtyHidden: false, + dirtyTransform: false, + dirtyPath: true, + dirtyFont: true, + zIndexDirty: true, + + + isSprite: true, + zIndex: 0, + fontProperties: [ + 'font', + 'font-size', + 'font-weight', + 'font-style', + 'font-family', + 'text-anchor', + 'text' + ], + pathProperties: [ + 'x', + 'y', + 'd', + 'path', + 'height', + 'width', + 'radius', + 'r', + 'rx', + 'ry', + 'cx', + 'cy' + ], + constructor: function(config) { + var me = this; + config = Ext.merge({}, config || {}); + me.id = Ext.id(null, 'ext-sprite-'); + me.transformations = []; + Ext.copyTo(this, config, 'surface,group,type,draggable'); + + me.bbox = {}; + me.attr = { + zIndex: 0, + translation: { + x: null, + y: null + }, + rotation: { + degrees: null, + x: null, + y: null + }, + scaling: { + x: null, + y: null, + cx: null, + cy: null + } + }; + + delete config.surface; + delete config.group; + delete config.type; + delete config.draggable; + me.setAttributes(config); + me.addEvents( + + 'beforedestroy', + + 'destroy', + + 'render', + + 'mousedown', + + 'mouseup', + + 'mouseover', + + 'mouseout', + + 'mousemove', + + 'click' + ); + me.mixins.observable.constructor.apply(this, arguments); + }, + + + + initDraggable: function() { + var me = this; + me.draggable = true; + + if (!me.el) { + me.surface.createSpriteElement(me); + } + me.dd = new Ext.draw.SpriteDD(me, Ext.isBoolean(me.draggable) ? null : me.draggable); + me.on('beforedestroy', me.dd.destroy, me.dd); + }, + + + setAttributes: function(attrs, redraw) { + var me = this, + fontProps = me.fontProperties, + fontPropsLength = fontProps.length, + pathProps = me.pathProperties, + pathPropsLength = pathProps.length, + hasSurface = !!me.surface, + custom = hasSurface && me.surface.customAttributes || {}, + spriteAttrs = me.attr, + dirtyBBox = false, + attr, i, newTranslation, translation, newRotate, rotation, newScaling, scaling; + + attrs = Ext.apply({}, attrs); + for (attr in custom) { + if (attrs.hasOwnProperty(attr) && typeof custom[attr] == "function") { + Ext.apply(attrs, custom[attr].apply(me, [].concat(attrs[attr]))); + } + } + + + if (!!attrs.hidden !== !!spriteAttrs.hidden) { + me.dirtyHidden = true; + } + + + for (i = 0; i < pathPropsLength; i++) { + attr = pathProps[i]; + if (attr in attrs && attrs[attr] !== spriteAttrs[attr]) { + me.dirtyPath = true; + dirtyBBox = true; + break; + } + } + + + if ('zIndex' in attrs) { + me.zIndexDirty = true; + } + + + if ('text' in attrs) { + me.dirtyFont = true; + dirtyBBox = true; + } + + for (i = 0; i < fontPropsLength; i++) { + attr = fontProps[i]; + if (attr in attrs && attrs[attr] !== spriteAttrs[attr]) { + me.dirtyFont = true; + dirtyBBox = true; + break; + } + } + + newTranslation = attrs.translation || attrs.translate; + delete attrs.translate; + delete attrs.translation; + translation = spriteAttrs.translation; + if (newTranslation) { + if (('x' in newTranslation && newTranslation.x !== translation.x) || + ('y' in newTranslation && newTranslation.y !== translation.y)) { + me.dirtyTransform = true; + translation.x = newTranslation.x; + translation.y = newTranslation.y; + } + } + + newRotate = attrs.rotation || attrs.rotate; + rotation = spriteAttrs.rotation; + delete attrs.rotate; + delete attrs.rotation; + if (newRotate) { + if (('x' in newRotate && newRotate.x !== rotation.x) || + ('y' in newRotate && newRotate.y !== rotation.y) || + ('degrees' in newRotate && newRotate.degrees !== rotation.degrees)) { + me.dirtyTransform = true; + rotation.x = newRotate.x; + rotation.y = newRotate.y; + rotation.degrees = newRotate.degrees; + } + } + + newScaling = attrs.scaling || attrs.scale; + scaling = spriteAttrs.scaling; + delete attrs.scale; + delete attrs.scaling; + if (newScaling) { + if (('x' in newScaling && newScaling.x !== scaling.x) || + ('y' in newScaling && newScaling.y !== scaling.y) || + ('cx' in newScaling && newScaling.cx !== scaling.cx) || + ('cy' in newScaling && newScaling.cy !== scaling.cy)) { + me.dirtyTransform = true; + scaling.x = newScaling.x; + scaling.y = newScaling.y; + scaling.cx = newScaling.cx; + scaling.cy = newScaling.cy; + } + } + + + if (!me.dirtyTransform && dirtyBBox) { + if (spriteAttrs.scaling.x === null || + spriteAttrs.scaling.y === null || + spriteAttrs.rotation.y === null || + spriteAttrs.rotation.y === null) { + me.dirtyTransform = true; + } + } + + Ext.apply(spriteAttrs, attrs); + me.dirty = true; + + if (redraw === true && hasSurface) { + me.redraw(); + } + return this; + }, + + + getBBox: function() { + return this.surface.getBBox(this); + }, + + setText: function(text) { + return this.surface.setText(this, text); + }, + + + hide: function(redraw) { + this.setAttributes({ + hidden: true + }, redraw); + return this; + }, + + + show: function(redraw) { + this.setAttributes({ + hidden: false + }, redraw); + return this; + }, + + + remove: function() { + if (this.surface) { + this.surface.remove(this); + return true; + } + return false; + }, + + onRemove: function() { + this.surface.onRemove(this); + }, + + + destroy: function() { + var me = this; + if (me.fireEvent('beforedestroy', me) !== false) { + me.remove(); + me.surface.onDestroy(me); + me.clearListeners(); + me.fireEvent('destroy'); + } + }, + + + redraw: function() { + this.surface.renderItem(this); + return this; + }, + + + setStyle: function() { + this.el.setStyle.apply(this.el, arguments); + return this; + }, + + + addCls: function(obj) { + this.surface.addCls(this, obj); + return this; + }, + + + removeCls: function(obj) { + this.surface.removeCls(this, obj); + return this; + } +}); + + +Ext.define('Ext.draw.Text', { + extend: 'Ext.draw.Component', + uses: ['Ext.util.CSS'], + alias: 'widget.text', + + + text: '', + + + + + + focusable: false, + viewBox: false, + autoSize: true, + baseCls: Ext.baseCSSPrefix + 'surface ' + Ext.baseCSSPrefix + 'draw-text', + + initComponent: function() { + var me = this; + + me.textConfig = Ext.apply({ + type: 'text', + text: me.text, + rotate: { + degrees: me.degrees || 0 + } + }, me.textStyle); + Ext.apply(me.textConfig, me.getStyles(me.styleSelectors || me.styleSelector)); + + + + me.initialConfig.items = [me.textConfig]; + me.callParent(arguments); + }, + + + getStyles: function(selectors) { + selectors = Ext.Array.from(selectors); + var i = 0, + len = selectors.length, + rule, + style, + prop, + result = {}; + + for (; i < len; i++) { + + rule = Ext.util.CSS.getRule(selectors[i]); + if (rule) { + style = rule.style; + if (style) { + Ext.apply(result, { + 'font-family': style.fontFamily, + 'font-weight': style.fontWeight, + 'line-height': style.lineHeight, + 'font-size': style.fontSize, + fill: style.color + }); + } + } + } + return result; + }, + + + setAngle: function(degrees) { + var me = this, + surface, + sprite; + + if (me.rendered) { + surface = me.surface; + sprite = surface.items.items[0]; + + me.degrees = degrees; + sprite.setAttributes({ + rotate: { + degrees: degrees + } + }, true); + if (me.autoSize || me.viewBox) { + me.updateLayout(); + } + } else { + me.degrees = degrees; + } + }, + + + setText: function(text) { + var me = this, + surface, + sprite; + + if (me.rendered) { + surface = me.surface; + sprite = surface.items.items[0]; + + me.text = text || ''; + surface.remove(sprite); + me.textConfig.type = 'text'; + me.textConfig.text = me.text; + sprite = surface.add(me.textConfig); + sprite.setAttributes({ + rotate: { + degrees: me.degrees + } + }, true); + if (me.autoSize || me.viewBox) { + me.updateLayout(); + } + } else { + me.on({ + render: function() { + me.setText(text); + }, + single: true + }); + } + } +}); + + +Ext.define('Ext.draw.engine.ImageExporter', { + singleton: true, + + + defaultUrl: 'http://svg.sencha.io', + + + supportedTypes: ['image/png', 'image/jpeg'], + + + widthParam: 'width', + + + heightParam: 'height', + + + typeParam: 'type', + + + svgParam: 'svg', + + formCls: Ext.baseCSSPrefix + 'hide-display', + + + generate: function(surface, config) { + config = config || {}; + var me = this, + type = config.type, + form; + + if (Ext.Array.indexOf(me.supportedTypes, type) === -1) { + return false; + } + + form = Ext.getBody().createChild({ + tag: 'form', + method: 'POST', + action: config.url || me.defaultUrl, + cls: me.formCls, + children: [{ + tag: 'input', + type: 'hidden', + name: config.widthParam || me.widthParam, + value: config.width || surface.width + }, { + tag: 'input', + type: 'hidden', + name: config.heightParam || me.heightParam, + value: config.height || surface.height + }, { + tag: 'input', + type: 'hidden', + name: config.typeParam || me.typeParam, + value: type + }, { + tag: 'input', + type: 'hidden', + name: config.svgParam || me.svgParam + }] + }); + + + form.last(null, true).value = Ext.draw.engine.SvgExporter.generate(surface); + + form.dom.submit(); + form.remove(); + return true; + } + +}); + + +Ext.define('Ext.draw.engine.Svg', { + + + + extend: 'Ext.draw.Surface', + + requires: ['Ext.draw.Draw', 'Ext.draw.Sprite', 'Ext.draw.Matrix', 'Ext.Element'], + + + + engine: 'Svg', + + trimRe: /^\s+|\s+$/g, + spacesRe: /\s+/, + xlink: "http:/" + "/www.w3.org/1999/xlink", + + translateAttrs: { + radius: "r", + radiusX: "rx", + radiusY: "ry", + path: "d", + lineWidth: "stroke-width", + fillOpacity: "fill-opacity", + strokeOpacity: "stroke-opacity", + strokeLinejoin: "stroke-linejoin" + }, + + parsers: {}, + + minDefaults: { + circle: { + cx: 0, + cy: 0, + r: 0, + fill: "none", + stroke: null, + "stroke-width": null, + opacity: null, + "fill-opacity": null, + "stroke-opacity": null + }, + ellipse: { + cx: 0, + cy: 0, + rx: 0, + ry: 0, + fill: "none", + stroke: null, + "stroke-width": null, + opacity: null, + "fill-opacity": null, + "stroke-opacity": null + }, + rect: { + x: 0, + y: 0, + width: 0, + height: 0, + rx: 0, + ry: 0, + fill: "none", + stroke: null, + "stroke-width": null, + opacity: null, + "fill-opacity": null, + "stroke-opacity": null + }, + text: { + x: 0, + y: 0, + "text-anchor": "start", + "font-family": null, + "font-size": null, + "font-weight": null, + "font-style": null, + fill: "#000", + stroke: null, + "stroke-width": null, + opacity: null, + "fill-opacity": null, + "stroke-opacity": null + }, + path: { + d: "M0,0", + fill: "none", + stroke: null, + "stroke-width": null, + opacity: null, + "fill-opacity": null, + "stroke-opacity": null + }, + image: { + x: 0, + y: 0, + width: 0, + height: 0, + preserveAspectRatio: "none", + opacity: null + } + }, + + createSvgElement: function(type, attrs) { + var el = this.domRef.createElementNS("http:/" + "/www.w3.org/2000/svg", type), + key; + if (attrs) { + for (key in attrs) { + el.setAttribute(key, String(attrs[key])); + } + } + return el; + }, + + createSpriteElement: function(sprite) { + + var el = this.createSvgElement(sprite.type); + el.id = sprite.id; + if (el.style) { + el.style.webkitTapHighlightColor = "rgba(0,0,0,0)"; + } + sprite.el = Ext.get(el); + this.applyZIndex(sprite); + sprite.matrix = new Ext.draw.Matrix(); + sprite.bbox = { + plain: 0, + transform: 0 + }; + this.applyAttrs(sprite); + this.applyTransformations(sprite); + sprite.fireEvent("render", sprite); + return el; + }, + + getBBoxText: function (sprite) { + var bbox = {}, + bb, height, width, i, ln, el; + + if (sprite && sprite.el) { + el = sprite.el.dom; + try { + bbox = el.getBBox(); + return bbox; + } catch(e) { + + } + bbox = {x: bbox.x, y: Infinity, width: 0, height: 0}; + ln = el.getNumberOfChars(); + for (i = 0; i < ln; i++) { + bb = el.getExtentOfChar(i); + bbox.y = Math.min(bb.y, bbox.y); + height = bb.y + bb.height - bbox.y; + bbox.height = Math.max(bbox.height, height); + width = bb.x + bb.width - bbox.x; + bbox.width = Math.max(bbox.width, width); + } + return bbox; + } + }, + + hide: function() { + Ext.get(this.el).hide(); + }, + + show: function() { + Ext.get(this.el).show(); + }, + + hidePrim: function(sprite) { + this.addCls(sprite, Ext.baseCSSPrefix + 'hide-visibility'); + }, + + showPrim: function(sprite) { + this.removeCls(sprite, Ext.baseCSSPrefix + 'hide-visibility'); + }, + + getDefs: function() { + return this._defs || (this._defs = this.createSvgElement("defs")); + }, + + transform: function(sprite, matrixOnly) { + var me = this, + matrix = new Ext.draw.Matrix(), + transforms = sprite.transformations, + transformsLength = transforms.length, + i = 0, + transform, type; + + for (; i < transformsLength; i++) { + transform = transforms[i]; + type = transform.type; + if (type == "translate") { + matrix.translate(transform.x, transform.y); + } + else if (type == "rotate") { + matrix.rotate(transform.degrees, transform.x, transform.y); + } + else if (type == "scale") { + matrix.scale(transform.x, transform.y, transform.centerX, transform.centerY); + } + } + sprite.matrix = matrix; + if (!matrixOnly) { + sprite.el.set({transform: matrix.toSvg()}); + } + }, + + setSize: function(width, height) { + var me = this, + el = me.el; + + width = +width || me.width; + height = +height || me.height; + me.width = width; + me.height = height; + + el.setSize(width, height); + el.set({ + width: width, + height: height + }); + me.callParent([width, height]); + }, + + + getRegion: function() { + + + var svgXY = this.el.getXY(), + rectXY = this.bgRect.getXY(), + max = Math.max, + x = max(svgXY[0], rectXY[0]), + y = max(svgXY[1], rectXY[1]); + return { + left: x, + top: y, + right: x + this.width, + bottom: y + this.height + }; + }, + + onRemove: function(sprite) { + if (sprite.el) { + sprite.el.destroy(); + delete sprite.el; + } + this.callParent(arguments); + }, + + setViewBox: function(x, y, width, height) { + if (isFinite(x) && isFinite(y) && isFinite(width) && isFinite(height)) { + this.callParent(arguments); + this.el.dom.setAttribute("viewBox", [x, y, width, height].join(" ")); + } + }, + + render: function (container) { + var me = this, + width, + height, + el, + defs, + bgRect, + webkitRect; + if (!me.el) { + width = me.width || 0; + height = me.height || 0; + el = me.createSvgElement('svg', { + xmlns: "http:/" + "/www.w3.org/2000/svg", + version: 1.1, + width: width, + height: height + }); + defs = me.getDefs(); + + + + + + bgRect = me.createSvgElement("rect", { + width: "100%", + height: "100%", + fill: "#000", + stroke: "none", + opacity: 0 + }); + + if (Ext.isSafari3) { + + webkitRect = me.createSvgElement("rect", { + x: -10, + y: -10, + width: "110%", + height: "110%", + fill: "none", + stroke: "#000" + }); + } + el.appendChild(defs); + if (Ext.isSafari3) { + el.appendChild(webkitRect); + } + el.appendChild(bgRect); + container.appendChild(el); + me.el = Ext.get(el); + me.bgRect = Ext.get(bgRect); + if (Ext.isSafari3) { + me.webkitRect = Ext.get(webkitRect); + me.webkitRect.hide(); + } + me.el.on({ + scope: me, + mouseup: me.onMouseUp, + mousedown: me.onMouseDown, + mouseover: me.onMouseOver, + mouseout: me.onMouseOut, + mousemove: me.onMouseMove, + mouseenter: me.onMouseEnter, + mouseleave: me.onMouseLeave, + click: me.onClick, + dblclick: me.onDblClick + }); + } + me.renderAll(); + }, + + + onMouseEnter: function(e) { + if (this.el.parent().getRegion().contains(e.getPoint())) { + this.fireEvent('mouseenter', e); + } + }, + + + onMouseLeave: function(e) { + if (!this.el.parent().getRegion().contains(e.getPoint())) { + this.fireEvent('mouseleave', e); + } + }, + + processEvent: function(name, e) { + var target = e.getTarget(), + surface = this.surface, + sprite; + + this.fireEvent(name, e); + + if (target.nodeName == "tspan" && target.parentNode) { + target = target.parentNode; + } + sprite = this.items.get(target.id); + if (sprite) { + sprite.fireEvent(name, sprite, e); + } + }, + + + tuneText: function (sprite, attrs) { + var el = sprite.el.dom, + tspans = [], + height, tspan, text, i, ln, texts, factor, x; + + if (attrs.hasOwnProperty("text")) { + + + + + + text = sprite.tspans && Ext.Array.map(sprite.tspans, function(t) { return t.textContent; }).join(''); + + if (!sprite.tspans || attrs.text != text) { + tspans = this.setText(sprite, attrs.text); + sprite.tspans = tspans; + + } else { + tspans = sprite.tspans || []; + } + } + + if (tspans.length) { + height = this.getBBoxText(sprite).height; + x = sprite.el.dom.getAttribute("x"); + for (i = 0, ln = tspans.length; i < ln; i++) { + + + factor = (Ext.isFF3_0 || Ext.isFF3_5) ? 2 : 4; + tspans[i].setAttribute("x", x); + tspans[i].setAttribute("dy", i ? height * 1.2 : height / factor); + } + sprite.dirty = true; + } + }, + + setText: function(sprite, textString) { + var me = this, + el = sprite.el.dom, + tspans = [], + height, tspan, text, i, ln, texts; + + while (el.firstChild) { + el.removeChild(el.firstChild); + } + + texts = String(textString).split("\n"); + for (i = 0, ln = texts.length; i < ln; i++) { + text = texts[i]; + if (text) { + tspan = me.createSvgElement("tspan"); + tspan.appendChild(document.createTextNode(Ext.htmlDecode(text))); + el.appendChild(tspan); + tspans[i] = tspan; + } + } + return tspans; + }, + + renderAll: function() { + this.items.each(this.renderItem, this); + }, + + renderItem: function (sprite) { + if (!this.el) { + return; + } + if (!sprite.el) { + this.createSpriteElement(sprite); + } + if (sprite.zIndexDirty) { + this.applyZIndex(sprite); + } + if (sprite.dirty) { + this.applyAttrs(sprite); + if (sprite.dirtyTransform) { + this.applyTransformations(sprite); + } + } + }, + + redraw: function(sprite) { + sprite.dirty = sprite.zIndexDirty = true; + this.renderItem(sprite); + }, + + applyAttrs: function (sprite) { + var me = this, + el = sprite.el, + group = sprite.group, + sattr = sprite.attr, + parsers = me.parsers, + + + + gradientsMap = me.gradientsMap || {}, + safariFix = Ext.isSafari && !Ext.isStrict, + groups, i, ln, attrs, font, key, style, name, rect; + + if (group) { + groups = [].concat(group); + ln = groups.length; + for (i = 0; i < ln; i++) { + group = groups[i]; + me.getGroup(group).add(sprite); + } + delete sprite.group; + } + attrs = me.scrubAttrs(sprite) || {}; + + + sprite.bbox.plain = 0; + sprite.bbox.transform = 0; + if (sprite.type == "circle" || sprite.type == "ellipse") { + attrs.cx = attrs.cx || attrs.x; + attrs.cy = attrs.cy || attrs.y; + } + else if (sprite.type == "rect") { + attrs.rx = attrs.ry = attrs.r; + } + else if (sprite.type == "path" && attrs.d) { + attrs.d = Ext.draw.Draw.pathToString(Ext.draw.Draw.pathToAbsolute(attrs.d)); + } + sprite.dirtyPath = false; + + + + + + if (attrs['clip-rect']) { + me.setClip(sprite, attrs); + delete attrs['clip-rect']; + } + if (sprite.type == 'text' && attrs.font && sprite.dirtyFont) { + el.set({ style: "font: " + attrs.font}); + } + if (sprite.type == "image") { + el.dom.setAttributeNS(me.xlink, "href", attrs.src); + } + Ext.applyIf(attrs, me.minDefaults[sprite.type]); + + if (sprite.dirtyHidden) { + (sattr.hidden) ? me.hidePrim(sprite) : me.showPrim(sprite); + sprite.dirtyHidden = false; + } + for (key in attrs) { + if (attrs.hasOwnProperty(key) && attrs[key] != null) { + + + + + + if (safariFix && ('color|stroke|fill'.indexOf(key) > -1) && (attrs[key] in gradientsMap)) { + attrs[key] = gradientsMap[attrs[key]]; + } + + if (key == 'hidden' && sprite.type == 'text') { + continue; + } + if (key in parsers) { + el.dom.setAttribute(key, parsers[key](attrs[key], sprite, me)); + } else { + el.dom.setAttribute(key, attrs[key]); + } + } + } + + if (sprite.type == 'text') { + me.tuneText(sprite, attrs); + } + sprite.dirtyFont = false; + + + style = sattr.style; + if (style) { + el.setStyle(style); + } + + sprite.dirty = false; + + if (Ext.isSafari3) { + + me.webkitRect.show(); + setTimeout(function () { + me.webkitRect.hide(); + }); + } + }, + + setClip: function(sprite, params) { + var me = this, + rect = params["clip-rect"], + clipEl, clipPath; + if (rect) { + if (sprite.clip) { + sprite.clip.parentNode.parentNode.removeChild(sprite.clip.parentNode); + } + clipEl = me.createSvgElement('clipPath'); + clipPath = me.createSvgElement('rect'); + clipEl.id = Ext.id(null, 'ext-clip-'); + clipPath.setAttribute("x", rect.x); + clipPath.setAttribute("y", rect.y); + clipPath.setAttribute("width", rect.width); + clipPath.setAttribute("height", rect.height); + clipEl.appendChild(clipPath); + me.getDefs().appendChild(clipEl); + sprite.el.dom.setAttribute("clip-path", "url(#" + clipEl.id + ")"); + sprite.clip = clipPath; + } + + + + + + + }, + + + applyZIndex: function(sprite) { + var me = this, + items = me.items, + idx = items.indexOf(sprite), + el = sprite.el, + prevEl; + if (me.el.dom.childNodes[idx + 2] !== el.dom) { + if (idx > 0) { + + do { + prevEl = items.getAt(--idx).el; + } while (!prevEl && idx > 0); + } + el.insertAfter(prevEl || me.bgRect); + } + sprite.zIndexDirty = false; + }, + + createItem: function (config) { + var sprite = new Ext.draw.Sprite(config); + sprite.surface = this; + return sprite; + }, + + addGradient: function(gradient) { + gradient = Ext.draw.Draw.parseGradient(gradient); + var me = this, + ln = gradient.stops.length, + vector = gradient.vector, + + + + usePlain = Ext.isSafari && !Ext.isStrict, + gradientEl, stop, stopEl, i, gradientsMap; + + gradientsMap = me.gradientsMap || {}; + + if (!usePlain) { + if (gradient.type == "linear") { + gradientEl = me.createSvgElement("linearGradient"); + gradientEl.setAttribute("x1", vector[0]); + gradientEl.setAttribute("y1", vector[1]); + gradientEl.setAttribute("x2", vector[2]); + gradientEl.setAttribute("y2", vector[3]); + } + else { + gradientEl = me.createSvgElement("radialGradient"); + gradientEl.setAttribute("cx", gradient.centerX); + gradientEl.setAttribute("cy", gradient.centerY); + gradientEl.setAttribute("r", gradient.radius); + if (Ext.isNumber(gradient.focalX) && Ext.isNumber(gradient.focalY)) { + gradientEl.setAttribute("fx", gradient.focalX); + gradientEl.setAttribute("fy", gradient.focalY); + } + } + gradientEl.id = gradient.id; + me.getDefs().appendChild(gradientEl); + for (i = 0; i < ln; i++) { + stop = gradient.stops[i]; + stopEl = me.createSvgElement("stop"); + stopEl.setAttribute("offset", stop.offset + "%"); + stopEl.setAttribute("stop-color", stop.color); + stopEl.setAttribute("stop-opacity",stop.opacity); + gradientEl.appendChild(stopEl); + } + } else { + gradientsMap['url(#' + gradient.id + ')'] = gradient.stops[0].color; + } + me.gradientsMap = gradientsMap; + }, + + + hasCls: function(sprite, className) { + return className && (' ' + (sprite.el.dom.getAttribute('class') || '') + ' ').indexOf(' ' + className + ' ') != -1; + }, + + addCls: function(sprite, className) { + var el = sprite.el, + i, + len, + v, + cls = [], + curCls = el.getAttribute('class') || ''; + + if (!Ext.isArray(className)) { + if (typeof className == 'string' && !this.hasCls(sprite, className)) { + el.set({ 'class': curCls + ' ' + className }); + } + } + else { + for (i = 0, len = className.length; i < len; i++) { + v = className[i]; + if (typeof v == 'string' && (' ' + curCls + ' ').indexOf(' ' + v + ' ') == -1) { + cls.push(v); + } + } + if (cls.length) { + el.set({ 'class': ' ' + cls.join(' ') }); + } + } + }, + + removeCls: function(sprite, className) { + var me = this, + el = sprite.el, + curCls = el.getAttribute('class') || '', + i, idx, len, cls, elClasses; + if (!Ext.isArray(className)){ + className = [className]; + } + if (curCls) { + elClasses = curCls.replace(me.trimRe, ' ').split(me.spacesRe); + for (i = 0, len = className.length; i < len; i++) { + cls = className[i]; + if (typeof cls == 'string') { + cls = cls.replace(me.trimRe, ''); + idx = Ext.Array.indexOf(elClasses, cls); + if (idx != -1) { + Ext.Array.erase(elClasses, idx, 1); + } + } + } + el.set({ 'class': elClasses.join(' ') }); + } + }, + + destroy: function() { + var me = this; + + me.callParent(); + if (me.el) { + me.el.remove(); + } + if (me._defs) { + Ext.get(me._defs).destroy(); + } + if (me.bgRect) { + Ext.get(me.bgRect).destroy(); + } + if (me.webkitRect) { + Ext.get(me.webkitRect).destroy(); + } + delete me.el; + } +}); + + +Ext.define('Ext.draw.engine.SvgExporter', function(){ + var commaRe = /,/g, + fontRegex = /(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)\s('*.*'*)/, + rgbColorRe = /rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g, + rgbaColorRe = /rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,([\d\.]+)\)/g, + surface, len, width, height, + + init = function(s){ + surface = s; + len = surface.length; + width = surface.width; + height = surface.height; + }, + spriteProcessor = { + path: function(sprite){ + + var attr = sprite.attr, + path = attr.path, + pathString = '', + props, p, pLen; + + if (Ext.isArray(path[0])) { + pLen = path.length; + for (p = 0; p < pLen; p++) { + pathString += path[p].join(' '); + } + } else if (Ext.isArray(path)) { + pathString = path.join(' '); + } else { + pathString = path.replace(commaRe,' '); + } + + props = toPropertyString({ + d: pathString, + fill: attr.fill || 'none', + stroke: attr.stroke, + 'fill-opacity': attr.opacity, + 'stroke-width': attr['stroke-width'], + 'stroke-opacity': attr['stroke-opacity'], + "z-index": attr.zIndex, + transform: sprite.matrix.toSvg() + }); + + return ''; + }, + text: function(sprite){ + + + + + var attr = sprite.attr, + match = fontRegex.exec(attr.font), + size = (match && match[1]) || "12", + + family = (match && match[3]) || 'Arial', + text = attr.text, + factor = (Ext.isFF3_0 || Ext.isFF3_5) ? 2 : 4, + tspanString = '', + props; + + sprite.getBBox(); + tspanString += ''; + tspanString += Ext.htmlEncode(text) + ''; + + + props = toPropertyString({ + x: attr.x, + y: attr.y, + 'font-size': size, + 'font-family': family, + 'font-weight': attr['font-weight'], + 'text-anchor': attr['text-anchor'], + + fill: attr.fill || '#000', + 'fill-opacity': attr.opacity, + transform: sprite.matrix.toSvg() + }); + + + + return '' + tspanString + ''; + }, + rect: function(sprite){ + + var attr = sprite.attr, + props = toPropertyString({ + x: attr.x, + y: attr.y, + rx: attr.rx, + ry: attr.ry, + width: attr.width, + height: attr.height, + fill: attr.fill || 'none', + 'fill-opacity': attr.opacity, + stroke: attr.stroke, + 'stroke-opacity': attr['stroke-opacity'], + 'stroke-width':attr['stroke-width'], + transform: sprite.matrix && sprite.matrix.toSvg() + }); + + return ''; + }, + circle: function(sprite){ + + var attr = sprite.attr, + props = toPropertyString({ + cx: attr.x, + cy: attr.y, + r: attr.radius, + fill: attr.translation.fill || attr.fill || 'none', + 'fill-opacity': attr.opacity, + stroke: attr.stroke, + 'stroke-opacity': attr['stroke-opacity'], + 'stroke-width':attr['stroke-width'], + transform: sprite.matrix.toSvg() + }); + + return ''; + }, + image: function(sprite){ + + var attr = sprite.attr, + props = toPropertyString({ + x: attr.x - (attr.width/2 >> 0), + y: attr.y - (attr.height/2 >> 0), + width: attr.width, + height: attr.height, + 'xlink:href': attr.src, + transform: sprite.matrix.toSvg() + }); + + return ''; + } + }, + svgHeader = function(){ + var svg = ''; + svg += ''; + return svg; + }, + svgContent = function(){ + var svg = '', + defs = '', item, itemsLen, items, gradient, + getSvgString, colorstops, stop, + coll, keys, colls, k, kLen, key, collI, i, j, stopsLen, sortedItems, za, zb; + + items = surface.items.items; + itemsLen = items.length; + + + getSvgString = function(node){ + + var childs = node.childNodes, + childLength = childs.length, + i = 0, + attrLength, + j, + svgString = '', child, attr, tagName, attrItem; + + for(; i < childLength; i++){ + child = childs[i]; + attr = child.attributes; + tagName = child.tagName; + + svgString += '<' +tagName; + + for(j = 0, attrLength = attr.length; j < attrLength; j++){ + attrItem = attr.item(j); + svgString += ' '+attrItem.name+'="'+attrItem.value+'"'; + } + + svgString += '>'; + + if(child.childNodes.length > 0){ + svgString += getSvgString(child); + } + + svgString += ''; + + } + return svgString; + }; + + + if(surface.getDefs){ + defs = getSvgString(surface.getDefs()); + }else{ + + coll = surface.gradientsColl; + if (coll) { + keys = coll.keys; + colls = coll.items; + k = 0; + kLen = keys.length; + } + + for (; k < kLen; k++) { + key = keys[k]; + collI = colls[k]; + + gradient = surface.gradientsColl.getByKey(key); + defs += ''; + + var color = gradient.colors.replace(rgbColorRe, 'rgb($1|$2|$3)'); + color = color.replace(rgbaColorRe, 'rgba($1|$2|$3|$4)') + colorstops = color.split(','); + for(i=0, stopsLen = colorstops.length; i < stopsLen; i++){ + stop = colorstops[i].split(' '); + color = Ext.draw.Color.fromString(stop[1].replace(/\|/g,',')); + defs += ''; + } + defs += ''; + } + } + + svg += '' + defs + ''; + + + svg += spriteProcessor.rect({ + attr: { + width: '100%', + height: '100%', + fill: '#fff', + stroke: 'none', + opacity: '0' + } + }); + + + sortedItems = new Array(itemsLen); + for(i = 0; i < itemsLen; i++){ + sortedItems[i] = i; + } + sortedItems.sort(function (a, b) { + za = items[a].attr.zIndex || 0; + zb = items[b].attr.zIndex || 0; + if (za == zb) { + return a - b; + } + return za - zb; + }); + + for(i = 0; i < itemsLen; i++){ + item = items[sortedItems[i]]; + if(!item.attr.hidden){ + svg += spriteProcessor[item.type](item); + } + } + + svg += ''; + + return svg; + }, + toPropertyString = function(obj){ + var propString = '', + key; + + for(key in obj){ + + if(obj.hasOwnProperty(key) && obj[key] != null){ + propString += key +'="'+ obj[key]+'" '; + } + + } + + return propString; + }; + + return { + singleton: true, + + + generate: function(surface, config){ + config = config || {}; + init(surface); + return svgHeader() + svgContent(); + } + }; +}); + + +Ext.define('Ext.draw.engine.Vml', { + + + + extend: 'Ext.draw.Surface', + + requires: ['Ext.draw.Draw', 'Ext.draw.Color', 'Ext.draw.Sprite', 'Ext.draw.Matrix', 'Ext.Element'], + + + + engine: 'Vml', + + map: {M: "m", L: "l", C: "c", Z: "x", m: "t", l: "r", c: "v", z: "x"}, + bitesRe: /([clmz]),?([^clmz]*)/gi, + valRe: /-?[^,\s\-]+/g, + fillUrlRe: /^url\(\s*['"]?([^\)]+?)['"]?\s*\)$/i, + pathlike: /^(path|rect)$/, + NonVmlPathRe: /[ahqstv]/ig, // Non-VML Pathing ops + partialPathRe: /[clmz]/g, + fontFamilyRe: /^['"]+|['"]+$/g, + baseVmlCls: Ext.baseCSSPrefix + 'vml-base', + vmlGroupCls: Ext.baseCSSPrefix + 'vml-group', + spriteCls: Ext.baseCSSPrefix + 'vml-sprite', + measureSpanCls: Ext.baseCSSPrefix + 'vml-measure-span', + zoom: 21600, + coordsize: 1000, + coordorigin: '0 0', + zIndexShift: 0, + // VML uses CSS z-index and therefore doesn't need sprites to be kept in zIndex order + orderSpritesByZIndex: false, + + + + path2vml: function (path) { + var me = this, + nonVML = me.NonVmlPathRe, + map = me.map, + val = me.valRe, + zoom = me.zoom, + bites = me.bitesRe, + command = Ext.Function.bind(Ext.draw.Draw.pathToAbsolute, Ext.draw.Draw), + res, pa, p, r, i, ii, j, jj; + if (String(path).match(nonVML)) { + command = Ext.Function.bind(Ext.draw.Draw.path2curve, Ext.draw.Draw); + } else if (!String(path).match(me.partialPathRe)) { + res = String(path).replace(bites, function (all, command, args) { + var vals = [], + isMove = command.toLowerCase() == "m", + res = map[command]; + args.replace(val, function (value) { + if (isMove && vals.length === 2) { + res += vals + map[command == "m" ? "l" : "L"]; + vals = []; + } + vals.push(Math.round(value * zoom)); + }); + return res + vals; + }); + return res; + } + pa = command(path); + res = []; + for (i = 0, ii = pa.length; i < ii; i++) { + p = pa[i]; + r = pa[i][0].toLowerCase(); + if (r == "z") { + r = "x"; + } + for (j = 1, jj = p.length; j < jj; j++) { + r += Math.round(p[j] * me.zoom) + (j != jj - 1 ? "," : ""); + } + res.push(r); + } + return res.join(" "); + }, + + + translateAttrs: { + radius: "r", + radiusX: "rx", + radiusY: "ry", + lineWidth: "stroke-width", + fillOpacity: "fill-opacity", + strokeOpacity: "stroke-opacity", + strokeLinejoin: "stroke-linejoin" + }, + + + minDefaults: { + circle: { + fill: "none", + stroke: null, + "stroke-width": null, + opacity: null, + "fill-opacity": null, + "stroke-opacity": null + }, + ellipse: { + cx: 0, + cy: 0, + rx: 0, + ry: 0, + fill: "none", + stroke: null, + "stroke-width": null, + opacity: null, + "fill-opacity": null, + "stroke-opacity": null + }, + rect: { + x: 0, + y: 0, + width: 0, + height: 0, + rx: 0, + ry: 0, + fill: "none", + stroke: null, + "stroke-width": null, + opacity: null, + "fill-opacity": null, + "stroke-opacity": null + }, + text: { + x: 0, + y: 0, + "text-anchor": "start", + font: '10px "Arial"', + fill: "#000", + stroke: null, + "stroke-width": null, + opacity: null, + "fill-opacity": null, + "stroke-opacity": null + }, + path: { + d: "M0,0", + fill: "none", + stroke: null, + "stroke-width": null, + opacity: null, + "fill-opacity": null, + "stroke-opacity": null + }, + image: { + x: 0, + y: 0, + width: 0, + height: 0, + preserveAspectRatio: "none", + opacity: null + } + }, + + + onMouseEnter: function (e) { + this.fireEvent("mouseenter", e); + }, + + + onMouseLeave: function (e) { + this.fireEvent("mouseleave", e); + }, + + + processEvent: function (name, e) { + var target = e.getTarget(), + surface = this.surface, + sprite; + this.fireEvent(name, e); + sprite = this.items.get(target.id); + if (sprite) { + sprite.fireEvent(name, sprite, e); + } + }, + + + createSpriteElement: function (sprite) { + var me = this, + attr = sprite.attr, + type = sprite.type, + zoom = me.zoom, + vml = sprite.vml || (sprite.vml = {}), + round = Math.round, + el = (type === 'image') ? me.createNode('image') : me.createNode('shape'), + path, skew, textPath; + + el.coordsize = zoom + ' ' + zoom; + el.coordorigin = attr.coordorigin || "0 0"; + Ext.get(el).addCls(me.spriteCls); + if (type == "text") { + vml.path = path = me.createNode("path"); + path.textpathok = true; + vml.textpath = textPath = me.createNode("textpath"); + textPath.on = true; + el.appendChild(textPath); + el.appendChild(path); + } + el.id = sprite.id; + sprite.el = Ext.get(el); + sprite.el.setStyle('zIndex', -me.zIndexShift); + me.el.appendChild(el); + if (type !== 'image') { + skew = me.createNode("skew"); + skew.on = true; + el.appendChild(skew); + sprite.skew = skew; + } + sprite.matrix = new Ext.draw.Matrix(); + sprite.bbox = { + plain: null, + transform: null + }; + + this.applyAttrs(sprite); + this.applyTransformations(sprite); + sprite.fireEvent("render", sprite); + return sprite.el; + }, + + getBBoxText: function (sprite) { + var vml = sprite.vml; + return { + x: vml.X + (vml.bbx || 0) - vml.W / 2, + y: vml.Y - vml.H / 2, + width: vml.W, + height: vml.H + }; + }, + + applyAttrs: function (sprite) { + var me = this, + vml = sprite.vml, + group = sprite.group, + spriteAttr = sprite.attr, + el = sprite.el, + dom = el.dom, + style, name, groups, i, ln, scrubbedAttrs, font, key, + cx, cy, rx, ry; + + if (group) { + groups = [].concat(group); + ln = groups.length; + for (i = 0; i < ln; i++) { + group = groups[i]; + me.getGroup(group).add(sprite); + } + delete sprite.group; + } + scrubbedAttrs = me.scrubAttrs(sprite) || {}; + + if (sprite.zIndexDirty) { + me.setZIndex(sprite); + } + + + Ext.applyIf(scrubbedAttrs, me.minDefaults[sprite.type]); + + if (sprite.type == 'image') { + Ext.apply(sprite.attr, { + x: scrubbedAttrs.x, + y: scrubbedAttrs.y, + width: scrubbedAttrs.width, + height: scrubbedAttrs.height + }); + el.setStyle({ + width: scrubbedAttrs.width + 'px', + height: scrubbedAttrs.height + 'px' + }); + dom.src = scrubbedAttrs.src; + } + + if (dom.href) { + dom.href = scrubbedAttrs.href; + } + if (dom.title) { + dom.title = scrubbedAttrs.title; + } + if (dom.target) { + dom.target = scrubbedAttrs.target; + } + if (dom.cursor) { + dom.cursor = scrubbedAttrs.cursor; + } + + + if (sprite.dirtyHidden) { + (scrubbedAttrs.hidden) ? me.hidePrim(sprite) : me.showPrim(sprite); + sprite.dirtyHidden = false; + } + + + if (sprite.dirtyPath) { + if (sprite.type == "circle" || sprite.type == "ellipse") { + cx = scrubbedAttrs.x; + cy = scrubbedAttrs.y; + rx = scrubbedAttrs.rx || scrubbedAttrs.r || 0; + ry = scrubbedAttrs.ry || scrubbedAttrs.r || 0; + dom.path = Ext.String.format("ar{0},{1},{2},{3},{4},{1},{4},{1}", + Math.round((cx - rx) * me.zoom), + Math.round((cy - ry) * me.zoom), + Math.round((cx + rx) * me.zoom), + Math.round((cy + ry) * me.zoom), + Math.round(cx * me.zoom)); + sprite.dirtyPath = false; + } + else if (sprite.type !== "text" && sprite.type !== 'image') { + sprite.attr.path = scrubbedAttrs.path = me.setPaths(sprite, scrubbedAttrs) || scrubbedAttrs.path; + dom.path = me.path2vml(scrubbedAttrs.path); + sprite.dirtyPath = false; + } + } + + + if ("clip-rect" in scrubbedAttrs) { + me.setClip(sprite, scrubbedAttrs); + } + + + if (sprite.type == "text") { + me.setTextAttributes(sprite, scrubbedAttrs); + } + + + if (scrubbedAttrs.opacity || scrubbedAttrs['stroke-opacity'] || scrubbedAttrs.fill) { + me.setFill(sprite, scrubbedAttrs); + } + + + if (scrubbedAttrs.stroke || scrubbedAttrs['stroke-opacity'] || scrubbedAttrs.fill) { + me.setStroke(sprite, scrubbedAttrs); + } + + + style = spriteAttr.style; + if (style) { + el.setStyle(style); + } + + sprite.dirty = false; + }, + + setZIndex: function (sprite) { + var me = this, + zIndex = sprite.attr.zIndex, + shift = me.zIndexShift, + items, iLen, item, i; + + if (zIndex < shift) { + + + items = me.items.items; + iLen = items.length; + + for (i = 0; i < iLen; i++) { + if ((zIndex = items[i].attr.zIndex) && zIndex < shift) { + shift = zIndex; + } + } + + me.zIndexShift = shift; + for (i = 0; i < iLen; i++) { + item = items[i]; + if (item.el) { + item.el.setStyle('zIndex', item.attr.zIndex - shift); + } + item.zIndexDirty = false; + } + } else if (sprite.el) { + sprite.el.setStyle('zIndex', zIndex - shift); + sprite.zIndexDirty = false; + } + }, + + + setPaths: function (sprite, params) { + var spriteAttr = sprite.attr, thickness = sprite.attr['stroke-width'] || 1; + + sprite.bbox.plain = null; + sprite.bbox.transform = null; + if (sprite.type == 'circle') { + spriteAttr.rx = spriteAttr.ry = params.r; + return Ext.draw.Draw.ellipsePath(sprite); + } + else if (sprite.type == 'ellipse') { + spriteAttr.rx = params.rx; + spriteAttr.ry = params.ry; + return Ext.draw.Draw.ellipsePath(sprite); + } + else if (sprite.type == 'rect') { + spriteAttr.rx = spriteAttr.ry = params.r; + return Ext.draw.Draw.rectPath(sprite); + } + else if (sprite.type == 'path' && spriteAttr.path) { + return Ext.draw.Draw.pathToAbsolute(spriteAttr.path); + } + return false; + }, + + setFill: function (sprite, params) { + var me = this, + el = sprite.el.dom, + fillEl = el.fill, + newfill = false, + opacity, gradient, fillUrl, rotation, angle; + + if (!fillEl) { + + fillEl = el.fill = me.createNode("fill"); + newfill = true; + } + if (Ext.isArray(params.fill)) { + params.fill = params.fill[0]; + } + if (params.fill == "none") { + fillEl.on = false; + } + else { + if (typeof params.opacity == "number") { + fillEl.opacity = params.opacity; + } + if (typeof params["fill-opacity"] == "number") { + fillEl.opacity = params["fill-opacity"]; + } + fillEl.on = true; + if (typeof params.fill == "string") { + fillUrl = params.fill.match(me.fillUrlRe); + if (fillUrl) { + fillUrl = fillUrl[1]; + + if (fillUrl.charAt(0) == "#") { + gradient = me.gradientsColl.getByKey(fillUrl.substring(1)); + } + if (gradient) { + + rotation = params.rotation; + angle = -(gradient.angle + 270 + (rotation ? rotation.degrees : 0)) % 360; + + if (angle === 0) { + angle = 180; + } + fillEl.angle = angle; + fillEl.type = "gradient"; + fillEl.method = "sigma"; + if (fillEl.colors) { + fillEl.colors.value = gradient.colors; + } else { + fillEl.colors = gradient.colors; + } + } + + else { + fillEl.src = fillUrl; + fillEl.type = "tile"; + } + } + else { + fillEl.color = Ext.draw.Color.toHex(params.fill); + fillEl.src = ""; + fillEl.type = "solid"; + } + } + } + if (newfill) { + el.appendChild(fillEl); + } + }, + + setStroke: function (sprite, params) { + var me = this, + el = sprite.el.dom, + strokeEl = sprite.strokeEl, + newStroke = false, + width, opacity; + + if (!strokeEl) { + strokeEl = sprite.strokeEl = me.createNode("stroke"); + newStroke = true; + } + if (Ext.isArray(params.stroke)) { + params.stroke = params.stroke[0]; + } + if (!params.stroke || params.stroke == "none" || params.stroke == 0 || params["stroke-width"] == 0) { + strokeEl.on = false; + } + else { + strokeEl.on = true; + if (params.stroke && !params.stroke.match(me.fillUrlRe)) { + + strokeEl.color = Ext.draw.Color.toHex(params.stroke); + } + strokeEl.dashstyle = params["stroke-dasharray"] ? "dash" : "solid"; + strokeEl.joinstyle = params["stroke-linejoin"]; + strokeEl.endcap = params["stroke-linecap"] || "round"; + strokeEl.miterlimit = params["stroke-miterlimit"] || 8; + width = parseFloat(params["stroke-width"] || 1) * 0.75; + opacity = params["stroke-opacity"] || 1; + + if (Ext.isNumber(width) && width < 1) { + strokeEl.weight = 1; + strokeEl.opacity = opacity * width; + } + else { + strokeEl.weight = width; + strokeEl.opacity = opacity; + } + } + if (newStroke) { + el.appendChild(strokeEl); + } + }, + + setClip: function (sprite, params) { + var me = this, + el = sprite.el, + clipEl = sprite.clipEl, + rect = String(params["clip-rect"]).split(me.separatorRe); + if (!clipEl) { + clipEl = sprite.clipEl = me.el.insertFirst(Ext.getDoc().dom.createElement("div")); + clipEl.addCls(Ext.baseCSSPrefix + 'vml-sprite'); + } + if (rect.length == 4) { + rect[2] = +rect[2] + (+rect[0]); + rect[3] = +rect[3] + (+rect[1]); + clipEl.setStyle("clip", Ext.String.format("rect({1}px {2}px {3}px {0}px)", rect[0], rect[1], rect[2], rect[3])); + clipEl.setSize(me.el.width, me.el.height); + } + else { + clipEl.setStyle("clip", ""); + } + }, + + setTextAttributes: function (sprite, params) { + var me = this, + vml = sprite.vml, + textStyle = vml.textpath.style, + spanCacheStyle = me.span.style, + zoom = me.zoom, + round = Math.round, + fontObj = { + fontSize: "font-size", + fontWeight: "font-weight", + fontStyle: "font-style" + }, + fontProp, + paramProp; + if (sprite.dirtyFont) { + if (params.font) { + textStyle.font = spanCacheStyle.font = params.font; + } + if (params["font-family"]) { + textStyle.fontFamily = '"' + params["font-family"].split(",")[0].replace(me.fontFamilyRe, "") + '"'; + spanCacheStyle.fontFamily = params["font-family"]; + } + + for (fontProp in fontObj) { + paramProp = params[fontObj[fontProp]]; + if (paramProp) { + textStyle[fontProp] = spanCacheStyle[fontProp] = paramProp; + } + } + + me.setText(sprite, params.text); + + if (vml.textpath.string) { + me.span.innerHTML = String(vml.textpath.string).replace(/"); + } + vml.W = me.span.offsetWidth; + vml.H = me.span.offsetHeight + 2; + + + if (params["text-anchor"] == "middle") { + textStyle["v-text-align"] = "center"; + } + else if (params["text-anchor"] == "end") { + textStyle["v-text-align"] = "right"; + vml.bbx = -Math.round(vml.W / 2); + } + else { + textStyle["v-text-align"] = "left"; + vml.bbx = Math.round(vml.W / 2); + } + } + vml.X = params.x; + vml.Y = params.y; + vml.path.v = Ext.String.format("m{0},{1}l{2},{1}", Math.round(vml.X * zoom), Math.round(vml.Y * zoom), Math.round(vml.X * zoom) + 1); + + sprite.bbox.plain = null; + sprite.bbox.transform = null; + sprite.dirtyFont = false; + }, + + setText: function (sprite, text) { + sprite.vml.textpath.string = Ext.htmlDecode(text); + }, + + hide: function () { + this.el.hide(); + }, + + show: function () { + this.el.show(); + }, + + hidePrim: function (sprite) { + sprite.el.addCls(Ext.baseCSSPrefix + 'hide-visibility'); + }, + + showPrim: function (sprite) { + sprite.el.removeCls(Ext.baseCSSPrefix + 'hide-visibility'); + }, + + setSize: function (width, height) { + var me = this; + width = width || me.width; + height = height || me.height; + me.width = width; + me.height = height; + + if (me.el) { + + if (width != undefined) { + me.el.setWidth(width); + } + if (height != undefined) { + me.el.setHeight(height); + } + } + + me.callParent(arguments); + }, + + + applyViewBox: function () { + var me = this, + viewBox = me.viewBox, + width = me.width, + height = me.height, + items, + iLen, + i; + + me.callParent(); + + if (viewBox && (width || height)) { + items = me.items.items; + iLen = items.length; + + for (i = 0; i < iLen; i++) { + me.applyTransformations(items[i]); + } + } + }, + + onAdd: function (item) { + this.callParent(arguments); + if (this.el) { + this.renderItem(item); + } + }, + + onRemove: function (sprite) { + if (sprite.el) { + sprite.el.remove(); + delete sprite.el; + } + this.callParent(arguments); + }, + + render: function (container) { + var me = this, + doc = Ext.getDoc().dom, + el; + + if (!me.createNode) { + try { + if (!doc.namespaces.rvml) { + doc.namespaces.add("rvml", "urn:schemas-microsoft-com:vml"); + } + me.createNode = function (tagName) { + return doc.createElement("'); + }; + } catch (e) { + me.createNode = function (tagName) { + return doc.createElement("<" + tagName + ' xmlns="urn:schemas-microsoft.com:vml" class="rvml">'); + }; + } + } + + if (!me.el) { + el = doc.createElement("div"); + me.el = Ext.get(el); + me.el.addCls(me.baseVmlCls); + + + me.span = doc.createElement("span"); + Ext.get(me.span).addCls(me.measureSpanCls); + el.appendChild(me.span); + me.el.setSize(me.width || 0, me.height || 0); + container.appendChild(el); + me.el.on({ + scope: me, + mouseup: me.onMouseUp, + mousedown: me.onMouseDown, + mouseover: me.onMouseOver, + mouseout: me.onMouseOut, + mousemove: me.onMouseMove, + mouseenter: me.onMouseEnter, + mouseleave: me.onMouseLeave, + click: me.onClick, + dblclick: me.onDblClick + }); + } + me.renderAll(); + }, + + renderAll: function () { + this.items.each(this.renderItem, this); + }, + + redraw: function (sprite) { + sprite.dirty = true; + this.renderItem(sprite); + }, + + renderItem: function (sprite) { + + if (!this.el) { + return; + } + + + if (!sprite.el) { + this.createSpriteElement(sprite); + } + + if (sprite.dirty) { + this.applyAttrs(sprite); + if (sprite.dirtyTransform) { + this.applyTransformations(sprite); + } + } + }, + + rotationCompensation: function (deg, dx, dy) { + var matrix = new Ext.draw.Matrix(); + matrix.rotate(-deg, 0.5, 0.5); + return { + x: matrix.x(dx, dy), + y: matrix.y(dx, dy) + }; + }, + + transform: function (sprite, matrixOnly) { + var me = this, + bbox = me.getBBox(sprite, true), + cx = bbox.x + bbox.width * 0.5, + cy = bbox.y + bbox.height * 0.5, + matrix = new Ext.draw.Matrix(), + transforms = sprite.transformations, + transformsLength = transforms.length, + i = 0, + deltaDegrees = 0, + deltaScaleX = 1, + deltaScaleY = 1, + flip = "", + el = sprite.el, + dom = el.dom, + domStyle = dom.style, + zoom = me.zoom, + skew = sprite.skew, + shift = me.viewBoxShift, + deltaX, deltaY, transform, type, compensate, y, fill, newAngle, zoomScaleX, zoomScaleY, newOrigin, offset; + + + for (; i < transformsLength; i++) { + transform = transforms[i]; + type = transform.type; + if (type == "translate") { + matrix.translate(transform.x, transform.y); + } + else if (type == "rotate") { + matrix.rotate(transform.degrees, transform.x, transform.y); + deltaDegrees += transform.degrees; + } + else if (type == "scale") { + matrix.scale(transform.x, transform.y, transform.centerX, transform.centerY); + deltaScaleX *= transform.x; + deltaScaleY *= transform.y; + } + } + + sprite.matrix = matrix.clone(); + + if (matrixOnly) { + return; + } + + if (shift) { + matrix.prepend(shift.scale, 0, 0, shift.scale, shift.dx * shift.scale, shift.dy * shift.scale); + } + + + if (sprite.type != "image" && skew) { + skew.origin = "0,0"; + + skew.matrix = matrix.toString(); + + + + offset = matrix.offset(); + if (offset[0] > 32767) { + offset[0] = 32767; + } else if (offset[0] < -32768) { + offset[0] = -32768; + } + if (offset[1] > 32767) { + offset[1] = 32767; + } else if (offset[1] < -32768) { + offset[1] = -32768; + } + skew.offset = offset; + } + else { + domStyle.filter = matrix.toFilter(); + domStyle.left = Math.min( + matrix.x(bbox.x, bbox.y), + matrix.x(bbox.x + bbox.width, bbox.y), + matrix.x(bbox.x, bbox.y + bbox.height), + matrix.x(bbox.x + bbox.width, bbox.y + bbox.height)) + 'px'; + domStyle.top = Math.min( + matrix.y(bbox.x, bbox.y), + matrix.y(bbox.x + bbox.width, bbox.y), + matrix.y(bbox.x, bbox.y + bbox.height), + matrix.y(bbox.x + bbox.width, bbox.y + bbox.height)) + 'px'; + } + }, + + createItem: function (config) { + return Ext.create('Ext.draw.Sprite', config); + }, + + getRegion: function () { + return this.el.getRegion(); + }, + + addCls: function (sprite, className) { + if (sprite && sprite.el) { + sprite.el.addCls(className); + } + }, + + removeCls: function (sprite, className) { + if (sprite && sprite.el) { + sprite.el.removeCls(className); + } + }, + + + addGradient: function (gradient) { + var gradients = this.gradientsColl || (this.gradientsColl = Ext.create('Ext.util.MixedCollection')), + colors = [], + stops = Ext.create('Ext.util.MixedCollection'), + keys, + items, + iLen, + key, + item, + i; + + + stops.addAll(gradient.stops); + stops.sortByKey("ASC", function (a, b) { + a = parseInt(a, 10); + b = parseInt(b, 10); + return a > b ? 1 : (a < b ? -1 : 0); + }); + + keys = stops.keys; + items = stops.items; + iLen = keys.length; + + for (i = 0; i < iLen; i++) { + key = keys[i]; + item = items[i]; + colors.push(key + '% ' + item.color); + } + + gradients.add(gradient.id, { + colors: colors.join(","), + angle: gradient.angle + }); + }, + + destroy: function () { + var me = this; + + me.callParent(arguments); + if (me.el) { + me.el.remove(); + } + delete me.el; + } +}); + + +Ext.define('Ext.flash.Component', { + extend: 'Ext.Component', + alternateClassName: 'Ext.FlashComponent', + alias: 'widget.flash', + + + flashVersion : '9.0.115', + + + backgroundColor: '#ffffff', + + + wmode: 'opaque', + + + + + + + + + + + swfWidth: '100%', + + + swfHeight: '100%', + + + expressInstall: false, + + + + + renderTpl: ['
'], + + initComponent: function() { + + this.callParent(); + this.addEvents( + + 'success', + + + 'failure' + ); + }, + + beforeRender: function(){ + this.callParent(); + + Ext.applyIf(this.renderData, { + swfId: this.getSwfId() + }); + }, + + afterRender: function() { + var me = this, + flashParams = Ext.apply({}, me.flashParams), + flashVars = Ext.apply({}, me.flashVars); + + me.callParent(); + + flashParams = Ext.apply({ + allowScriptAccess: 'always', + bgcolor: me.backgroundColor, + wmode: me.wmode + }, flashParams); + + flashVars = Ext.apply({ + allowedDomain: document.location.hostname + }, flashVars); + + new swfobject.embedSWF( + me.url, + me.getSwfId(), + me.swfWidth, + me.swfHeight, + me.flashVersion, + me.expressInstall ? me.statics.EXPRESS_INSTALL_URL : undefined, + flashVars, + flashParams, + me.flashAttributes, + Ext.bind(me.swfCallback, me) + ); + }, + + + swfCallback: function(e) { + var me = this; + if (e.success) { + me.swf = Ext.get(e.ref); + me.onSuccess(); + me.fireEvent('success', me); + } else { + me.onFailure(); + me.fireEvent('failure', me); + } + }, + + + getSwfId: function() { + return this.swfId || (this.swfId = "extswf" + this.getAutoId()); + }, + + onSuccess: function() { + + + this.swf.setStyle('visibility', 'inherit'); + }, + + onFailure: Ext.emptyFn, + + beforeDestroy: function() { + var me = this, + swf = me.swf; + if (swf) { + swfobject.removeSWF(me.getSwfId()); + Ext.destroy(swf); + delete me.swf; + } + me.callParent(); + }, + + statics: { + + EXPRESS_INSTALL_URL: 'http:/' + '/swfobject.googlecode.com/svn/trunk/swfobject/expressInstall.swf' + } +}); + + +Ext.define('Ext.form.action.Action', { + alternateClassName: 'Ext.form.Action', + + + + + + + + + + + + + + + + + + + + + + + + + + + submitEmptyText : true, + + + + + + + + + + + constructor: function(config) { + if (config) { + Ext.apply(this, config); + } + + + var params = config.params; + if (Ext.isString(params)) { + this.params = Ext.Object.fromQueryString(params); + } + }, + + + run: Ext.emptyFn, + + + + + + + onFailure : function(response){ + this.response = response; + this.failureType = Ext.form.action.Action.CONNECT_FAILURE; + this.form.afterAction(this, false); + }, + + + processResponse : function(response){ + this.response = response; + if (!response.responseText && !response.responseXML) { + return true; + } + return (this.result = this.handleResponse(response)); + }, + + + getUrl: function() { + return this.url || this.form.url; + }, + + + getMethod: function() { + return (this.method || this.form.method || 'POST').toUpperCase(); + }, + + + getParams: function() { + return Ext.apply({}, this.params, this.form.baseParams); + }, + + + createCallback: function() { + var me = this, + undef, + form = me.form; + return { + success: me.onSuccess, + failure: me.onFailure, + scope: me, + timeout: (this.timeout * 1000) || (form.timeout * 1000), + upload: form.fileUpload ? me.onSuccess : undef + }; + }, + + statics: { + + CLIENT_INVALID: 'client', + + + SERVER_INVALID: 'server', + + + CONNECT_FAILURE: 'connect', + + + LOAD_FAILURE: 'load' + + + } +}); + + +Ext.define('Ext.form.action.Load', { + extend:'Ext.form.action.Action', + requires: ['Ext.data.Connection'], + alternateClassName: 'Ext.form.Action.Load', + alias: 'formaction.load', + + type: 'load', + + + run: function() { + Ext.Ajax.request(Ext.apply( + this.createCallback(), + { + method: this.getMethod(), + url: this.getUrl(), + headers: this.headers, + params: this.getParams() + } + )); + }, + + + onSuccess: function(response){ + var result = this.processResponse(response), + form = this.form; + if (result === true || !result.success || !result.data) { + this.failureType = Ext.form.action.Action.LOAD_FAILURE; + form.afterAction(this, false); + return; + } + form.clearInvalid(); + form.setValues(result.data); + form.afterAction(this, true); + }, + + + handleResponse: function(response) { + var reader = this.form.reader, + rs, data; + if (reader) { + rs = reader.read(response); + data = rs.records && rs.records[0] ? rs.records[0].data : null; + return { + success : rs.success, + data : data + }; + } + return Ext.decode(response.responseText); + } +}); + + + +Ext.define('Ext.form.action.Submit', { + extend:'Ext.form.action.Action', + alternateClassName: 'Ext.form.Action.Submit', + alias: 'formaction.submit', + + type: 'submit', + + + + + run : function(){ + var form = this.form; + if (this.clientValidation === false || form.isValid()) { + this.doSubmit(); + } else { + + this.failureType = Ext.form.action.Action.CLIENT_INVALID; + form.afterAction(this, false); + } + }, + + + doSubmit: function() { + var formEl, + ajaxOptions = Ext.apply(this.createCallback(), { + url: this.getUrl(), + method: this.getMethod(), + headers: this.headers + }); + + + + if (this.form.hasUpload()) { + formEl = ajaxOptions.form = this.buildForm(); + ajaxOptions.isUpload = true; + } else { + ajaxOptions.params = this.getParams(); + } + + Ext.Ajax.request(ajaxOptions); + + if (formEl) { + Ext.removeNode(formEl); + } + }, + + + getParams: function() { + var nope = false, + configParams = this.callParent(), + fieldParams = this.form.getValues(nope, nope, this.submitEmptyText !== nope); + return Ext.apply({}, fieldParams, configParams); + }, + + + buildForm: function() { + var fieldsSpec = [], + formSpec, + formEl, + basicForm = this.form, + params = this.getParams(), + uploadFields = [], + fields = basicForm.getFields().items, + f, + fLen = fields.length, + field, key, value, v, vLen, + u, uLen; + + for (f = 0; f < fLen; f++) { + field = fields[f]; + + if (field.isFileUpload()) { + uploadFields.push(field); + } + } + + function addField(name, val) { + fieldsSpec.push({ + tag: 'input', + type: 'hidden', + name: name, + value: Ext.String.htmlEncode(val) + }); + } + + for (key in params) { + if (params.hasOwnProperty(key)) { + value = params[key]; + + if (Ext.isArray(value)) { + vLen = value.length; + for (v = 0; v < vLen; v++) { + addField(key, value[v]); + } + } else { + addField(key, value); + } + } + } + + formSpec = { + tag: 'form', + action: this.getUrl(), + method: this.getMethod(), + target: this.target || '_self', + style: 'display:none', + cn: fieldsSpec + }; + + + if (uploadFields.length) { + formSpec.encoding = formSpec.enctype = 'multipart/form-data'; + } + + + formEl = Ext.DomHelper.append(Ext.getBody(), formSpec); + + + + + uLen = uploadFields.length; + + for (u = 0; u < uLen; u++) { + field = uploadFields[u]; + if (field.rendered) { + formEl.appendChild(field.extractFileInput()); + } + } + + return formEl; + }, + + + + + onSuccess: function(response) { + var form = this.form, + success = true, + result = this.processResponse(response); + if (result !== true && !result.success) { + if (result.errors) { + form.markInvalid(result.errors); + } + this.failureType = Ext.form.action.Action.SERVER_INVALID; + success = false; + } + form.afterAction(this, success); + }, + + + handleResponse: function(response) { + var form = this.form, + errorReader = form.errorReader, + rs, errors, i, len, records; + if (errorReader) { + rs = errorReader.read(response); + records = rs.records; + errors = []; + if (records) { + for(i = 0, len = records.length; i < len; i++) { + errors[i] = records[i].data; + } + } + if (errors.length < 1) { + errors = null; + } + return { + success : rs.success, + errors : errors + }; + } + return Ext.decode(response.responseText); + } +}); + + +Ext.define('Ext.util.ComponentDragger', { + extend: 'Ext.dd.DragTracker', + + + + + + + + autoStart: 500, + + + constructor: function(comp, config) { + this.comp = comp; + this.initialConstrainTo = config.constrainTo; + this.callParent([ config ]); + }, + + onStart: function(e) { + var me = this, + comp = me.comp; + + + this.startPosition = comp.el.getXY(); + + + + if (comp.ghost && !comp.liveDrag) { + me.proxy = comp.ghost(); + me.dragTarget = me.proxy.header.el; + } + + + if (me.constrain || me.constrainDelegate) { + me.constrainTo = me.calculateConstrainRegion(); + } + + if (comp.beginDrag) { + comp.beginDrag(); + } + }, + + calculateConstrainRegion: function() { + var me = this, + comp = me.comp, + c = me.initialConstrainTo, + delegateRegion, + elRegion, + dragEl = me.proxy ? me.proxy.el : comp.el, + shadowSize = (!me.constrainDelegate && dragEl.shadow && !dragEl.shadowDisabled) ? dragEl.shadow.getShadowSize() : 0; + + + if (!(c instanceof Ext.util.Region)) { + c = Ext.fly(c).getViewRegion(); + } + + + if (shadowSize) { + c.adjust(shadowSize[0], -shadowSize[1], -shadowSize[2], shadowSize[3]); + } + + + + + if (!me.constrainDelegate) { + delegateRegion = Ext.fly(me.dragTarget).getRegion(); + elRegion = dragEl.getRegion(); + + c.adjust( + delegateRegion.top - elRegion.top, + delegateRegion.right - elRegion.right, + delegateRegion.bottom - elRegion.bottom, + delegateRegion.left - elRegion.left + ); + } + return c; + }, + + + onDrag: function(e) { + var me = this, + comp = (me.proxy && !me.comp.liveDrag) ? me.proxy : me.comp, + offset = me.getOffset(me.constrain || me.constrainDelegate ? 'dragTarget' : null); + + comp.setPagePosition(me.startPosition[0] + offset[0], me.startPosition[1] + offset[1]); + }, + + onEnd: function(e) { + var comp = this.comp; + if (this.proxy && !comp.liveDrag) { + comp.unghost(); + } + if (comp.endDrag) { + comp.endDrag(); + } + } +}); + + +Ext.define('Ext.window.Window', { + extend: 'Ext.panel.Panel', + + alternateClassName: 'Ext.Window', + + requires: ['Ext.util.ComponentDragger', 'Ext.util.Region', 'Ext.EventManager'], + + alias: 'widget.window', + + + + + + + + + + + + + + + + + + + baseCls: Ext.baseCSSPrefix + 'window', + + + resizable: true, + + + draggable: true, + + + constrain: false, + + + constrainHeader: false, + + + + + plain: false, + + + minimizable: false, + + + maximizable: false, + + + minHeight: 50, + + + minWidth: 50, + + + expandOnShow: true, + + + collapsible: false, + + + closable: true, + + + hidden: true, + + + autoRender: true, + + + hideMode: 'offsets', + + + floating: true, + + ariaRole: 'alertdialog', + + itemCls: Ext.baseCSSPrefix + 'window-item', + + initialAlphaNum: /^[a-z0-9]/, + + overlapHeader: true, + + ignoreHeaderBorderManagement: true, + + + alwaysFramed: true, + + + isWindow: true, + + + initComponent: function() { + var me = this; + + + me.frame = false; + me.callParent(); + me.addEvents( + + + + + + 'resize', + + + 'maximize', + + + 'minimize', + + + 'restore' + ); + + if (me.plain) { + me.addClsWithUI('plain'); + } + + if (me.modal) { + me.ariaRole = 'dialog'; + } + + + if (me.floating) { + me.on({ + element: 'el', + mousedown: me.onMouseDown, + scope: me + }); + } + + me.addStateEvents(['maximize', 'restore', 'resize', 'dragend']); + }, + + getElConfig: function () { + var me = this, + elConfig; + + elConfig = me.callParent(); + elConfig.tabIndex = -1; + return elConfig; + }, + + + + + getState: function() { + var me = this, + state = me.callParent() || {}, + maximized = !!me.maximized; + + state.maximized = maximized; + Ext.apply(state, { + size: maximized ? me.restoreSize : me.getSize(), + pos: maximized ? me.restorePos : me.getPosition() + }); + return state; + }, + + applyState: function(state){ + var me = this; + + if (state) { + me.maximized = state.maximized; + if (me.maximized) { + me.hasSavedRestore = true; + me.restoreSize = state.size; + me.restorePos = state.pos; + } else { + Ext.apply(me, { + width: state.size.width, + height: state.size.height, + x: state.pos[0], + y: state.pos[1] + }); + } + } + }, + + + onMouseDown: function (e) { + var preventFocus; + + if (this.floating) { + if (Ext.fly(e.getTarget()).focusable()) { + preventFocus = true; + } + this.toFront(preventFocus); + } + }, + + + onRender: function(ct, position) { + var me = this; + me.callParent(arguments); + me.focusEl = me.el; + + + if (me.maximizable) { + me.header.on({ + scope: me, + dblclick: me.toggleMaximize + }); + } + }, + + + afterRender: function() { + var me = this, + keyMap; + + me.callParent(); + + + if (me.maximized) { + me.maximized = false; + me.maximize(); + } + + if (me.closable) { + keyMap = me.getKeyMap(); + keyMap.on(27, me.onEsc, me); + } else { + keyMap = me.keyMap; + } + if (keyMap && me.hidden) { + keyMap.disable(); + } + }, + + + initDraggable: function() { + var me = this, + ddConfig; + + if (!me.header) { + me.updateHeader(true); + } + + + if (me.header) { + ddConfig = Ext.applyIf({ + el: me.el, + delegate: '#' + Ext.escapeId(me.header.id) + }, me.draggable); + + + if (me.constrain || me.constrainHeader) { + ddConfig.constrain = me.constrain; + ddConfig.constrainDelegate = me.constrainHeader; + ddConfig.constrainTo = me.constrainTo || me.container; + } + + + me.dd = new Ext.util.ComponentDragger(this, ddConfig); + me.relayEvents(me.dd, ['dragstart', 'drag', 'dragend']); + } + }, + + + onEsc: function(k, e) { + + if (!Ext.FocusManager || !Ext.FocusManager.enabled || Ext.FocusManager.focusedCmp === this) { + e.stopEvent(); + this.close(); + } + }, + + + beforeDestroy: function() { + var me = this; + if (me.rendered) { + delete this.animateTarget; + me.hide(); + Ext.destroy( + me.keyMap + ); + } + me.callParent(); + }, + + + addTools: function() { + var me = this; + + + me.callParent(); + + if (me.minimizable) { + me.addTool({ + type: 'minimize', + handler: Ext.Function.bind(me.minimize, me, []) + }); + } + if (me.maximizable) { + me.addTool({ + type: 'maximize', + handler: Ext.Function.bind(me.maximize, me, []) + }); + me.addTool({ + type: 'restore', + handler: Ext.Function.bind(me.restore, me, []), + hidden: true + }); + } + }, + + + getFocusEl: function() { + return this.getDefaultFocus(); + }, + + + getDefaultFocus: function() { + var me = this, + result, + defaultComp = me.defaultButton || me.defaultFocus, + selector; + + if (defaultComp !== undefined) { + + if (Ext.isNumber(defaultComp)) { + result = me.query('button')[defaultComp]; + } + + else if (Ext.isString(defaultComp)) { + selector = defaultComp; + + + if (selector.match(me.initialAlphaNum)) { + result = me.down('#' + selector); + } + + if (!result) { + result = me.down(selector); + } + } + + else if (defaultComp.focus) { + result = defaultComp; + } + } + return result || me.el; + }, + + + onFocus: function() { + var me = this, + focusDescendant; + + + if ((Ext.FocusManager && Ext.FocusManager.enabled) || ((focusDescendant = me.getDefaultFocus()) === me)) { + me.callParent(arguments); + } else { + focusDescendant.focus(); + } + }, + + beforeLayout: function () { + var shadow = this.el.shadow; + + this.callParent(); + if (shadow) { + shadow.hide(); + } + }, + + onShow: function() { + var me = this; + + me.callParent(arguments); + if (me.expandOnShow) { + me.expand(false); + } + me.syncMonitorWindowResize(); + + if (me.keyMap) { + me.keyMap.enable(); + } + }, + + + doClose: function() { + var me = this; + + + if (me.hidden) { + me.fireEvent('close', me); + if (me.closeAction == 'destroy') { + this.destroy(); + } + } else { + + me.hide(me.animateTarget, me.doClose, me); + } + }, + + + afterHide: function() { + var me = this; + + + me.syncMonitorWindowResize(); + + + if (me.keyMap) { + me.keyMap.disable(); + } + + + me.callParent(arguments); + }, + + + onWindowResize: function() { + var me = this, + sizeModel; + + if (me.maximized) { + me.fitContainer(); + } else { + sizeModel = me.getSizeModel(); + if (sizeModel.width.natural || sizeModel.height.natural) { + me.updateLayout(); + } + } + + me.doConstrain(); + }, + + + minimize: function() { + this.fireEvent('minimize', this); + return this; + }, + + afterCollapse: function() { + var me = this; + + if (me.maximizable) { + me.tools.maximize.hide(); + me.tools.restore.hide(); + } + if (me.resizer) { + me.resizer.disable(); + } + me.callParent(arguments); + }, + + afterExpand: function() { + var me = this; + + if (me.maximized) { + me.tools.restore.show(); + } else if (me.maximizable) { + me.tools.maximize.show(); + } + if (me.resizer) { + me.resizer.enable(); + } + me.callParent(arguments); + }, + + + maximize: function() { + var me = this; + + if (!me.maximized) { + me.expand(false); + if (!me.hasSavedRestore) { + me.restoreSize = me.getSize(); + me.restorePos = me.getPosition(true); + } + if (me.maximizable) { + me.tools.maximize.hide(); + me.tools.restore.show(); + } + me.maximized = true; + me.el.disableShadow(); + + if (me.dd) { + me.dd.disable(); + } + if (me.resizer) { + me.resizer.disable(); + } + if (me.collapseTool) { + me.collapseTool.hide(); + } + me.el.addCls(Ext.baseCSSPrefix + 'window-maximized'); + me.container.addCls(Ext.baseCSSPrefix + 'window-maximized-ct'); + + me.syncMonitorWindowResize(); + me.fitContainer(); + me.fireEvent('maximize', me); + } + return me; + }, + + + restore: function() { + var me = this, + tools = me.tools; + + if (me.maximized) { + delete me.hasSavedRestore; + me.removeCls(Ext.baseCSSPrefix + 'window-maximized'); + + + if (tools.restore) { + tools.restore.hide(); + } + if (tools.maximize) { + tools.maximize.show(); + } + if (me.collapseTool) { + me.collapseTool.show(); + } + + me.maximized = false; + + + me.setPosition(me.restorePos); + me.setSize(me.restoreSize); + + + delete me.restorePos; + delete me.restoreSize; + + me.el.enableShadow(true); + + + if (me.dd) { + me.dd.enable(); + } + + if (me.resizer) { + me.resizer.enable(); + } + + me.container.removeCls(Ext.baseCSSPrefix + 'window-maximized-ct'); + + me.syncMonitorWindowResize(); + me.doConstrain(); + me.fireEvent('restore', me); + } + return me; + }, + + + syncMonitorWindowResize: function () { + var me = this, + currentlyMonitoring = me._monitoringResize, + + yes = me.monitorResize || me.constrain || me.constrainHeader || me.maximized, + + veto = me.hidden || me.destroying || me.isDestroyed; + + if (yes && !veto) { + + if (!currentlyMonitoring) { + + Ext.EventManager.onWindowResize(me.onWindowResize, me); + me._monitoringResize = true; + } + } else if (currentlyMonitoring) { + + Ext.EventManager.removeResizeListener(me.onWindowResize, me); + me._monitoringResize = false; + } + }, + + + toggleMaximize: function() { + return this[this.maximized ? 'restore': 'maximize'](); + } + +}); + + +Ext.define('Ext.layout.component.field.Field', { + + + + extend: 'Ext.layout.component.Auto', + + alias: 'layout.field', + + uses: ['Ext.tip.QuickTip', 'Ext.util.TextMetrics', 'Ext.util.CSS'], + + + + type: 'field', + + naturalSizingProp: 'size', + + beginLayout: function(ownerContext) { + var me = this, + owner = me.owner, + widthModel = ownerContext.widthModel, + ownerNaturalSize = owner[me.naturalSizingProp], + width; + + me.callParent(arguments); + + ownerContext.labelStrategy = me.getLabelStrategy(); + ownerContext.errorStrategy = me.getErrorStrategy(); + + ownerContext.labelContext = ownerContext.getEl('labelEl'); + ownerContext.bodyCellContext = ownerContext.getEl('bodyEl'); + ownerContext.inputContext = ownerContext.getEl('inputEl'); + ownerContext.errorContext = ownerContext.getEl('errorEl'); + + + + if ((Ext.isIE6 || Ext.isIE7) && Ext.isStrict && ownerContext.inputContext) { + me.ieInputWidthAdjustment = ownerContext.inputContext.getPaddingInfo().width + ownerContext.inputContext.getBorderInfo().width; + } + + + ownerContext.labelStrategy.prepare(ownerContext, owner); + ownerContext.errorStrategy.prepare(ownerContext, owner); + + + if (widthModel.shrinkWrap) { + + me.beginLayoutShrinkWrap(ownerContext); + } else if (widthModel.natural) { + + + if (typeof ownerNaturalSize == 'number' && !owner.inputWidth) { + me.beginLayoutFixed(ownerContext, (width = ownerNaturalSize * 6.5 + 20), 'px'); + } + + + else { + me.beginLayoutShrinkWrap(ownerContext); + } + ownerContext.setWidth(width, false); + } else { + me.beginLayoutFixed(ownerContext, '100', '%'); + } + }, + + beginLayoutFixed: function (ownerContext, width, suffix) { + var owner = ownerContext.target, + inputEl = owner.inputEl, + inputWidth = owner.inputWidth; + + owner.el.setStyle('table-layout', 'fixed'); + owner.bodyEl.setStyle('width', width + suffix); + if (inputEl && inputWidth) { + inputEl.setStyle('width', inputWidth + 'px'); + } + ownerContext.isFixed = true; + }, + + beginLayoutShrinkWrap: function (ownerContext) { + var owner = ownerContext.target, + inputEl = owner.inputEl, + inputWidth = owner.inputWidth; + + if (inputEl && inputEl.dom) { + inputEl.dom.removeAttribute('size'); + if (inputWidth) { + inputEl.setStyle('width', inputWidth + 'px'); + } + } + owner.el.setStyle('table-layout', 'auto'); + owner.bodyEl.setStyle('width', ''); + }, + + finishedLayout: function(ownerContext){ + var owner = this.owner; + + this.callParent(arguments); + ownerContext.labelStrategy.finishedLayout(ownerContext, owner); + ownerContext.errorStrategy.finishedLayout(ownerContext, owner); + }, + + calculateOwnerHeightFromContentHeight: function(ownerContext, contentHeight) { + return contentHeight; + }, + + measureContentHeight: function (ownerContext) { + return ownerContext.el.getHeight(); + }, + + measureContentWidth: function (ownerContext) { + return ownerContext.el.getWidth(); + }, + + measureLabelErrorHeight: function (ownerContext) { + return ownerContext.labelStrategy.getHeight(ownerContext) + + ownerContext.errorStrategy.getHeight(ownerContext); + }, + + onFocus: function() { + this.getErrorStrategy().onFocus(this.owner); + }, + + + getLabelStrategy: function() { + var me = this, + strategies = me.labelStrategies, + labelAlign = me.owner.labelAlign; + return strategies[labelAlign] || strategies.base; + }, + + + getErrorStrategy: function() { + var me = this, + owner = me.owner, + strategies = me.errorStrategies, + msgTarget = owner.msgTarget; + return !owner.preventMark && Ext.isString(msgTarget) ? + (strategies[msgTarget] || strategies.elementId) : + strategies.none; + }, + + + labelStrategies: (function() { + var base = { + prepare: function(ownerContext, owner) { + var cls = owner.labelCls + '-' + owner.labelAlign, + labelEl = owner.labelEl; + + if (labelEl) { + labelEl.addCls(cls); + } + }, + + getHeight: function () { + return 0; + }, + + finishedLayout: Ext.emptyFn + }; + + return { + base: base, + + + top: Ext.applyIf({ + + getHeight: function (ownerContext) { + var labelContext = ownerContext.labelContext, + props = labelContext.props, + height = props.height; + + if (height === undefined) { + props.height = height = labelContext.el.getHeight(); + } + + return height; + } + }, base), + + + left: base, + + + right: base + }; + }()), + + + errorStrategies: (function() { + function showTip(owner) { + var tip = Ext.layout.component.field.Field.tip, + target; + + if (tip && tip.isVisible()) { + target = tip.activeTarget; + if (target && target.el === owner.getActionEl().dom) { + tip.toFront(true); + } + } + } + + var applyIf = Ext.applyIf, + emptyFn = Ext.emptyFn, + iconCls = Ext.baseCSSPrefix + 'form-invalid-icon', + iconWidth, + base = { + prepare: function(ownerContext, owner) { + var el = owner.errorEl; + if (el) { + el.setDisplayed(false); + } + }, + getHeight: function () { + return 0; + }, + onFocus: emptyFn, + finishedLayout: emptyFn + }; + + return { + none: base, + + + side: applyIf({ + prepare: function(ownerContext, owner) { + var errorEl = owner.errorEl, + sideErrorCell = owner.sideErrorCell, + displayError = owner.hasActiveError(), + tempEl; + + + if (!iconWidth) { + iconWidth = (tempEl = Ext.getBody().createChild({style: 'position:absolute', cls: iconCls})).getWidth(); + tempEl.remove(); + } + + errorEl.addCls(iconCls); + errorEl.set({'data-errorqtip': owner.getActiveError() || ''}); + if (owner.autoFitErrors) { + errorEl.setDisplayed(displayError); + } + + else { + errorEl.setVisible(displayError); + } + + + if (sideErrorCell && owner.autoFitErrors) { + sideErrorCell.setDisplayed(displayError); + } + owner.bodyEl.dom.colSpan = owner.getBodyColspan(); + + + Ext.layout.component.field.Field.initTip(); + }, + onFocus: showTip + }, base), + + + under: applyIf({ + prepare: function(ownerContext, owner) { + var errorEl = owner.errorEl, + cls = Ext.baseCSSPrefix + 'form-invalid-under'; + + errorEl.addCls(cls); + errorEl.setDisplayed(owner.hasActiveError()); + }, + getHeight: function (ownerContext) { + var height = 0, + errorContext, props; + + if (ownerContext.target.hasActiveError()) { + errorContext = ownerContext.errorContext; + props = errorContext.props; + height = props.height; + + if (height === undefined) { + props.height = height = errorContext.el.getHeight(); + } + } + + return height; + } + }, base), + + + qtip: applyIf({ + prepare: function(ownerContext, owner) { + Ext.layout.component.field.Field.initTip(); + owner.getActionEl().set({'data-errorqtip': owner.getActiveError() || ''}); + }, + onFocus: showTip + }, base), + + + title: applyIf({ + prepare: function(ownerContext, owner) { + owner.el.set({'title': owner.getActiveError() || ''}); + } + }, base), + + + elementId: applyIf({ + prepare: function(ownerContext, owner) { + var targetEl = Ext.fly(owner.msgTarget); + if (targetEl) { + targetEl.dom.innerHTML = owner.getActiveError() || ''; + targetEl.setDisplayed(owner.hasActiveError()); + } + } + }, base) + }; + }()), + + statics: { + + initTip: function() { + var tip = this.tip; + if (!tip) { + tip = this.tip = Ext.create('Ext.tip.QuickTip', { + baseCls: Ext.baseCSSPrefix + 'form-invalid-tip' + }); + tip.tagConfig = Ext.apply({}, {attribute: 'errorqtip'}, tip.tagConfig); + } + }, + + + destroyTip: function() { + var tip = this.tip; + if (tip) { + tip.destroy(); + delete this.tip; + } + } + } +}); + + +Ext.define('Ext.layout.component.field.Text', { + extend: 'Ext.layout.component.field.Field', + alias: 'layout.textfield', + requires: ['Ext.util.TextMetrics'], + + type: 'textfield', + + canGrowWidth: true, + + beginLayoutCycle: function(ownerContext) { + var me = this; + + me.callParent(arguments); + + + if (ownerContext.shrinkWrap) { + ownerContext.inputContext.el.setStyle('height', ''); + } + }, + + measureContentWidth: function (ownerContext) { + var me = this, + owner = me.owner, + width = me.callParent(arguments), + inputContext = ownerContext.inputContext, + inputEl, value, calcWidth, max, min; + + if (owner.grow && me.canGrowWidth && !ownerContext.state.growHandled) { + inputEl = owner.inputEl; + + + value = Ext.util.Format.htmlEncode(inputEl.dom.value || (owner.hasFocus ? '' : owner.emptyText) || ''); + value += owner.growAppend; + calcWidth = inputEl.getTextWidth(value) + inputContext.getFrameInfo().width; + + max = owner.growMax; + min = Math.min(max, width); + max = Math.max(owner.growMin, max, min); + + + calcWidth = Ext.Number.constrain(calcWidth, owner.growMin, max); + inputContext.setWidth(calcWidth); + ownerContext.state.growHandled = true; + + + inputContext.domBlock(me, 'width'); + width = NaN; + } + return width; + }, + + publishInnerHeight: function(ownerContext, height) { + ownerContext.inputContext.setHeight(height - this.measureLabelErrorHeight(ownerContext)); + }, + + beginLayoutFixed: function(ownerContext, width, suffix) { + var me = this, + ieInputWidthAdjustment = me.ieInputWidthAdjustment; + + if (ieInputWidthAdjustment) { + + + me.owner.bodyEl.setStyle('padding-right', ieInputWidthAdjustment + 'px'); + if(suffix === 'px') { + width -= ieInputWidthAdjustment; + } + } + + me.callParent(arguments); + } +}); + + +Ext.define("Ext.form.Labelable", { + requires: ['Ext.XTemplate'], + + autoEl: { + tag: 'table', + cellpadding: 0 + }, + + childEls: [ + + 'labelCell', + + + 'labelEl', + + + 'bodyEl', + + + 'sideErrorCell', + + + 'errorEl', + + 'inputRow', + + 'bottomPlaceHolder' + ], + + + labelableRenderTpl: [ + + + 'id="{id}"
>', + + + '', + '', + '{beforeLabelTpl}', + ' class="{labelCls}"', + ' style="{labelStyle}">', + '{beforeLabelTextTpl}', + '{fieldLabel}{labelSeparator}', + '{afterLabelTextTpl}', + '', + '{afterLabelTpl}', + '', + '
', + + + '', + '{beforeBodyEl}', + + + '', + '{beforeLabelTpl}', + '
', + '', + '
', + '{afterLabelTpl}', + '
', + + '{beforeSubTpl}', + '{[values.$comp.getSubTplMarkup()]}', + '{afterSubTpl}', + + + '', + '{afterBodyEl}', + '', + '', + '', + '', + '', + '', + '{afterBodyEl}', + '', + '', + + '', + { + disableFormats: true + } + ], + + + activeErrorsTpl: [ + '', + '
  • {.}
', + '
' + ], + + + isFieldLabelable: true, + + + formItemCls: Ext.baseCSSPrefix + 'form-item', + + + labelCls: Ext.baseCSSPrefix + 'form-item-label', + + + + + errorMsgCls: Ext.baseCSSPrefix + 'form-error-msg', + + + baseBodyCls: Ext.baseCSSPrefix + 'form-item-body', + + + fieldBodyCls: '', + + + clearCls: Ext.baseCSSPrefix + 'clear', + + + invalidCls : Ext.baseCSSPrefix + 'form-invalid', + + + fieldLabel: undefined, + + + labelAlign : 'left', + + + labelWidth: 100, + + + labelPad : 5, + + + + labelSeparator : ':', + + + + + + hideLabel: false, + + + hideEmptyLabel: true, + + + preventMark: false, + + + autoFitErrors: true, + + + msgTarget: 'qtip', + + + + + noWrap: true, + + labelableInsertions: [ + + + 'beforeBodyEl', + + + 'afterBodyEl', + + + 'beforeLabelTpl', + + + 'afterLabelTpl', + + + 'beforeSubTpl', + + + 'afterSubTpl', + + + 'beforeLabelTextTpl', + + + 'afterLabelTextTpl', + + + 'labelAttrTpl' + ], + + + labelableRenderProps: [ 'allowBlank', 'id', 'labelAlign', 'fieldBodyCls', 'baseBodyCls', + 'clearCls', 'labelSeparator', 'msgTarget' ], + + + initLabelable: function() { + var me = this, + padding = me.padding; + + + + + if (padding) { + me.padding = undefined; + me.extraMargins = Ext.Element.parseBox(padding); + } + + me.addCls(me.formItemCls); + + + me.lastActiveError = ''; + + me.addEvents( + + 'errorchange' + ); + }, + + + trimLabelSeparator: function() { + var me = this, + separator = me.labelSeparator, + label = me.fieldLabel || '', + lastChar = label.substr(label.length - 1); + + + return lastChar === separator ? label.slice(0, -1) : label; + }, + + + getFieldLabel: function() { + return this.trimLabelSeparator(); + }, + + + setFieldLabel: function(label){ + label = label || ''; + + var me = this, + separator = me.labelSeparator, + labelEl = me.labelEl; + + me.fieldLabel = label; + if (me.rendered) { + if (Ext.isEmpty(label) && me.hideEmptyLabel) { + labelEl.parent().setDisplayed('none'); + } else { + if (separator) { + label = me.trimLabelSeparator() + separator; + } + labelEl.update(label); + labelEl.parent().setDisplayed(''); + } + me.updateLayout(); + } + }, + + getInsertionRenderData: function (data, names) { + var i = names.length, + name, value; + + while (i--) { + name = names[i]; + value = this[name]; + + if (value) { + if (typeof value != 'string') { + if (!value.isTemplate) { + value = Ext.XTemplate.getTpl(this, name); + } + value = value.apply(data); + } + } + + data[name] = value || ''; + } + + return data; + }, + + + getLabelableRenderData: function() { + var me = this, + data, + tempEl, + topLabel = me.labelAlign === 'top'; + + if (!Ext.form.Labelable.errorIconWidth) { + Ext.form.Labelable.errorIconWidth = (tempEl = Ext.resetElement.createChild({style: 'position:absolute', cls: Ext.baseCSSPrefix + 'form-invalid-icon'})).getWidth(); + tempEl.remove(); + } + + data = Ext.copyTo({ + inFormLayout : me.ownerLayout && me.ownerLayout.type === 'form', + inputId : me.getInputId(), + labelOnLeft : !topLabel, + hideLabel : !me.hasVisibleLabel(), + fieldLabel : me.getFieldLabel(), + labelCellStyle : me.getLabelCellStyle(), + labelCellAttrs : me.getLabelCellAttrs(), + labelCls : me.getLabelCls(), + labelStyle : me.getLabelStyle(), + bodyColspan : me.getBodyColspan(), + externalError : !me.autoFitErrors, + errorMsgCls : me.getErrorMsgCls(), + errorIconWidth : Ext.form.Labelable.errorIconWidth + }, + me, me.labelableRenderProps, true); + + me.getInsertionRenderData(data, me.labelableInsertions); + + return data; + }, + + beforeLabelableRender: function() { + var me = this; + if (me.ownerLayout) { + me.addCls(Ext.baseCSSPrefix + me.ownerLayout.type + '-form-item'); + } + }, + + onLabelableRender: function() { + var me = this, + margins, + side, + style = {}; + + if (me.extraMargins) { + margins = me.el.getMargin(); + for (side in margins) { + if (margins.hasOwnProperty(side)) { + style['margin-' + side] = (margins[side] + me.extraMargins[side]) + 'px'; + } + } + me.el.setStyle(style); + } + }, + + + hasVisibleLabel: function(){ + if (this.hideLabel) { + return false; + } + return !(this.hideEmptyLabel && !this.getFieldLabel()); + }, + + + getBodyColspan: function() { + var me = this, + result; + + if (me.msgTarget === 'side' && (!me.autoFitErrors || me.hasActiveError())) { + result = 1; + } else { + result = 2; + } + if (me.labelAlign !== 'top' && !me.hasVisibleLabel()) { + result++; + } + return result; + }, + + getLabelCls: function() { + var labelCls = this.labelCls, + labelClsExtra = this.labelClsExtra; + + if (this.labelAlign === 'top') { + labelCls += '-top'; + } + return labelClsExtra ? labelCls + ' ' + labelClsExtra : labelCls; + }, + + getLabelCellStyle: function() { + var me = this, + hideLabelCell = me.hideLabel || (!me.fieldLabel && me.hideEmptyLabel); + + return hideLabelCell ? 'display:none;' : ''; + }, + + getErrorMsgCls: function() { + var me = this, + hideLabelCell = (me.hideLabel || (!me.fieldLabel && me.hideEmptyLabel)); + + return me.errorMsgCls + (!hideLabelCell && me.labelAlign === 'top' ? ' ' + Ext.baseCSSPrefix + 'lbl-top-err-icon' : ''); + }, + + getLabelCellAttrs: function() { + var me = this, + labelAlign = me.labelAlign, + result = ''; + + if (labelAlign !== 'top') { + result = 'valign="top" halign="' + labelAlign + '" width="' + (me.labelWidth + me.labelPad) + '"'; + } + return result + ' class="' + Ext.baseCSSPrefix + 'field-label-cell"'; + }, + + + getLabelStyle: function(){ + var me = this, + labelPad = me.labelPad, + labelStyle = ''; + + + + if (me.labelAlign !== 'top') { + if (me.labelWidth) { + labelStyle = 'width:' + me.labelWidth + 'px;'; + } + labelStyle += 'margin-right:' + labelPad + 'px;'; + } + + return labelStyle + (me.labelStyle || ''); + }, + + + getSubTplMarkup: function() { + return ''; + }, + + + getInputId: function() { + return ''; + }, + + + getActiveError : function() { + return this.activeError || ''; + }, + + + hasActiveError: function() { + return !!this.getActiveError(); + }, + + + setActiveError: function(msg) { + this.setActiveErrors(msg); + }, + + + getActiveErrors: function() { + return this.activeErrors || []; + }, + + + setActiveErrors: function(errors) { + errors = Ext.Array.from(errors); + this.activeError = errors[0]; + this.activeErrors = errors; + this.activeError = this.getTpl('activeErrorsTpl').apply({errors: errors}); + this.renderActiveError(); + }, + + + unsetActiveError: function() { + delete this.activeError; + delete this.activeErrors; + this.renderActiveError(); + }, + + + renderActiveError: function() { + var me = this, + activeError = me.getActiveError(), + hasError = !!activeError; + + if (activeError !== me.lastActiveError) { + me.fireEvent('errorchange', me, activeError); + me.lastActiveError = activeError; + } + + if (me.rendered && !me.isDestroyed && !me.preventMark) { + + me.el[hasError ? 'addCls' : 'removeCls'](me.invalidCls); + + + me.getActionEl().dom.setAttribute('aria-invalid', hasError); + + + if (me.errorEl) { + me.errorEl.dom.innerHTML = activeError; + } + } + }, + + + setFieldDefaults: function(defaults) { + var me = this, + val, key; + + for (key in defaults) { + if (defaults.hasOwnProperty(key)) { + val = defaults[key]; + + if (!me.hasOwnProperty(key)) { + me[key] = val; + } + } + } + } +}); + + +Ext.define('Ext.form.field.Field', { + + isFormField : true, + + + + + + + disabled : false, + + + submitValue: true, + + + validateOnChange: true, + + + suspendCheckChange: 0, + + + initField: function() { + this.addEvents( + + 'change', + + 'validitychange', + + 'dirtychange' + ); + + this.initValue(); + }, + + + initValue: function() { + var me = this; + + me.value = me.transformOriginalValue(me.value); + + me.originalValue = me.lastValue = me.value; + + + me.suspendCheckChange++; + me.setValue(me.value); + me.suspendCheckChange--; + }, + + + transformOriginalValue: function(value){ + return value; + }, + + + getName: function() { + return this.name; + }, + + + getValue: function() { + return this.value; + }, + + + setValue: function(value) { + var me = this; + me.value = value; + me.checkChange(); + return me; + }, + + + isEqual: function(value1, value2) { + return String(value1) === String(value2); + }, + + + isEqualAsString: function(value1, value2){ + return String(Ext.value(value1, '')) === String(Ext.value(value2, '')); + }, + + + getSubmitData: function() { + var me = this, + data = null; + if (!me.disabled && me.submitValue && !me.isFileUpload()) { + data = {}; + data[me.getName()] = '' + me.getValue(); + } + return data; + }, + + + getModelData: function() { + var me = this, + data = null; + if (!me.disabled && !me.isFileUpload()) { + data = {}; + data[me.getName()] = me.getValue(); + } + return data; + }, + + + reset : function(){ + var me = this; + + me.beforeReset(); + me.setValue(me.originalValue); + me.clearInvalid(); + + delete me.wasValid; + }, + + + beforeReset: Ext.emptyFn, + + + resetOriginalValue: function() { + this.originalValue = this.getValue(); + this.checkDirty(); + }, + + + checkChange: function() { + if (!this.suspendCheckChange) { + var me = this, + newVal = me.getValue(), + oldVal = me.lastValue; + if (!me.isEqual(newVal, oldVal) && !me.isDestroyed) { + me.lastValue = newVal; + me.fireEvent('change', me, newVal, oldVal); + me.onChange(newVal, oldVal); + } + } + }, + + + onChange: function(newVal, oldVal) { + if (this.validateOnChange) { + this.validate(); + } + this.checkDirty(); + }, + + + isDirty : function() { + var me = this; + return !me.disabled && !me.isEqual(me.getValue(), me.originalValue); + }, + + + checkDirty: function() { + var me = this, + isDirty = me.isDirty(); + if (isDirty !== me.wasDirty) { + me.fireEvent('dirtychange', me, isDirty); + me.onDirtyChange(isDirty); + me.wasDirty = isDirty; + } + }, + + + onDirtyChange: Ext.emptyFn, + + + getErrors: function(value) { + return []; + }, + + + isValid : function() { + var me = this; + return me.disabled || Ext.isEmpty(me.getErrors()); + }, + + + validate : function() { + var me = this, + isValid = me.isValid(); + if (isValid !== me.wasValid) { + me.wasValid = isValid; + me.fireEvent('validitychange', me, isValid); + } + return isValid; + }, + + + batchChanges: function(fn) { + try { + this.suspendCheckChange++; + fn(); + } catch(e){ + throw e; + } finally { + this.suspendCheckChange--; + } + this.checkChange(); + }, + + + isFileUpload: function() { + return false; + }, + + + extractFileInput: function() { + return null; + }, + + + markInvalid: Ext.emptyFn, + + + clearInvalid: Ext.emptyFn + +}); + + +Ext.define('Ext.form.field.Base', { + extend: 'Ext.Component', + mixins: { + labelable: 'Ext.form.Labelable', + field: 'Ext.form.field.Field' + }, + alias: 'widget.field', + alternateClassName: ['Ext.form.Field', 'Ext.form.BaseField'], + requires: ['Ext.util.DelayedTask', 'Ext.XTemplate', 'Ext.layout.component.field.Field'], + + + fieldSubTpl: [ + ' name="{name}"
', + ' value="{[Ext.util.Format.htmlEncode(values.value)]}"', + ' placeholder="{placeholder}"', + '{%if (values.maxLength !== undefined){%} maxlength="{maxLength}"{%}%}', + ' readonly="readonly"', + ' disabled="disabled"', + ' tabIndex="{tabIdx}"', + ' style="{fieldStyle}"', + ' class="{fieldCls} {typeCls} {editableCls}" autocomplete="off"/>', + { + disableFormats: true + } + ], + + subTplInsertions: [ + + 'inputAttrTpl' + ], + + + + + inputType: 'text', + + + + + + invalidText : 'The value in this field is invalid', + + + + fieldCls : Ext.baseCSSPrefix + 'form-field', + + + + + focusCls : 'form-focus', + + + dirtyCls : Ext.baseCSSPrefix + 'form-dirty', + + + checkChangeEvents: Ext.isIE && (!document.documentMode || document.documentMode < 9) ? + ['change', 'propertychange'] : + ['change', 'input', 'textInput', 'keyup', 'dragdrop'], + + + checkChangeBuffer: 50, + + componentLayout: 'field', + + + readOnly : false, + + + readOnlyCls: Ext.baseCSSPrefix + 'form-readonly', + + + + + validateOnBlur: true, + + + hasFocus : false, + + baseCls: Ext.baseCSSPrefix + 'field', + + maskOnDisable: false, + + + initComponent : function() { + var me = this; + + me.callParent(); + + me.subTplData = me.subTplData || {}; + + me.addEvents( + + 'specialkey', + + + 'writeablechange' + ); + + + me.initLabelable(); + me.initField(); + + + if (!me.name) { + me.name = me.getInputId(); + } + }, + + beforeRender: function(){ + var me = this; + + me.callParent(arguments); + me.beforeLabelableRender(arguments); + if (me.readOnly) { + me.addCls(me.readOnlyCls); + } + }, + + + getInputId: function() { + return this.inputId || (this.inputId = this.id + '-inputEl'); + }, + + + getSubTplData: function() { + var me = this, + type = me.inputType, + inputId = me.getInputId(), + data; + + data = Ext.apply({ + id : inputId, + cmpId : me.id, + name : me.name || inputId, + disabled : me.disabled, + readOnly : me.readOnly, + value : me.getRawValue(), + type : type, + fieldCls : me.fieldCls, + fieldStyle : me.getFieldStyle(), + tabIdx : me.tabIndex, + typeCls : Ext.baseCSSPrefix + 'form-' + (type === 'password' ? 'text' : type) + }, me.subTplData); + + me.getInsertionRenderData(data, me.subTplInsertions); + + return data; + }, + + afterFirstLayout: function() { + this.callParent(); + var el = this.inputEl; + if (el) { + el.selectable(); + } + }, + + applyRenderSelectors: function() { + var me = this; + + me.callParent(); + + + me.inputEl = me.el.getById(me.getInputId()); + }, + + + getSubTplMarkup: function() { + return this.getTpl('fieldSubTpl').apply(this.getSubTplData()); + }, + + initRenderTpl: function() { + var me = this; + if (!me.hasOwnProperty('renderTpl')) { + me.renderTpl = me.getTpl('labelableRenderTpl'); + } + return me.callParent(); + }, + + initRenderData: function() { + return Ext.applyIf(this.callParent(), this.getLabelableRenderData()); + }, + + + setFieldStyle: function(style) { + var me = this, + inputEl = me.inputEl; + if (inputEl) { + inputEl.applyStyles(style); + } + me.fieldStyle = style; + }, + + getFieldStyle: function() { + return 'width:100%;' + (Ext.isObject(this.fieldStyle) ? Ext.DomHelper.generateStyles(this.fieldStyle) : this.fieldStyle ||''); + }, + + + onRender : function() { + var me = this; + me.callParent(arguments); + me.onLabelableRender(); + me.renderActiveError(); + }, + + getFocusEl: function() { + return this.inputEl; + }, + + isFileUpload: function() { + return this.inputType === 'file'; + }, + + extractFileInput: function() { + var me = this, + fileInput = me.isFileUpload() ? me.inputEl.dom : null, + clone; + if (fileInput) { + clone = fileInput.cloneNode(true); + fileInput.parentNode.replaceChild(clone, fileInput); + me.inputEl = Ext.get(clone); + } + return fileInput; + }, + + + getSubmitData: function() { + var me = this, + data = null, + val; + if (!me.disabled && me.submitValue && !me.isFileUpload()) { + val = me.getSubmitValue(); + if (val !== null) { + data = {}; + data[me.getName()] = val; + } + } + return data; + }, + + + getSubmitValue: function() { + return this.processRawValue(this.getRawValue()); + }, + + + getRawValue: function() { + var me = this, + v = (me.inputEl ? me.inputEl.getValue() : Ext.value(me.rawValue, '')); + me.rawValue = v; + return v; + }, + + + setRawValue: function(value) { + var me = this; + value = Ext.value(me.transformRawValue(value), ''); + me.rawValue = value; + + + if (me.inputEl) { + me.inputEl.dom.value = value; + } + return value; + }, + + + transformRawValue: function(value) { + return value; + }, + + + valueToRaw: function(value) { + return '' + Ext.value(value, ''); + }, + + + rawToValue: function(rawValue) { + return rawValue; + }, + + + processRawValue: function(value) { + return value; + }, + + + getValue: function() { + var me = this, + val = me.rawToValue(me.processRawValue(me.getRawValue())); + me.value = val; + return val; + }, + + + setValue: function(value) { + var me = this; + me.setRawValue(me.valueToRaw(value)); + return me.mixins.field.setValue.call(me, value); + }, + + onBoxReady: function() { + var me = this; + me.callParent(); + + if (me.setReadOnlyOnBoxReady) { + me.setReadOnly(me.readOnly); + } + + }, + + + onDisable: function() { + var me = this, + inputEl = me.inputEl; + + me.callParent(); + if (inputEl) { + inputEl.dom.disabled = true; + if (me.hasActiveError()) { + + me.clearInvalid(); + me.needsValidateOnEnable = true; + } + } + }, + + + onEnable: function() { + var me = this, + inputEl = me.inputEl; + + me.callParent(); + if (inputEl) { + inputEl.dom.disabled = false; + if (me.needsValidateOnEnable) { + delete me.needsValidateOnEnable; + + me.forceValidation = true; + me.isValid(); + delete me.forceValidation; + } + } + }, + + + setReadOnly: function(readOnly) { + var me = this, + inputEl = me.inputEl; + readOnly = !!readOnly; + me[readOnly ? 'addCls' : 'removeCls'](me.readOnlyCls); + me.readOnly = readOnly; + if (inputEl) { + inputEl.dom.readOnly = readOnly; + } else if (me.rendering) { + me.setReadOnlyOnBoxReady = true; + } + me.fireEvent('writeablechange', me, readOnly); + }, + + + fireKey: function(e){ + if(e.isSpecialKey()){ + this.fireEvent('specialkey', this, new Ext.EventObjectImpl(e)); + } + }, + + + initEvents : function(){ + var me = this, + inputEl = me.inputEl, + onChangeTask, + onChangeEvent, + events = me.checkChangeEvents, + e, + eLen = events.length, + event; + + + + if (me.inEditor) { + me.onBlur = Ext.Function.createBuffered(me.onBlur, 10); + } + if (inputEl) { + me.mon(inputEl, Ext.EventManager.getKeyEvent(), me.fireKey, me); + + + onChangeTask = new Ext.util.DelayedTask(me.checkChange, me); + me.onChangeEvent = onChangeEvent = function() { + onChangeTask.delay(me.checkChangeBuffer); + }; + + for (e = 0; e < eLen; e++) { + event = events[e]; + + if (event === 'propertychange') { + me.usesPropertychange = true; + } + + me.mon(inputEl, event, onChangeEvent); + } + } + me.callParent(); + }, + + doComponentLayout: function() { + var me = this, + inputEl = me.inputEl, + usesPropertychange = me.usesPropertychange, + ename = 'propertychange', + onChangeEvent = me.onChangeEvent; + + + + + if (usesPropertychange) { + me.mun(inputEl, ename, onChangeEvent); + } + me.callParent(arguments); + if (usesPropertychange) { + me.mon(inputEl, ename, onChangeEvent); + } + }, + + + onDirtyChange: function(isDirty) { + this[isDirty ? 'addCls' : 'removeCls'](this.dirtyCls); + }, + + + + isValid : function() { + var me = this, + disabled = me.disabled, + validate = me.forceValidation || !disabled; + + + return validate ? me.validateValue(me.processRawValue(me.getRawValue())) : disabled; + }, + + + + validateValue: function(value) { + var me = this, + errors = me.getErrors(value), + isValid = Ext.isEmpty(errors); + if (!me.preventMark) { + if (isValid) { + me.clearInvalid(); + } else { + me.markInvalid(errors); + } + } + + return isValid; + }, + + + markInvalid : function(errors) { + + var me = this, + oldMsg = me.getActiveError(); + me.setActiveErrors(Ext.Array.from(errors)); + if (oldMsg !== me.getActiveError()) { + me.updateLayout(); + } + }, + + + clearInvalid : function() { + + var me = this, + hadError = me.hasActiveError(); + me.unsetActiveError(); + if (hadError) { + me.updateLayout(); + } + }, + + + renderActiveError: function() { + var me = this, + hasError = me.hasActiveError(); + if (me.inputEl) { + + me.inputEl[hasError ? 'addCls' : 'removeCls'](me.invalidCls + '-field'); + } + me.mixins.labelable.renderActiveError.call(me); + }, + + + getActionEl: function() { + return this.inputEl || this.el; + } + +}); + + +Ext.define('Ext.form.field.VTypes', (function(){ + + var alpha = /^[a-zA-Z_]+$/, + alphanum = /^[a-zA-Z0-9_]+$/, + email = /^(\w+)([\-+.][\w]+)*@(\w[\-\w]*\.){1,5}([A-Za-z]){2,6}$/, + url = /(((^https?)|(^ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i; + + + return { + singleton: true, + alternateClassName: 'Ext.form.VTypes', + + + 'email' : function(v){ + return email.test(v); + }, + + + 'emailText' : 'This field should be an e-mail address in the format "user@example.com"', + + + 'emailMask' : /[a-z0-9_\.\-@\+]/i, + + + 'url' : function(v){ + return url.test(v); + }, + + + 'urlText' : 'This field should be a URL in the format "http:/'+'/www.example.com"', + + + + 'alpha' : function(v){ + return alpha.test(v); + }, + + + 'alphaText' : 'This field should only contain letters and _', + + + 'alphaMask' : /[a-z_]/i, + + + 'alphanum' : function(v){ + return alphanum.test(v); + }, + + + 'alphanumText' : 'This field should only contain letters, numbers and _', + + + 'alphanumMask' : /[a-z0-9_]/i + }; +}())); + + +Ext.define('Ext.form.field.Text', { + extend:'Ext.form.field.Base', + alias: 'widget.textfield', + requires: ['Ext.form.field.VTypes', 'Ext.layout.component.field.Text'], + alternateClassName: ['Ext.form.TextField', 'Ext.form.Text'], + + + + + + + size: 20, + + + + + growMin : 30, + + + growMax : 800, + + + + growAppend: 'W', + + + + + + + + + + allowBlank : true, + + + minLength : 0, + + + maxLength : Number.MAX_VALUE, + + + + + + minLengthText : 'The minimum length for this field is {0}', + + + + + maxLengthText : 'The maximum length for this field is {0}', + + + + + + + blankText : 'This field is required', + + + + + + + + regexText : '', + + + + + emptyCls : Ext.baseCSSPrefix + 'form-empty-field', + + + requiredCls : Ext.baseCSSPrefix + 'form-required-field', + + + + componentLayout: 'textfield', + + + valueContainsPlaceholder : false, + + + initComponent: function () { + var me = this; + + me.callParent(); + + me.addEvents( + + 'autosize', + + + 'keydown', + + 'keyup', + + 'keypress' + ); + me.addStateEvents('change'); + me.setGrowSizePolicy(); + }, + + + setGrowSizePolicy: function(){ + if (this.grow) { + this.shrinkWrap |= 1; + } + }, + + + initEvents : function(){ + var me = this, + el = me.inputEl; + + me.callParent(); + if(me.selectOnFocus || me.emptyText){ + me.mon(el, 'mousedown', me.onMouseDown, me); + } + if(me.maskRe || (me.vtype && me.disableKeyFilter !== true && (me.maskRe = Ext.form.field.VTypes[me.vtype+'Mask']))){ + me.mon(el, 'keypress', me.filterKeys, me); + } + + if (me.enableKeyEvents) { + me.mon(el, { + scope: me, + keyup: me.onKeyUp, + keydown: me.onKeyDown, + keypress: me.onKeyPress + }); + } + }, + + + isEqual: function(value1, value2) { + return this.isEqualAsString(value1, value2); + }, + + + onChange: function() { + this.callParent(); + this.autoSize(); + }, + + getSubTplData: function() { + var me = this, + value = me.getRawValue(), + isEmpty = me.emptyText && value.length < 1, + maxLength = me.maxLength, + placeholder; + + + + + if (me.enforceMaxLength) { + if (maxLength === Number.MAX_VALUE) { + maxLength = undefined; + } + } else { + maxLength = undefined; + } + + if (isEmpty) { + if (Ext.supports.Placeholder) { + placeholder = me.emptyText; + } else { + value = me.emptyText; + me.valueContainsPlaceholder = true; + } + } + + return Ext.apply(me.callParent(), { + maxLength : maxLength, + readOnly : me.readOnly, + placeholder : placeholder, + value : value, + fieldCls : me.fieldCls + ((isEmpty && (placeholder || value)) ? ' ' + me.emptyCls : '') + (me.allowBlank ? '' : ' ' + me.requiredCls) + }); + }, + + afterRender: function(){ + this.autoSize(); + this.callParent(); + }, + + onMouseDown: function(e){ + var me = this; + if(!me.hasFocus){ + me.mon(me.inputEl, 'mouseup', Ext.emptyFn, me, { single: true, preventDefault: true }); + } + }, + + + processRawValue: function(value) { + var me = this, + stripRe = me.stripCharsRe, + newValue; + + if (stripRe) { + newValue = value.replace(stripRe, ''); + if (newValue !== value) { + me.setRawValue(newValue); + value = newValue; + } + } + return value; + }, + + + onDisable: function(){ + this.callParent(); + if (Ext.isIE) { + this.inputEl.dom.unselectable = 'on'; + } + }, + + + onEnable: function(){ + this.callParent(); + if (Ext.isIE) { + this.inputEl.dom.unselectable = ''; + } + }, + + onKeyDown: function(e) { + this.fireEvent('keydown', this, e); + }, + + onKeyUp: function(e) { + this.fireEvent('keyup', this, e); + }, + + onKeyPress: function(e) { + this.fireEvent('keypress', this, e); + }, + + + reset : function(){ + this.callParent(); + this.applyEmptyText(); + }, + + applyEmptyText : function(){ + var me = this, + emptyText = me.emptyText, + isEmpty; + + if (me.rendered && emptyText) { + isEmpty = me.getRawValue().length < 1 && !me.hasFocus; + + if (Ext.supports.Placeholder) { + me.inputEl.dom.placeholder = emptyText; + } else if (isEmpty) { + me.setRawValue(emptyText); + me.valueContainsPlaceholder = true; + } + + + + if (isEmpty) { + me.inputEl.addCls(me.emptyCls); + } + + me.autoSize(); + } + }, + + afterFirstLayout: function() { + this.callParent(); + if (Ext.isIE && this.disabled) { + var el = this.inputEl; + if (el) { + el.dom.unselectable = 'on'; + } + } + }, + + + preFocus : function(){ + var me = this, + inputEl = me.inputEl, + emptyText = me.emptyText, + isEmpty; + + me.callParent(arguments); + if ((emptyText && !Ext.supports.Placeholder) && (inputEl.dom.value === me.emptyText && me.valueContainsPlaceholder)) { + me.setRawValue(''); + isEmpty = true; + inputEl.removeCls(me.emptyCls); + me.valueContainsPlaceholder = false; + } else if (Ext.supports.Placeholder) { + me.inputEl.removeCls(me.emptyCls); + } + if (me.selectOnFocus || isEmpty) { + inputEl.dom.select(); + } + }, + + onFocus: function() { + var me = this; + me.callParent(arguments); + if (me.emptyText) { + me.autoSize(); + } + }, + + + postBlur : function(){ + this.callParent(arguments); + this.applyEmptyText(); + }, + + + filterKeys : function(e){ + + if (e.ctrlKey && !e.altKey) { + return; + } + var key = e.getKey(), + charCode = String.fromCharCode(e.getCharCode()); + + if((Ext.isGecko || Ext.isOpera) && (e.isNavKeyPress() || key === e.BACKSPACE || (key === e.DELETE && e.button === -1))){ + return; + } + + if((!Ext.isGecko && !Ext.isOpera) && e.isSpecialKey() && !charCode){ + return; + } + if(!this.maskRe.test(charCode)){ + e.stopEvent(); + } + }, + + getState: function() { + return this.addPropertyToState(this.callParent(), 'value'); + }, + + applyState: function(state) { + this.callParent(arguments); + if(state.hasOwnProperty('value')) { + this.setValue(state.value); + } + }, + + + getRawValue: function() { + var me = this, + v = me.callParent(); + if (v === me.emptyText && me.valueContainsPlaceholder) { + v = ''; + } + return v; + }, + + + setValue: function(value) { + var me = this, + inputEl = me.inputEl; + + if (inputEl && me.emptyText && !Ext.isEmpty(value)) { + inputEl.removeCls(me.emptyCls); + me.valueContainsPlaceholder = false; + } + + me.callParent(arguments); + + me.applyEmptyText(); + return me; + }, + + + getErrors: function(value) { + var me = this, + errors = me.callParent(arguments), + validator = me.validator, + emptyText = me.emptyText, + allowBlank = me.allowBlank, + vtype = me.vtype, + vtypes = Ext.form.field.VTypes, + regex = me.regex, + format = Ext.String.format, + msg; + + value = value || me.processRawValue(me.getRawValue()); + + if (Ext.isFunction(validator)) { + msg = validator.call(me, value); + if (msg !== true) { + errors.push(msg); + } + } + + if (value.length < 1 || (value === me.emptyText && me.valueContainsPlaceholder)) { + if (!allowBlank) { + errors.push(me.blankText); + } + + return errors; + } + + if (value.length < me.minLength) { + errors.push(format(me.minLengthText, me.minLength)); + } + + if (value.length > me.maxLength) { + errors.push(format(me.maxLengthText, me.maxLength)); + } + + if (vtype) { + if(!vtypes[vtype](value, me)){ + errors.push(me.vtypeText || vtypes[vtype +'Text']); + } + } + + if (regex && !regex.test(value)) { + errors.push(me.regexText || me.invalidText); + } + + return errors; + }, + + + selectText : function(start, end){ + var me = this, + v = me.getRawValue(), + doFocus = true, + el = me.inputEl.dom, + undef, + range; + + if (v.length > 0) { + start = start === undef ? 0 : start; + end = end === undef ? v.length : end; + if (el.setSelectionRange) { + el.setSelectionRange(start, end); + } + else if(el.createTextRange) { + range = el.createTextRange(); + range.moveStart('character', start); + range.moveEnd('character', end - v.length); + range.select(); + } + doFocus = Ext.isGecko || Ext.isOpera; + } + if (doFocus) { + me.focus(); + } + }, + + + autoSize: function() { + var me = this; + if (me.grow && me.rendered) { + me.autoSizing = true; + me.updateLayout(); + } + }, + + afterComponentLayout: function() { + var me = this, + width; + + me.callParent(arguments); + if (me.autoSizing) { + width = me.inputEl.getWidth(); + if (width !== me.lastInputWidth) { + me.fireEvent('autosize', me, width); + me.lastInputWidth = width; + delete me.autoSizing; + } + } + } +}); + + +Ext.define('Ext.layout.component.field.TextArea', { + extend: 'Ext.layout.component.field.Text', + alias: 'layout.textareafield', + + type: 'textareafield', + + canGrowWidth: false, + + naturalSizingProp: 'cols', + + beginLayout: function(ownerContext){ + this.callParent(arguments); + ownerContext.target.inputEl.setStyle('height', ''); + }, + + measureContentHeight: function (ownerContext) { + var me = this, + owner = me.owner, + height = me.callParent(arguments), + inputContext, inputEl, value, max, curWidth, calcHeight; + + if (owner.grow && !ownerContext.state.growHandled) { + inputContext = ownerContext.inputContext; + inputEl = owner.inputEl; + curWidth = inputEl.getWidth(true); + + + value = Ext.util.Format.htmlEncode(inputEl.dom.value) || ' '; + value += owner.growAppend; + + + value = value.replace(/\n/g, '
'); + + + calcHeight = Ext.util.TextMetrics.measure(inputEl, value, curWidth).height + + inputContext.getBorderInfo().height + inputContext.getPaddingInfo().height; + + + calcHeight = Ext.Number.constrain(calcHeight, owner.growMin, owner.growMax); + inputContext.setHeight(calcHeight); + ownerContext.state.growHandled = true; + + + inputContext.domBlock(me, 'height'); + height = NaN; + } + return height; + } +}); + + +Ext.define('Ext.form.field.TextArea', { + extend:'Ext.form.field.Text', + alias: ['widget.textareafield', 'widget.textarea'], + alternateClassName: 'Ext.form.TextArea', + requires: [ + 'Ext.XTemplate', + 'Ext.layout.component.field.TextArea', + 'Ext.util.DelayedTask' + ], + + + + + + + + + fieldSubTpl: [ + '', + { + disableFormats: true + } + ], + + + growMin: 60, + + + growMax: 1000, + + + growAppend: '\n-', + + + cols: 20, + + + rows: 4, + + + enterIsSpecial: false, + + + preventScrollbars: false, + + + componentLayout: 'textareafield', + + setGrowSizePolicy: Ext.emptyFn, + + returnRe: /\r/g, + + + getSubTplData: function() { + var me = this, + fieldStyle = me.getFieldStyle(), + ret = me.callParent(); + + if (me.grow) { + if (me.preventScrollbars) { + ret.fieldStyle = (fieldStyle||'') + ';overflow:hidden;height:' + me.growMin + 'px'; + } + } + + Ext.applyIf(ret, { + cols: me.cols, + rows: me.rows + }); + + return ret; + }, + + afterRender: function () { + var me = this; + + me.callParent(arguments); + + me.needsMaxCheck = me.enforceMaxLength && me.maxLength !== Number.MAX_VALUE && !Ext.supports.TextAreaMaxLength; + if (me.needsMaxCheck) { + me.inputEl.on('paste', me.onPaste, me); + } + }, + + + + + + + + transformRawValue: function(value){ + return this.stripReturns(value); + }, + + transformOriginalValue: function(value){ + return this.stripReturns(value); + }, + + valueToRaw: function(value){ + value = this.stripReturns(value); + return this.callParent([value]); + }, + + stripReturns: function(value){ + if (value) { + value = value.replace(this.returnRe, ''); + } + return value; + }, + + onPaste: function(e){ + var me = this; + if (!me.pasteTask) { + me.pasteTask = new Ext.util.DelayedTask(me.pasteCheck, me); + } + + me.pasteTask.delay(1); + }, + + pasteCheck: function(){ + var me = this, + value = me.getValue(), + max = me.maxLength; + + if (value.length > max) { + value = value.substr(0, max); + me.setValue(value); + } + }, + + + fireKey: function(e) { + var me = this, + key = e.getKey(), + value; + + if (e.isSpecialKey() && (me.enterIsSpecial || (key !== e.ENTER || e.hasModifier()))) { + me.fireEvent('specialkey', me, e); + } + + if (me.needsMaxCheck && key !== e.BACKSPACE && key !== e.DELETE && !e.isNavKeyPress() && !me.isCutCopyPasteSelectAll(e, key)) { + value = me.getValue(); + if (value.length >= me.maxLength) { + e.stopEvent(); + } + } + }, + + isCutCopyPasteSelectAll: function(e, key) { + if (e.CTRL) { + return key === e.A || key === e.C || key === e.V || key === e.X; + } + return false; + }, + + + autoSize: function() { + var me = this, + height; + + if (me.grow && me.rendered) { + me.updateLayout(); + height = me.inputEl.getHeight(); + if (height !== me.lastInputHeight) { + + me.fireEvent('autosize', me, height); + me.lastInputHeight = height; + } + } + }, + + + initAria: function() { + this.callParent(arguments); + this.getActionEl().dom.setAttribute('aria-multiline', true); + }, + + beforeDestroy: function(){ + var task = this.pasteTask; + if (task) { + task.delay(); + } + this.callParent(); + } +}); + + +Ext.define('Ext.form.field.Display', { + extend:'Ext.form.field.Base', + alias: 'widget.displayfield', + requires: ['Ext.util.Format', 'Ext.XTemplate'], + alternateClassName: ['Ext.form.DisplayField', 'Ext.form.Display'], + fieldSubTpl: [ + '
style="{fieldStyle}"', + ' class="{fieldCls}">{value}
', + { + compiled: true, + disableFormats: true + } + ], + + + fieldCls: Ext.baseCSSPrefix + 'form-display-field', + + + htmlEncode: false, + + + + + + validateOnChange: false, + + initEvents: Ext.emptyFn, + + submitValue: false, + + isDirty: function(){ + return false; + }, + + isValid: function() { + return true; + }, + + validate: function() { + return true; + }, + + getRawValue: function() { + return this.rawValue; + }, + + setRawValue: function(value) { + var me = this, + display; + + value = Ext.value(value, ''); + me.rawValue = value; + if (me.rendered) { + me.inputEl.dom.innerHTML = me.getDisplayValue(); + me.updateLayout(); + } + return value; + }, + + + getDisplayValue: function() { + var me = this, + value = this.getRawValue(), + display; + if (me.renderer) { + display = me.renderer.call(me.scope || me, value, me); + } else { + display = me.htmlEncode ? Ext.util.Format.htmlEncode(value) : value; + } + return display; + }, + + getSubTplData: function() { + var ret = this.callParent(arguments); + + ret.value = this.getDisplayValue(); + + return ret; + } + + + + + + + +}); + + +Ext.define('Ext.layout.container.Anchor', { + + + + alias: 'layout.anchor', + extend: 'Ext.layout.container.Container', + alternateClassName: 'Ext.layout.AnchorLayout', + + + + type: 'anchor', + + manageOverflow: 2, + + renderTpl: [ + '{%this.renderBody(out,values);this.renderPadder(out,values)%}' + ], + + + + + defaultAnchor: '100%', + + parseAnchorRE: /^(r|right|b|bottom)$/i, + + beginLayout: function (ownerContext) { + var me = this, + dimensions = 0, + anchorSpec, childContext, childItems, i, length, target; + + me.callParent(arguments); + + childItems = ownerContext.childItems; + length = childItems.length; + + for (i = 0; i < length; ++i) { + childContext = childItems[i]; + anchorSpec = childContext.target.anchorSpec; + + if (anchorSpec) { + if (childContext.widthModel.calculated && anchorSpec.right) { + dimensions |= 1; + } + if (childContext.heightModel.calculated && anchorSpec.bottom) { + dimensions |= 2; + } + + if (dimensions == 3) { + break; + } + } + } + + ownerContext.anchorDimensions = dimensions; + + + + if (!Ext.supports.RightMargin && !me.rightMarginCleanerFn) { + target = ownerContext.targetContext.el; + + me.rightMarginCleanerFn = Ext.Element.getRightMarginFixCleaner(target); + target.addCls(Ext.baseCSSPrefix + 'inline-children'); + } + + }, + + calculate: function (ownerContext) { + var me = this, + containerSize = me.getContainerSize(ownerContext); + + if (ownerContext.anchorDimensions !== ownerContext.state.calculatedAnchors) { + me.calculateAnchors(ownerContext, containerSize); + } + + if (ownerContext.hasDomProp('containerChildrenDone')) { + + + if (!containerSize.gotAll) { + me.done = false; + } + + me.calculateContentSize(ownerContext, ownerContext.anchorDimensions); + + if (me.done) { + me.calculateOverflow(ownerContext, containerSize, ownerContext.anchorDimensions); + return; + } + } + + me.done = false; + }, + + calculateAnchors: function (ownerContext, containerSize) { + var me = this, + childItems = ownerContext.childItems, + length = childItems.length, + gotHeight = containerSize.gotHeight, + gotWidth = containerSize.gotWidth, + ownerHeight = containerSize.height, + ownerWidth = containerSize.width, + state = ownerContext.state, + calculatedAnchors = (gotWidth ? 1 : 0) | (gotHeight ? 2 : 0), + anchorSpec, childContext, childMargins, height, i, width; + + state.calculatedAnchors = (state.calculatedAnchors || 0) | calculatedAnchors; + + for (i = 0; i < length; i++) { + childContext = childItems[i]; + childMargins = childContext.getMarginInfo(); + anchorSpec = childContext.target.anchorSpec; + + + + + + if (gotWidth && childContext.widthModel.calculated) { + width = anchorSpec.right(ownerWidth) - childMargins.width; + width = me.adjustWidthAnchor(width, childContext); + + childContext.setWidth(width); + } + + + if (gotHeight && childContext.heightModel.calculated) { + height = anchorSpec.bottom(ownerHeight) - childMargins.height; + height = me.adjustHeightAnchor(height, childContext); + + childContext.setHeight(height); + } + } + }, + + finishedLayout: function (ownerContext) { + var cleanerFn = this.rightMarginCleanerFn; + + if (cleanerFn) { + delete this.rightMarginCleanerFn; + ownerContext.targetContext.el.removeCls(Ext.baseCSSPrefix + 'inline-children'); + cleanerFn(); + } + }, + + + + anchorFactory: { + offset: function (delta) { + return function(v) { + return v + delta; + }; + }, + ratio: function (ratio) { + return function(v) { + return Math.floor(v * ratio); + }; + }, + standard: function (diff) { + return function(v) { + return v - diff; + }; + } + }, + + parseAnchor: function(a, start, cstart) { + if (a && a != 'none') { + var factory = this.anchorFactory, + delta; + + if (this.parseAnchorRE.test(a)) { + return factory.standard(cstart - start); + } + if (a.indexOf('%') != -1) { + return factory.ratio(parseFloat(a.replace('%', '')) * 0.01); + } + delta = parseInt(a, 10); + if (!isNaN(delta)) { + return factory.offset(delta); + } + } + return null; + }, + + + adjustWidthAnchor: function(value, childContext) { + return value; + }, + + + adjustHeightAnchor: function(value, childContext) { + return value; + }, + + configureItem: function(item) { + var me = this, + owner = me.owner, + anchor= item.anchor, + anchorsArray, + anchorWidth, + anchorHeight; + + me.callParent(arguments); + + if (!item.anchor && item.items && !Ext.isNumber(item.width) && !(Ext.isIE6 && Ext.isStrict)) { + item.anchor = anchor = me.defaultAnchor; + } + + + if (owner.anchorSize) { + if (typeof owner.anchorSize == 'number') { + anchorWidth = owner.anchorSize; + } else { + anchorWidth = owner.anchorSize.width; + anchorHeight = owner.anchorSize.height; + } + } else { + anchorWidth = owner.initialConfig.width; + anchorHeight = owner.initialConfig.height; + } + + if (anchor) { + + anchorsArray = anchor.split(' '); + item.anchorSpec = { + right: me.parseAnchor(anchorsArray[0], item.initialConfig.width, anchorWidth), + bottom: me.parseAnchor(anchorsArray[1], item.initialConfig.height, anchorHeight) + }; + } + }, + + sizePolicy: { + '': { + setsWidth: 0, + setsHeight: 0 + }, + b: { + setsWidth: 0, + setsHeight: 1 + }, + r: { + '': { + setsWidth: 1, + setsHeight: 0 + }, + b: { + setsWidth: 1, + setsHeight: 1 + + } + } + }, + + getItemSizePolicy: function (item) { + var anchorSpec = item.anchorSpec, + key = '', + policy = this.sizePolicy, + sizeModel; + + if (anchorSpec) { + sizeModel = this.owner.getSizeModel(); + if (anchorSpec.right && !sizeModel.width.shrinkWrap) { + policy = policy.r; + } + if (anchorSpec.bottom && !sizeModel.height.shrinkWrap) { + key = 'b'; + } + } + + return policy[key]; + } +}); + + +Ext.define('Ext.window.MessageBox', { + extend: 'Ext.window.Window', + + requires: [ + 'Ext.toolbar.Toolbar', + 'Ext.form.field.Text', + 'Ext.form.field.TextArea', + 'Ext.form.field.Display', + 'Ext.button.Button', + 'Ext.layout.container.Anchor', + 'Ext.layout.container.HBox', + 'Ext.ProgressBar' + ], + + alias: 'widget.messagebox', + + + OK : 1, + + YES : 2, + + NO : 4, + + CANCEL : 8, + + OKCANCEL : 9, + + YESNO : 6, + + YESNOCANCEL : 14, + + INFO : Ext.baseCSSPrefix + 'message-box-info', + + WARNING : Ext.baseCSSPrefix + 'message-box-warning', + + QUESTION : Ext.baseCSSPrefix + 'message-box-question', + + ERROR : Ext.baseCSSPrefix + 'message-box-error', + + + hideMode: 'offsets', + closeAction: 'hide', + resizable: false, + title: ' ', + + width: 600, + height: 500, + minWidth: 250, + maxWidth: 600, + minHeight: 110, + maxHeight: 500, + constrain: true, + + cls: Ext.baseCSSPrefix + 'message-box', + + layout: { + type: 'vbox', + align: 'stretch' + }, + + + defaultTextHeight : 75, + + minProgressWidth : 250, + + minPromptWidth: 250, + + + buttonText: { + ok: 'OK', + yes: 'Yes', + no: 'No', + cancel: 'Cancel' + }, + + + buttonIds: [ + 'ok', 'yes', 'no', 'cancel' + ], + + + titleText: { + confirm: 'Confirm', + prompt: 'Prompt', + wait: 'Loading...', + alert: 'Attention' + }, + + + iconHeight: 35, + + makeButton: function(btnIdx) { + var btnId = this.buttonIds[btnIdx]; + return new Ext.button.Button({ + handler: this.btnCallback, + itemId: btnId, + scope: this, + text: this.buttonText[btnId], + minWidth: 75 + }); + }, + + btnCallback: function(btn) { + var me = this, + value, + field; + + if (me.cfg.prompt || me.cfg.multiline) { + if (me.cfg.multiline) { + field = me.textArea; + } else { + field = me.textField; + } + value = field.getValue(); + field.reset(); + } + + + btn.blur(); + me.hide(); + me.userCallback(btn.itemId, value, me.cfg); + }, + + hide: function() { + var me = this; + me.dd.endDrag(); + me.progressBar.reset(); + me.removeCls(me.cfg.cls); + me.callParent(arguments); + }, + + initComponent: function() { + var me = this, + baseId = me.id, + i, button, + tbLayout; + + me.title = ' '; + + me.topContainer = new Ext.container.Container({ + layout: 'hbox', + style: { + padding: '10px', + overflow: 'hidden' + }, + items: [ + me.iconComponent = new Ext.Component({ + cls: me.baseCls + '-icon', + width: 50, + height: me.iconHeight + }), + me.promptContainer = new Ext.container.Container({ + flex: 1, + layout: { + type: 'anchor' + }, + items: [ + me.msg = new Ext.form.field.Display({ + id: baseId + '-displayfield', + cls: me.baseCls + '-text' + }), + me.textField = new Ext.form.field.Text({ + id: baseId + '-testfield', + anchor: '100%', + enableKeyEvents: true, + listeners: { + keydown: me.onPromptKey, + scope: me + } + }), + me.textArea = new Ext.form.field.TextArea({ + id: baseId + '-textarea', + anchor: '100%', + height: 75 + }) + ] + }) + ] + }); + me.progressBar = new Ext.ProgressBar({ + id: baseId + '-progressbar', + margins: '0 10 0 10' + }); + + me.items = [me.topContainer, me.progressBar]; + + + me.msgButtons = []; + for (i = 0; i < 4; i++) { + button = me.makeButton(i); + me.msgButtons[button.itemId] = button; + me.msgButtons.push(button); + } + me.bottomTb = new Ext.toolbar.Toolbar({ + id: baseId + '-toolbar', + ui: 'footer', + dock: 'bottom', + layout: { + pack: 'center' + }, + items: [ + me.msgButtons[0], + me.msgButtons[1], + me.msgButtons[2], + me.msgButtons[3] + ] + }); + me.dockedItems = [me.bottomTb]; + + + tbLayout = me.bottomTb.getLayout(); + tbLayout.finishedLayout = Ext.Function.createInterceptor(tbLayout.finishedLayout, function(ownerContext) { + me.tbWidth = ownerContext.getProp('contentWidth'); + }); + me.on('close', me.onClose, me); + + me.callParent(); + }, + + onClose: function(){ + var btn = this.header.child('[type=close]'); + + btn.itemId = 'cancel'; + this.btnCallback(btn); + delete btn.itemId; + }, + + onPromptKey: function(textField, e) { + var me = this, + blur; + + if (e.keyCode === Ext.EventObject.RETURN || e.keyCode === 10) { + if (me.msgButtons.ok.isVisible()) { + blur = true; + me.msgButtons.ok.handler.call(me, me.msgButtons.ok); + } else if (me.msgButtons.yes.isVisible()) { + me.msgButtons.yes.handler.call(me, me.msgButtons.yes); + blur = true; + } + + if (blur) { + me.textField.blur(); + } + } + }, + + reconfigure: function(cfg) { + var me = this, + buttons = 0, + hideToolbar = true, + initialWidth = me.maxWidth, + oldButtonText = me.buttonText, + i; + + + me.updateButtonText(); + + cfg = cfg || {}; + me.cfg = cfg; + if (cfg.width) { + initialWidth = cfg.width; + } + + + delete me.defaultFocus; + + + me.animateTarget = cfg.animateTarget || undefined; + + + me.modal = cfg.modal !== false; + + + if (cfg.title) { + me.setTitle(cfg.title||' '); + } + + + if (Ext.isObject(cfg.buttons)) { + me.buttonText = cfg.buttons; + buttons = 0; + } else { + me.buttonText = cfg.buttonText || me.buttonText; + buttons = Ext.isNumber(cfg.buttons) ? cfg.buttons : 0; + } + + + + buttons = buttons | me.updateButtonText(); + + + me.buttonText = oldButtonText; + + + + Ext.suspendLayouts(); + me.hidden = false; + if (!me.rendered) { + me.width = initialWidth; + me.render(Ext.getBody()); + } else { + me.setSize(initialWidth, me.maxHeight); + } + + + me.closable = cfg.closable && !cfg.wait; + me.header.child('[type=close]').setVisible(cfg.closable !== false); + + + if (!cfg.title && !me.closable) { + me.header.hide(); + } else { + me.header.show(); + } + + + me.liveDrag = !cfg.proxyDrag; + + + me.userCallback = Ext.Function.bind(cfg.callback ||cfg.fn || Ext.emptyFn, cfg.scope || Ext.global); + + + me.setIcon(cfg.icon); + + + if (cfg.msg) { + me.msg.setValue(cfg.msg); + me.msg.show(); + } else { + me.msg.hide(); + } + + + + Ext.resumeLayouts(true); + Ext.suspendLayouts(); + + + if (cfg.prompt || cfg.multiline) { + me.multiline = cfg.multiline; + if (cfg.multiline) { + me.textArea.setValue(cfg.value); + me.textArea.setHeight(cfg.defaultTextHeight || me.defaultTextHeight); + me.textArea.show(); + me.textField.hide(); + me.defaultFocus = me.textArea; + } else { + me.textField.setValue(cfg.value); + me.textArea.hide(); + me.textField.show(); + me.defaultFocus = me.textField; + } + } else { + me.textArea.hide(); + me.textField.hide(); + } + + + if (cfg.progress || cfg.wait) { + me.progressBar.show(); + me.updateProgress(0, cfg.progressText); + if(cfg.wait === true){ + me.progressBar.wait(cfg.waitConfig); + } + } else { + me.progressBar.hide(); + } + + + for (i = 0; i < 4; i++) { + if (buttons & Math.pow(2, i)) { + + + if (!me.defaultFocus) { + me.defaultFocus = me.msgButtons[i]; + } + me.msgButtons[i].show(); + hideToolbar = false; + } else { + me.msgButtons[i].hide(); + } + } + + + if (hideToolbar) { + me.bottomTb.hide(); + } else { + me.bottomTb.show(); + } + Ext.resumeLayouts(true); + }, + + + updateButtonText: function() { + var me = this, + buttonText = me.buttonText, + buttons = 0, + btnId, + btn; + + for (btnId in buttonText) { + if (buttonText.hasOwnProperty(btnId)) { + btn = me.msgButtons[btnId]; + if (btn) { + if (me.cfg && me.cfg.buttonText) { + buttons = buttons | Math.pow(2, Ext.Array.indexOf(me.buttonIds, btnId)); + } + if (btn.text != buttonText[btnId]) { + btn.setText(buttonText[btnId]); + } + } + } + } + return buttons; + }, + + + show: function(cfg) { + var me = this; + + me.reconfigure(cfg); + me.addCls(cfg.cls); + me.doAutoSize(); + + + + me.hidden = true; + me.callParent(); + return me; + }, + + onShow: function() { + this.callParent(arguments); + this.center(); + }, + + doAutoSize: function() { + var me = this, + headerVisible = me.header.rendered && me.header.isVisible(), + footerVisible = me.bottomTb.rendered && me.bottomTb.isVisible(), + width, + height; + + if (!Ext.isDefined(me.frameWidth)) { + me.frameWidth = me.el.getWidth() - me.body.getWidth(); + } + + + me.minWidth = me.cfg.minWidth || Ext.getClass(this).prototype.minWidth; + + + width = Math.max( + headerVisible ? me.header.getMinWidth() : 0, + me.cfg.width || me.msg.getWidth() + me.iconComponent.getWidth() + 25, + (footerVisible ? me.tbWidth : 0) + ); + + height = (headerVisible ? me.header.getHeight() : 0) + + me.topContainer.getHeight() + + me.progressBar.getHeight() + + (footerVisible ? me.bottomTb.getHeight() + me.bottomTb.el.getMargin('tb') : 0); + + me.setSize(width + me.frameWidth, height + me.frameWidth); + return me; + }, + + updateText: function(text) { + this.msg.setValue(text); + return this.doAutoSize(true); + }, + + + setIcon : function(icon) { + var me = this; + me.iconComponent.removeCls(me.messageIconCls); + if (icon) { + me.iconComponent.show(); + me.iconComponent.addCls(Ext.baseCSSPrefix + 'dlg-icon'); + me.iconComponent.addCls(me.messageIconCls = icon); + } else { + me.iconComponent.removeCls(Ext.baseCSSPrefix + 'dlg-icon'); + me.iconComponent.hide(); + } + return me; + }, + + + updateProgress : function(value, progressText, msg){ + this.progressBar.updateProgress(value, progressText); + if (msg){ + this.updateText(msg); + } + return this; + }, + + onEsc: function() { + if (this.closable !== false) { + this.callParent(arguments); + } + }, + + + confirm: function(cfg, msg, fn, scope) { + if (Ext.isString(cfg)) { + cfg = { + title: cfg, + icon: this.QUESTION, + msg: msg, + buttons: this.YESNO, + callback: fn, + scope: scope + }; + } + return this.show(cfg); + }, + + + prompt : function(cfg, msg, fn, scope, multiline, value){ + if (Ext.isString(cfg)) { + cfg = { + prompt: true, + title: cfg, + minWidth: this.minPromptWidth, + msg: msg, + buttons: this.OKCANCEL, + callback: fn, + scope: scope, + multiline: multiline, + value: value + }; + } + return this.show(cfg); + }, + + + wait : function(cfg, title, config){ + if (Ext.isString(cfg)) { + cfg = { + title : title, + msg : cfg, + closable: false, + wait: true, + modal: true, + minWidth: this.minProgressWidth, + waitConfig: config + }; + } + return this.show(cfg); + }, + + + alert: function(cfg, msg, fn, scope) { + if (Ext.isString(cfg)) { + cfg = { + title : cfg, + msg : msg, + buttons: this.OK, + fn: fn, + scope : scope, + minWidth: this.minWidth + }; + } + return this.show(cfg); + }, + + + progress : function(cfg, msg, progressText){ + if (Ext.isString(cfg)) { + cfg = { + title: cfg, + msg: msg, + progress: true, + progressText: progressText + }; + } + return this.show(cfg); + } +}, function() { + + Ext.MessageBox = Ext.Msg = new this(); +}); + + +Ext.define('Ext.form.Basic', { + extend: 'Ext.util.Observable', + alternateClassName: 'Ext.form.BasicForm', + requires: ['Ext.util.MixedCollection', 'Ext.form.action.Load', 'Ext.form.action.Submit', + 'Ext.window.MessageBox', 'Ext.data.Errors', 'Ext.util.DelayedTask'], + + + constructor: function(owner, config) { + var me = this, + onItemAddOrRemove = me.onItemAddOrRemove, + api, + fn; + + + me.owner = owner; + + + me.mon(owner, { + add: onItemAddOrRemove, + remove: onItemAddOrRemove, + scope: me + }); + + Ext.apply(me, config); + + + if (Ext.isString(me.paramOrder)) { + me.paramOrder = me.paramOrder.split(/[\s,|]/); + } + + if (me.api) { + api = me.api = Ext.apply({}, me.api); + for (fn in api) { + if (api.hasOwnProperty(fn)) { + api[fn] = Ext.direct.Manager.parseMethod(api[fn]); + } + } + } + + me.checkValidityTask = new Ext.util.DelayedTask(me.checkValidity, me); + + me.addEvents( + + 'beforeaction', + + 'actionfailed', + + 'actioncomplete', + + 'validitychange', + + 'dirtychange' + ); + me.callParent(); + }, + + + initialize : function() { + var me = this; + me.initialized = true; + me.onValidityChange(!me.hasInvalidField()); + }, + + + + + + + + + + + + + + timeout: 30, + + + + + + + paramsAsHash: false, + + + + waitTitle: 'Please Wait...', + + + + trackResetOnLoad: false, + + + + + + + + wasDirty: false, + + + + destroy: function() { + this.clearListeners(); + this.checkValidityTask.cancel(); + }, + + + onItemAddOrRemove: function(parent, child) { + var me = this, + isAdding = !!child.ownerCt, + isContainer = child.isContainer; + + function handleField(field) { + + me[isAdding ? 'mon' : 'mun'](field, { + validitychange: me.checkValidity, + dirtychange: me.checkDirty, + scope: me, + buffer: 100 + }); + + delete me._fields; + } + + if (child.isFormField) { + handleField(child); + } else if (isContainer) { + + if (child.isDestroyed || child.destroying) { + + + delete me._fields; + } else { + Ext.Array.forEach(child.query('[isFormField]'), handleField); + } + } + + + delete this._boundItems; + + + + if (me.initialized) { + me.checkValidityTask.delay(10); + } + }, + + + getFields: function() { + var fields = this._fields; + if (!fields) { + fields = this._fields = new Ext.util.MixedCollection(); + fields.addAll(this.owner.query('[isFormField]')); + } + return fields; + }, + + + getBoundItems: function() { + var boundItems = this._boundItems; + + if (!boundItems || boundItems.getCount() === 0) { + boundItems = this._boundItems = new Ext.util.MixedCollection(); + boundItems.addAll(this.owner.query('[formBind]')); + } + + return boundItems; + }, + + + hasInvalidField: function() { + return !!this.getFields().findBy(function(field) { + var preventMark = field.preventMark, + isValid; + field.preventMark = true; + isValid = field.isValid(); + field.preventMark = preventMark; + return !isValid; + }); + }, + + + isValid: function() { + var me = this, + invalid; + Ext.suspendLayouts(); + invalid = me.getFields().filterBy(function(field) { + return !field.validate(); + }); + Ext.resumeLayouts(true); + return invalid.length < 1; + }, + + + checkValidity: function() { + var me = this, + valid = !me.hasInvalidField(); + if (valid !== me.wasValid) { + me.onValidityChange(valid); + me.fireEvent('validitychange', me, valid); + me.wasValid = valid; + } + }, + + + onValidityChange: function(valid) { + var boundItems = this.getBoundItems(), + items, i, iLen, cmp; + + if (boundItems) { + items = boundItems.items; + iLen = items.length; + + for (i = 0; i < iLen; i++) { + cmp = items[i]; + + if (cmp.disabled === valid) { + cmp.setDisabled(!valid); + } + } + } + }, + + + isDirty: function() { + return !!this.getFields().findBy(function(f) { + return f.isDirty(); + }); + }, + + + checkDirty: function() { + var dirty = this.isDirty(); + if (dirty !== this.wasDirty) { + this.fireEvent('dirtychange', this, dirty); + this.wasDirty = dirty; + } + }, + + + hasUpload: function() { + return !!this.getFields().findBy(function(f) { + return f.isFileUpload(); + }); + }, + + + doAction: function(action, options) { + if (Ext.isString(action)) { + action = Ext.ClassManager.instantiateByAlias('formaction.' + action, Ext.apply({}, options, {form: this})); + } + if (this.fireEvent('beforeaction', this, action) !== false) { + this.beforeAction(action); + Ext.defer(action.run, 100, action); + } + return this; + }, + + + submit: function(options) { + options = options || {}; + var me = this, + action; + + if (options.standardSubmit || me.standardSubmit) { + action = 'standardsubmit'; + } else { + action = me.api ? 'directsubmit' : 'submit'; + } + + return me.doAction(action, options); + }, + + + load: function(options) { + return this.doAction(this.api ? 'directload' : 'load', options); + }, + + + updateRecord: function(record) { + record = record || this._record; + var fields = record.fields.items, + values = this.getFieldValues(), + obj = {}, + i = 0, + len = fields.length, + name; + + for (; i < len; ++i) { + name = fields[i].name; + + if (values.hasOwnProperty(name)) { + obj[name] = values[name]; + } + } + + record.beginEdit(); + record.set(obj); + record.endEdit(); + + return this; + }, + + + loadRecord: function(record) { + this._record = record; + return this.setValues(record.data); + }, + + + getRecord: function() { + return this._record; + }, + + + beforeAction: function(action) { + var waitMsg = action.waitMsg, + maskCls = Ext.baseCSSPrefix + 'mask-loading', + fields = this.getFields().items, + f, + fLen = fields.length, + field, waitMsgTarget; + + + for (f = 0; f < fLen; f++) { + field = fields[f]; + + if (field.isFormField && field.syncValue) { + field.syncValue(); + } + } + + if (waitMsg) { + waitMsgTarget = this.waitMsgTarget; + if (waitMsgTarget === true) { + this.owner.el.mask(waitMsg, maskCls); + } else if (waitMsgTarget) { + waitMsgTarget = this.waitMsgTarget = Ext.get(waitMsgTarget); + waitMsgTarget.mask(waitMsg, maskCls); + } else { + Ext.MessageBox.wait(waitMsg, action.waitTitle || this.waitTitle); + } + } + }, + + + afterAction: function(action, success) { + if (action.waitMsg) { + var messageBox = Ext.MessageBox, + waitMsgTarget = this.waitMsgTarget; + if (waitMsgTarget === true) { + this.owner.el.unmask(); + } else if (waitMsgTarget) { + waitMsgTarget.unmask(); + } else { + + + messageBox.suspendEvents(); + messageBox.hide(); + messageBox.resumeEvents(); + } + } + if (success) { + if (action.reset) { + this.reset(); + } + Ext.callback(action.success, action.scope || action, [this, action]); + this.fireEvent('actioncomplete', this, action); + } else { + Ext.callback(action.failure, action.scope || action, [this, action]); + this.fireEvent('actionfailed', this, action); + } + }, + + + + findField: function(id) { + return this.getFields().findBy(function(f) { + return f.id === id || f.getName() === id; + }); + }, + + + + markInvalid: function(errors) { + var me = this, + e, eLen, error, value, + key; + + function mark(fieldId, msg) { + var field = me.findField(fieldId); + if (field) { + field.markInvalid(msg); + } + } + + if (Ext.isArray(errors)) { + eLen = errors.length; + + for (e = 0; e < eLen; e++) { + error = errors[e]; + mark(error.id, error.msg); + } + } else if (errors instanceof Ext.data.Errors) { + eLen = errors.items.length; + for (e = 0; e < eLen; e++) { + error = errors.items[e]; + + mark(error.field, error.message); + } + } else { + for (key in errors) { + if (errors.hasOwnProperty(key)) { + value = errors[key]; + mark(key, value, errors); + } + } + } + return this; + }, + + + setValues: function(values) { + var me = this, + v, vLen, val, field; + + function setVal(fieldId, val) { + var field = me.findField(fieldId); + if (field) { + field.setValue(val); + if (me.trackResetOnLoad) { + field.resetOriginalValue(); + } + } + } + + if (Ext.isArray(values)) { + + vLen = values.length; + + for (v = 0; v < vLen; v++) { + val = values[v]; + + setVal(val.id, val.value); + } + } else { + + Ext.iterate(values, setVal); + } + return this; + }, + + + getValues: function(asString, dirtyOnly, includeEmptyText, useDataValues) { + var values = {}, + fields = this.getFields().items, + f, + fLen = fields.length, + isArray = Ext.isArray, + field, data, val, bucket, name; + + for (f = 0; f < fLen; f++) { + field = fields[f]; + + if (!dirtyOnly || field.isDirty()) { + data = field[useDataValues ? 'getModelData' : 'getSubmitData'](includeEmptyText); + + if (Ext.isObject(data)) { + for (name in data) { + if (data.hasOwnProperty(name)) { + val = data[name]; + + if (includeEmptyText && val === '') { + val = field.emptyText || ''; + } + + if (values.hasOwnProperty(name)) { + bucket = values[name]; + + if (!isArray(bucket)) { + bucket = values[name] = [bucket]; + } + + if (isArray(val)) { + values[name] = values[name] = bucket.concat(val); + } else { + bucket.push(val); + } + } else { + values[name] = val; + } + } + } + } + } + } + + if (asString) { + values = Ext.Object.toQueryString(values); + } + return values; + }, + + + getFieldValues: function(dirtyOnly) { + return this.getValues(false, dirtyOnly, false, true); + }, + + + clearInvalid: function() { + Ext.suspendLayouts(); + + var me = this, + fields = me.getFields().items, + f, + fLen = fields.length; + + for (f = 0; f < fLen; f++) { + fields[f].clearInvalid(); + } + + Ext.resumeLayouts(true); + return me; + }, + + + reset: function() { + Ext.suspendLayouts(); + + var me = this, + fields = me.getFields().items, + f, + fLen = fields.length; + + for (f = 0; f < fLen; f++) { + fields[f].reset(); + } + + Ext.resumeLayouts(true); + return me; + }, + + + applyToFields: function(obj) { + var fields = this.getFields().items, + f, + fLen = fields.length; + + for (f = 0; f < fLen; f++) { + Ext.apply(fields[f], obj); + } + + return this; + }, + + + applyIfToFields: function(obj) { + var fields = this.getFields().items, + f, + fLen = fields.length; + + for (f = 0; f < fLen; f++) { + Ext.applyIf(fields[f], obj); + } + + return this; + } +}); + + +Ext.define('Ext.layout.container.CheckboxGroup', { + extend: 'Ext.layout.container.Container', + alias: ['layout.checkboxgroup'], + + + autoFlex: true, + + type: 'checkboxgroup', + + childEls: [ + 'innerCt' + ], + + renderTpl: [ + '', + '', + '', + '', + '' + ], + + lastOwnerItemsGeneration : null, + + beginLayout: function(ownerContext) { + var me = this, + columns, + numCols, + i, width, cwidth, + totalFlex = 0, flexedCols = 0, + autoFlex = me.autoFlex, + innerCtStyle = me.innerCt.dom.style; + + me.callParent(arguments); + + columns = me.columnNodes; + ownerContext.innerCtContext = ownerContext.getEl('innerCt', me); + + + if (!ownerContext.widthModel.shrinkWrap) { + numCols = columns.length; + + + if (me.columnsArray) { + + + for (i = 0; i < numCols; i++) { + width = me.owner.columns[i]; + if (width < 1) { + totalFlex += width; + flexedCols++; + } + } + + + for (i = 0; i < numCols; i++) { + width = me.owner.columns[i]; + if (width < 1) { + cwidth = ((width / totalFlex) * 100) + '%'; + } else { + cwidth = width + 'px'; + } + columns[i].style.width = cwidth; + } + } + + + else { + for (i = 0; i < numCols; i++) { + + + + cwidth = autoFlex + ? (1 / numCols * 100) + '%' + : ''; + columns[i].style.width = cwidth; + flexedCols++; + } + } + + + if (!flexedCols) { + innerCtStyle.tableLayout = 'fixed'; + innerCtStyle.width = ''; + + } else if (flexedCols < numCols) { + innerCtStyle.tableLayout = 'fixed'; + innerCtStyle.width = '100%'; + + } else { + innerCtStyle.tableLayout = 'auto'; + + if (autoFlex) { + innerCtStyle.width = '100%'; + } else { + innerCtStyle.width = ''; + } + } + + } else { + innerCtStyle.tableLayout = 'auto'; + innerCtStyle.width = ''; + } + }, + + cacheElements: function () { + var me = this; + + + me.callParent(); + + me.rowEl = me.innerCt.down('tr'); + + + me.columnNodes = me.rowEl.dom.childNodes; + }, + + + calculate: function(ownerContext) { + var me = this, + targetContext, widthShrinkWrap, heightShrinkWrap, shrinkWrap, table, targetPadding; + + + + if (!ownerContext.getDomProp('containerChildrenDone')) { + me.done = false; + } else { + targetContext = ownerContext.innerCtContext; + widthShrinkWrap = ownerContext.widthModel.shrinkWrap; + heightShrinkWrap = ownerContext.heightModel.shrinkWrap; + shrinkWrap = heightShrinkWrap || widthShrinkWrap; + table = targetContext.el.dom; + targetPadding = shrinkWrap && targetContext.getPaddingInfo(); + + if (widthShrinkWrap) { + ownerContext.setContentWidth(table.offsetWidth + targetPadding.width, true); + } + + if (heightShrinkWrap) { + ownerContext.setContentHeight(table.offsetHeight + targetPadding.height, true); + } + } + }, + + doRenderColumn: function (out, renderData, columnIndex) { + + + + var me = renderData.$layout, + owner = me.owner, + columnCount = renderData.columnCount, + items = owner.items.items, + itemCount = items.length, + item, itemIndex, rowCount, increment, tree; + + + + + + if (owner.vertical) { + + + + + + + + + + + + rowCount = Math.ceil(itemCount / columnCount); + itemIndex = columnIndex * rowCount; + itemCount = Math.min(itemCount, itemIndex + rowCount); + increment = 1; + } else { + + + + + + + + + + + + itemIndex = columnIndex; + increment = columnCount; + } + + for ( ; itemIndex < itemCount; itemIndex += increment) { + item = items[itemIndex]; + me.configureItem(item); + tree = item.getRenderTree(); + Ext.DomHelper.generateMarkup(tree, out); + } + }, + + + getColumnCount: function() { + var me = this, + owner = me.owner, + ownerColumns = owner.columns; + + + + if (me.columnsArray) { + return ownerColumns.length; + } + + if (Ext.isNumber(ownerColumns)) { + return ownerColumns; + } + return owner.items.length; + }, + + getItemSizePolicy: function (item) { + return this.autoSizePolicy; + }, + + getRenderData: function () { + var me = this, + data = me.callParent(), + owner = me.owner, + i, columns = me.getColumnCount(), + width, column, cwidth, + autoFlex = me.autoFlex, + totalFlex = 0, flexedCols = 0; + + + if (me.columnsArray) { + for (i=0; i < columns; i++) { + width = me.owner.columns[i]; + if (width < 1) { + totalFlex += width; + flexedCols++; + } + } + } + + data.colCls = owner.groupCls; + data.columnCount = columns; + + data.columns = []; + for (i = 0; i < columns; i++) { + column = (data.columns[i] = {}); + + if (me.columnsArray) { + width = me.owner.columns[i]; + if (width < 1) { + cwidth = ((width / totalFlex) * 100) + '%'; + } else { + cwidth = width + 'px'; + } + column.style = 'width:' + cwidth; + } else { + column.style = 'width:' + (1 / columns * 100) + '%'; + flexedCols++; + } + } + + + data.tableStyle = + !flexedCols ? 'table-layout:fixed;' : + (flexedCols < columns) ? 'table-layout:fixed;width:100%' : + (autoFlex) ? 'table-layout:auto;width:100%' : 'table-layout:auto;'; + + return data; + }, + + initLayout: function () { + var me = this, + owner = me.owner; + + me.columnsArray = Ext.isArray(owner.columns); + me.autoColumns = !owner.columns || owner.columns === 'auto'; + me.vertical = owner.vertical; + + me.callParent(); + }, + + + isValidParent: function() { + return true; + }, + + setupRenderTpl: function (renderTpl) { + this.callParent(arguments); + + renderTpl.renderColumn = this.doRenderColumn; + }, + + renderChildren: function () { + var me = this, + generation = me.owner.items.generation; + + if (me.lastOwnerItemsGeneration !== generation) { + me.lastOwnerItemsGeneration = generation; + me.renderItems(me.getLayoutItems()); + } + }, + + + renderItems : function(items) { + var me = this, + itemCount = items.length, + i, + item, + rowCount, + columnCount, + rowIndex, + columnIndex; + + if (itemCount) { + Ext.suspendLayouts(); + + if (me.autoColumns) { + me.addMissingColumns(itemCount); + } + + columnCount = me.columnNodes.length; + rowCount = Math.ceil(itemCount / columnCount); + + for (i = 0; i < itemCount; i++) { + item = items[i]; + rowIndex = me.getRenderRowIndex(i, rowCount, columnCount); + columnIndex = me.getRenderColumnIndex(i, rowCount, columnCount); + + if (!item.rendered) { + me.renderItem(item, rowIndex, columnIndex); + } else if (!me.isItemAtPosition(item, rowIndex, columnIndex)) { + me.moveItem(item, rowIndex, columnIndex); + } + } + + if (me.autoColumns) { + me.removeExceedingColumns(itemCount); + } + + Ext.resumeLayouts(true); + } + }, + + isItemAtPosition : function(item, rowIndex, columnIndex) { + return item.el.dom === this.getNodeAt(rowIndex, columnIndex); + }, + + getRenderColumnIndex : function(itemIndex, rowCount, columnCount) { + if (this.vertical) { + return Math.floor(itemIndex / rowCount); + } else { + return itemIndex % columnCount; + } + }, + + getRenderRowIndex : function(itemIndex, rowCount, columnCount) { + var me = this; + if (me.vertical) { + return itemIndex % rowCount; + } else { + return Math.floor(itemIndex / columnCount); + } + }, + + getNodeAt : function(rowIndex, columnIndex) { + return this.columnNodes[columnIndex].childNodes[rowIndex]; + }, + + addMissingColumns : function(itemsCount) { + var me = this, + existingColumnsCount = me.columnNodes.length, + missingColumnsCount, + row, + cls, + i; + if (existingColumnsCount < itemsCount) { + missingColumnsCount = itemsCount - existingColumnsCount; + row = me.rowEl; + cls = me.owner.groupCls; + for (i = 0; i < missingColumnsCount; i++) { + row.createChild({ + cls: cls, + tag: 'td', + vAlign: 'top' + }); + } + } + }, + + removeExceedingColumns : function(itemsCount) { + var me = this, + existingColumnsCount = me.columnNodes.length, + exceedingColumnsCount, + row, + i; + if (existingColumnsCount > itemsCount) { + exceedingColumnsCount = existingColumnsCount - itemsCount; + row = me.rowEl; + for (i = 0; i < exceedingColumnsCount; i++) { + row.last().remove(); + } + } + }, + + + renderItem : function(item, rowIndex, columnIndex) { + var me = this; + + me.configureItem(item); + item.render(Ext.get(me.columnNodes[columnIndex]), rowIndex); + me.afterRenderItem(item); + }, + + + moveItem : function(item, rowIndex, columnIndex) { + var me = this, + column = me.columnNodes[columnIndex], + targetNode = column.childNodes[rowIndex]; + column.insertBefore(item.el.dom, targetNode || null); + } + +}); + + +Ext.define('Ext.layout.component.field.FieldContainer', { + + + + extend: 'Ext.layout.component.field.Field', + + alias: 'layout.fieldcontainer', + + + + type: 'fieldcontainer', + + waitForOuterHeightInDom: true, + waitForOuterWidthInDom: true, + + beginLayout: function(ownerContext) { + this.callParent(arguments); + + + ownerContext.hasRawContent = true; + ownerContext.target.bodyEl.setStyle('height', ''); + }, + + measureContentHeight: function (ownerContext) { + + + + return ownerContext.hasDomProp('containerLayoutDone') ? this.callParent(arguments) : NaN; + }, + + measureContentWidth: function (ownerContext) { + + return ownerContext.hasDomProp('containerLayoutDone') ? this.callParent(arguments) : NaN; + }, + + publishInnerWidth: function (ownerContext, width) { + var bodyContext = ownerContext.bodyCellContext; + bodyContext.setWidth(bodyContext.el.getWidth(), false); + }, + + publishInnerHeight: function (ownerContext, height) { + var bodyContext = ownerContext.bodyCellContext; + bodyContext.setHeight(height - this.measureLabelErrorHeight(ownerContext)); + } +}); + + +Ext.define('Ext.form.FieldAncestor', { + + + + + + initFieldAncestor: function() { + var me = this, + onSubtreeChange = me.onFieldAncestorSubtreeChange; + + me.addEvents( + + 'fieldvaliditychange', + + + 'fielderrorchange' + ); + + + me.on('add', onSubtreeChange, me); + me.on('remove', onSubtreeChange, me); + + me.initFieldDefaults(); + }, + + + initFieldDefaults: function() { + if (!this.fieldDefaults) { + this.fieldDefaults = {}; + } + }, + + + onFieldAncestorSubtreeChange: function(parent, child) { + var me = this, + isAdding = !!child.ownerCt; + + function handleCmp(cmp) { + var isLabelable = cmp.isFieldLabelable, + isField = cmp.isFormField; + if (isLabelable || isField) { + if (isLabelable) { + me['onLabelable' + (isAdding ? 'Added' : 'Removed')](cmp); + } + if (isField) { + me['onField' + (isAdding ? 'Added' : 'Removed')](cmp); + } + } + else if (cmp.isContainer) { + Ext.Array.forEach(cmp.getRefItems(), handleCmp); + } + } + handleCmp(child); + }, + + + onLabelableAdded: function(labelable) { + var me = this; + + + me.mon(labelable, 'errorchange', me.handleFieldErrorChange, me, {buffer: 10}); + + labelable.setFieldDefaults(me.fieldDefaults); + }, + + + onFieldAdded: function(field) { + var me = this; + me.mon(field, 'validitychange', me.handleFieldValidityChange, me); + }, + + + onLabelableRemoved: function(labelable) { + var me = this; + me.mun(labelable, 'errorchange', me.handleFieldErrorChange, me); + }, + + + onFieldRemoved: function(field) { + var me = this; + me.mun(field, 'validitychange', me.handleFieldValidityChange, me); + }, + + + handleFieldValidityChange: function(field, isValid) { + var me = this; + me.fireEvent('fieldvaliditychange', me, field, isValid); + me.onFieldValidityChange(field, isValid); + }, + + + handleFieldErrorChange: function(labelable, activeError) { + var me = this; + me.fireEvent('fielderrorchange', me, labelable, activeError); + me.onFieldErrorChange(labelable, activeError); + }, + + + onFieldValidityChange: Ext.emptyFn, + + + onFieldErrorChange: Ext.emptyFn + +}); + + +Ext.define('Ext.form.FieldContainer', { + extend: 'Ext.container.Container', + mixins: { + labelable: 'Ext.form.Labelable', + fieldAncestor: 'Ext.form.FieldAncestor' + }, + requires: 'Ext.layout.component.field.FieldContainer', + + alias: 'widget.fieldcontainer', + + componentLayout: 'fieldcontainer', + + componentCls: Ext.baseCSSPrefix + 'form-fieldcontainer', + + + combineLabels: false, + + + + labelConnector: ', ', + + + + combineErrors: false, + + maskOnDisable: false, + + fieldSubTpl: '{%this.renderContainer(out,values)%}', + + initComponent: function() { + var me = this; + + + me.initLabelable(); + me.initFieldAncestor(); + + me.callParent(); + }, + + beforeRender: function(){ + this.callParent(arguments); + this.beforeLabelableRender(arguments); + }, + + + onLabelableAdded: function(labelable) { + var me = this; + me.mixins.fieldAncestor.onLabelableAdded.call(this, labelable); + me.updateLabel(); + }, + + + onLabelableRemoved: function(labelable) { + var me = this; + me.mixins.fieldAncestor.onLabelableRemoved.call(this, labelable); + me.updateLabel(); + }, + + initRenderTpl: function() { + var me = this; + if (!me.hasOwnProperty('renderTpl')) { + me.renderTpl = me.getTpl('labelableRenderTpl'); + } + return me.callParent(); + }, + + initRenderData: function() { + return Ext.applyIf(this.callParent(), this.getLabelableRenderData()); + }, + + + getFieldLabel: function() { + var label = this.fieldLabel || ''; + if (!label && this.combineLabels) { + label = Ext.Array.map(this.query('[isFieldLabelable]'), function(field) { + return field.getFieldLabel(); + }).join(this.labelConnector); + } + return label; + }, + + getSubTplData: function() { + var ret = this.initRenderData(); + + Ext.apply(ret, this.subTplData); + return ret; + }, + + getSubTplMarkup: function() { + var me = this, + tpl = me.getTpl('fieldSubTpl'), + html; + + if (!tpl.renderContent) { + me.setupRenderTpl(tpl); + } + + html = tpl.apply(me.getSubTplData()); + return html; + }, + + + updateLabel: function() { + var me = this, + label = me.labelEl; + if (label) { + me.setFieldLabel(me.getFieldLabel()); + } + }, + + + + onFieldErrorChange: function(field, activeError) { + if (this.combineErrors) { + var me = this, + oldError = me.getActiveError(), + invalidFields = Ext.Array.filter(me.query('[isFormField]'), function(field) { + return field.hasActiveError(); + }), + newErrors = me.getCombinedErrors(invalidFields); + + if (newErrors) { + me.setActiveErrors(newErrors); + } else { + me.unsetActiveError(); + } + + if (oldError !== me.getActiveError()) { + me.doComponentLayout(); + } + } + }, + + + getCombinedErrors: function(invalidFields) { + var errors = [], + f, + fLen = invalidFields.length, + field, + activeErrors, a, aLen, + error, label; + + for (f = 0; f < fLen; f++) { + field = invalidFields[f]; + activeErrors = field.getActiveErrors(); + aLen = activeErrors.length; + + for (a = 0; a < aLen; a++) { + error = activeErrors[a]; + label = field.getFieldLabel(); + + errors.push((label ? label + ': ' : '') + error); + } + } + + return errors; + }, + + getTargetEl: function() { + return this.bodyEl || this.callParent(); + } +}); + + +Ext.define('Ext.form.CheckboxGroup', { + extend:'Ext.form.FieldContainer', + mixins: { + field: 'Ext.form.field.Field' + }, + alias: 'widget.checkboxgroup', + requires: ['Ext.layout.container.CheckboxGroup', 'Ext.form.field.Base'], + + + + + + + columns : 'auto', + + + vertical : false, + + + allowBlank : true, + + + + blankText : "You must select at least one item in this group", + + + + defaultType : 'checkboxfield', + + + groupCls : Ext.baseCSSPrefix + 'form-check-group', + + + fieldBodyCls: Ext.baseCSSPrefix + 'form-checkboxgroup-body', + + + layout: 'checkboxgroup', + + initComponent: function() { + var me = this; + me.callParent(); + me.initField(); + }, + + + initValue: function() { + var me = this, + valueCfg = me.value; + me.originalValue = me.lastValue = valueCfg || me.getValue(); + if (valueCfg) { + me.setValue(valueCfg); + } + }, + + + onFieldAdded: function(field) { + var me = this; + if (field.isCheckbox) { + me.mon(field, 'change', me.checkChange, me); + } + me.callParent(arguments); + }, + + onFieldRemoved: function(field) { + var me = this; + if (field.isCheckbox) { + me.mun(field, 'change', me.checkChange, me); + } + me.callParent(arguments); + }, + + + isEqual: function(value1, value2) { + var toQueryString = Ext.Object.toQueryString; + return toQueryString(value1) === toQueryString(value2); + }, + + + getErrors: function() { + var errors = []; + if (!this.allowBlank && Ext.isEmpty(this.getChecked())) { + errors.push(this.blankText); + } + return errors; + }, + + + getBoxes: function(query) { + return this.query('[isCheckbox]' + (query||'')); + }, + + + eachBox: function(fn, scope) { + Ext.Array.forEach(this.getBoxes(), fn, scope || this); + }, + + + getChecked: function() { + return this.getBoxes('[checked]'); + }, + + + isDirty: function(){ + var boxes = this.getBoxes(), + b , + bLen = boxes.length; + + for (b = 0; b < bLen; b++) { + if (boxes[b].isDirty()) { + return true; + } + } + }, + + + setReadOnly: function(readOnly) { + var boxes = this.getBoxes(), + b, + bLen = boxes.length; + + for (b = 0; b < bLen; b++) { + boxes[b].setReadOnly(readOnly); + } + + this.readOnly = readOnly; + }, + + + reset: function() { + var me = this, + hadError = me.hasActiveError(), + preventMark = me.preventMark; + me.preventMark = true; + me.batchChanges(function() { + var boxes = me.getBoxes(), + b, + bLen = boxes.length; + + for (b = 0; b < bLen; b++) { + boxes[b].reset(); + } + }); + me.preventMark = preventMark; + me.unsetActiveError(); + if (hadError) { + me.updateLayout(); + } + }, + + resetOriginalValue: function(){ + var me = this, + boxes = me.getBoxes(), + b, + bLen = boxes.length; + + for (b = 0; b < bLen; b++) { + boxes[b].resetOriginalValue(); + } + + me.originalValue = me.getValue(); + me.checkDirty(); + }, + + + + setValue: function(value) { + var me = this, + boxes = me.getBoxes(), + b, + bLen = boxes.length, + box, name, + cbValue; + + me.batchChanges(function() { + for (b = 0; b < bLen; b++) { + box = boxes[b]; + name = box.getName(); + cbValue = false; + + if (value && value.hasOwnProperty(name)) { + if (Ext.isArray(value[name])) { + cbValue = Ext.Array.contains(value[name], box.inputValue); + } else { + + cbValue = value[name]; + } + } + + box.setValue(cbValue); + } + }); + return me; + }, + + + + getValue: function() { + var values = {}, + boxes = this.getBoxes(), + b, + bLen = boxes.length, + box, name, inputValue, bucket; + + for (b = 0; b < bLen; b++) { + box = boxes[b]; + name = box.getName(); + inputValue = box.inputValue; + + if (box.getValue()) { + if (values.hasOwnProperty(name)) { + bucket = values[name]; + if (!Ext.isArray(bucket)) { + bucket = values[name] = [bucket]; + } + bucket.push(inputValue); + } else { + values[name] = inputValue; + } + } + } + + return values; + }, + + + getSubmitData: function() { + return null; + }, + + + getModelData: function() { + return null; + }, + + validate: function() { + var me = this, + errors, + isValid, + wasValid; + + if (me.disabled) { + isValid = true; + } else { + errors = me.getErrors(); + isValid = Ext.isEmpty(errors); + wasValid = !me.hasActiveError(); + if (isValid) { + me.unsetActiveError(); + } else { + me.setActiveError(errors); + } + } + if (isValid !== wasValid) { + me.fireEvent('validitychange', me, isValid); + me.updateLayout(); + } + + return isValid; + } + +}, function() { + + this.borrow(Ext.form.field.Base, ['markInvalid', 'clearInvalid']); + +}); + + + +Ext.define('Ext.form.CheckboxManager', { + extend: 'Ext.util.MixedCollection', + singleton: true, + + getByName: function(name) { + return this.filterBy(function(item) { + return item.name == name; + }); + }, + + getWithValue: function(name, value) { + return this.filterBy(function(item) { + return item.name == name && item.inputValue == value; + }); + }, + + getChecked: function(name) { + return this.filterBy(function(item) { + return item.name == name && item.checked; + }); + } +}); + + +Ext.define('Ext.layout.component.FieldSet', { + extend: 'Ext.layout.component.Body', + alias: ['layout.fieldset'], + + type: 'fieldset', + + beforeLayoutCycle: function (ownerContext) { + if (ownerContext.target.collapsed) { + ownerContext.heightModel = this.sizeModels.shrinkWrap; + } + }, + + beginLayoutCycle: function (ownerContext) { + var target = ownerContext.target, + lastSize; + + this.callParent(arguments); + + + + + if (target.collapsed) { + ownerContext.setContentHeight(0); + + + + + if (ownerContext.widthModel.shrinkWrap) { + lastSize = target.lastComponentSize; + ownerContext.setContentWidth((lastSize && lastSize.contentWidth) || 100); + } + } + }, + + calculateOwnerHeightFromContentHeight: function (ownerContext, contentHeight) { + var border = ownerContext.getBorderInfo(), + legend = ownerContext.target.legend; + + + return ownerContext.getProp('contentHeight') + ownerContext.getPaddingInfo().height + (legend ? legend.getHeight() : border.top) + border.bottom; + }, + + publishInnerHeight: function (ownerContext, height) { + + + + var legend = ownerContext.target.legend; + if (legend) { + height -= legend.getHeight(); + } + this.callParent([ownerContext, height]); + }, + + getLayoutItems : function() { + var legend = this.owner.legend; + if (legend) { + return [legend]; + } + return []; + } +}); + + +Ext.define('Ext.form.FieldSet', { + extend: 'Ext.container.Container', + alias: 'widget.fieldset', + uses: ['Ext.form.field.Checkbox', 'Ext.panel.Tool', 'Ext.layout.container.Anchor', 'Ext.layout.component.FieldSet'], + + + + + + + + + + + collapsed: false, + + + toggleOnTitleClick : true, + + + + + baseCls: Ext.baseCSSPrefix + 'fieldset', + + + layout: 'anchor', + + border: 1, + + componentLayout: 'fieldset', + + autoEl: 'fieldset', + + childEls: [ + 'body' + ], + + renderTpl: [ + '{%this.renderLegend(out,values);%}', + '
', + '{%this.renderContainer(out,values);%}', + '
' + ], + + stateEvents : [ 'collapse', 'expand' ], + + maskOnDisable: false, + + beforeDestroy: function(){ + var me = this, + legend = me.legend; + + if (legend) { + + delete legend.ownerCt; + legend.destroy(); + me.legend = null; + } + me.callParent(); + }, + + initComponent: function() { + var me = this, + baseCls = me.baseCls; + + me.callParent(); + + me.addEvents( + + + "beforeexpand", + + + "beforecollapse", + + + "expand", + + + "collapse" + ); + + if (me.collapsed) { + me.addCls(baseCls + '-collapsed'); + me.collapse(); + } + if (me.title) { + me.addCls(baseCls + '-with-title'); + } + if (me.title || me.checkboxToggle || me.collapsible) { + me.addCls(baseCls + '-with-legend'); + me.legend = Ext.widget(me.createLegendCt()); + } + }, + + + initRenderData: function() { + var data = this.callParent(); + + data.baseCls = this.baseCls; + + return data; + }, + + getState: function () { + var state = this.callParent(); + + state = this.addPropertyToState(state, 'collapsed'); + + return state; + }, + + afterCollapse: Ext.emptyFn, + afterExpand: Ext.emptyFn, + + collapsedHorizontal: function () { + return true; + }, + + collapsedVertical: function () { + return true; + }, + + createLegendCt: function () { + var me = this, + items = [], + legend = { + xtype: 'container', + baseCls: me.baseCls + '-header', + id: me.id + '-legend', + autoEl: 'legend', + items: items, + ownerCt: me, + ownerLayout: me.componentLayout + }; + + + if (me.checkboxToggle) { + items.push(me.createCheckboxCmp()); + } else if (me.collapsible) { + + items.push(me.createToggleCmp()); + } + + + items.push(me.createTitleCmp()); + + return legend; + }, + + + createTitleCmp: function() { + var me = this, + cfg = { + xtype : 'component', + html : me.title, + cls : me.baseCls + '-header-text', + id : me.id + '-legendTitle' + }; + + if (me.collapsible && me.toggleOnTitleClick) { + cfg.listeners = { + el : { + scope : me, + click : me.toggle + } + }; + cfg.cls += ' ' + me.baseCls + '-header-text-collapsible'; + } + + return (me.titleCmp = Ext.widget(cfg)); + }, + + + + + createCheckboxCmp: function() { + var me = this, + suffix = '-checkbox'; + + me.checkboxCmp = Ext.widget({ + xtype: 'checkbox', + hideEmptyLabel: true, + name: me.checkboxName || me.id + suffix, + cls: me.baseCls + '-header' + suffix, + id: me.id + '-legendChk', + checked: !me.collapsed, + listeners: { + change: me.onCheckChange, + scope: me + } + }); + return me.checkboxCmp; + }, + + + + + createToggleCmp: function() { + var me = this; + me.toggleCmp = Ext.widget({ + xtype: 'tool', + type: 'toggle', + handler: me.toggle, + id: me.id + '-legendToggle', + scope: me + }); + return me.toggleCmp; + }, + + doRenderLegend: function (out, renderData) { + + + + var me = renderData.$comp, + legend = me.legend, + tree; + + + if (legend) { + legend.ownerLayout.configureItem(legend); + tree = legend.getRenderTree(); + Ext.DomHelper.generateMarkup(tree, out); + } + }, + + finishRender: function () { + var legend = this.legend; + + this.callParent(); + + if (legend) { + legend.finishRender(); + } + }, + + getCollapsed: function () { + return this.collapsed ? 'top' : false; + }, + + getCollapsedDockedItems: function () { + var legend = this.legend; + + return legend ? [ legend ] : []; + }, + + + setTitle: function(title) { + var me = this, + legend = me.legend; + + me.title = title; + if (me.rendered) { + if (!me.legend) { + me.legend = legend = Ext.widget(me.createLegendCt()); + legend.ownerLayout.configureItem(legend); + legend.render(me.el, 0); + } + me.titleCmp.update(title); + } + return me; + }, + + getTargetEl : function() { + return this.body || this.frameBody || this.el; + }, + + getContentTarget: function() { + return this.body; + }, + + + expand : function(){ + return this.setExpanded(true); + }, + + + collapse : function() { + return this.setExpanded(false); + }, + + + setExpanded: function(expanded) { + var me = this, + checkboxCmp = me.checkboxCmp, + operation = expanded ? 'expand' : 'collapse'; + + if (!me.rendered || me.fireEvent('before' + operation, me) !== false) { + expanded = !!expanded; + + if (checkboxCmp) { + checkboxCmp.setValue(expanded); + } + + if (expanded) { + me.removeCls(me.baseCls + '-collapsed'); + } else { + me.addCls(me.baseCls + '-collapsed'); + } + me.collapsed = !expanded; + if (me.rendered) { + + + + me.updateLayout({ isRoot: false }); + me.fireEvent(operation, me); + } + } + return me; + }, + + getRefItems: function(deep) { + var refItems = this.callParent(arguments), + legend = this.legend; + + + if (legend) { + refItems.unshift(legend); + if (deep) { + refItems.unshift.apply(refItems, legend.getRefItems(true)); + } + } + return refItems; + }, + + + toggle: function() { + this.setExpanded(!!this.collapsed); + }, + + + onCheckChange: function(cmp, checked) { + this.setExpanded(checked); + }, + + setupRenderTpl: function (renderTpl) { + this.callParent(arguments); + + renderTpl.renderLegend = this.doRenderLegend; + } +}); + + +Ext.define('Ext.form.Label', { + extend:'Ext.Component', + alias: 'widget.label', + requires: ['Ext.util.Format'], + + autoEl: 'label', + + + + + + maskOnDisable: false, + + getElConfig: function(){ + var me = this; + + me.html = me.text ? Ext.util.Format.htmlEncode(me.text) : (me.html || ''); + return Ext.apply(me.callParent(), { + htmlFor: me.forId || '' + }); + }, + + + setText : function(text, encode){ + var me = this; + + encode = encode !== false; + if(encode) { + me.text = text; + delete me.html; + } else { + me.html = text; + delete me.text; + } + + if(me.rendered){ + me.el.dom.innerHTML = encode !== false ? Ext.util.Format.htmlEncode(text) : text; + me.updateLayout(); + } + return me; + } +}); + + + +Ext.define('Ext.form.Panel', { + extend:'Ext.panel.Panel', + mixins: { + fieldAncestor: 'Ext.form.FieldAncestor' + }, + alias: 'widget.form', + alternateClassName: ['Ext.FormPanel', 'Ext.form.FormPanel'], + requires: ['Ext.form.Basic', 'Ext.util.TaskRunner'], + + + + + + + layout: 'anchor', + + ariaRole: 'form', + + basicFormConfigs: [ + 'api', + 'baseParams', + 'errorReader', + 'method', + 'paramOrder', + 'paramsAsHash', + 'reader', + 'standardSubmit', + 'timeout', + 'trackResetOnLoad', + 'url', + 'waitMsgTarget', + 'waitTitle' + ], + + initComponent: function() { + var me = this; + + if (me.frame) { + me.border = false; + } + + me.initFieldAncestor(); + me.callParent(); + + me.relayEvents(me.form, [ + + 'beforeaction', + + 'actionfailed', + + 'actioncomplete', + + 'validitychange', + + 'dirtychange' + ]); + + + if (me.pollForChanges) { + me.startPolling(me.pollInterval || 500); + } + }, + + initItems: function() { + + var me = this; + + me.form = me.createForm(); + me.callParent(); + }, + + + afterFirstLayout: function() { + this.callParent(); + this.form.initialize(); + }, + + + createForm: function() { + var cfg = {}, + props = this.basicFormConfigs, + len = props.length, + i = 0, + prop; + + for (; i < len; ++i) { + prop = props[i]; + cfg[prop] = this[prop]; + } + return new Ext.form.Basic(this, cfg); + }, + + + getForm: function() { + return this.form; + }, + + + loadRecord: function(record) { + return this.getForm().loadRecord(record); + }, + + + getRecord: function() { + return this.getForm().getRecord(); + }, + + + getValues: function(asString, dirtyOnly, includeEmptyText, useDataValues) { + return this.getForm().getValues(asString, dirtyOnly, includeEmptyText, useDataValues); + }, + + beforeDestroy: function() { + this.stopPolling(); + this.form.destroy(); + this.callParent(); + }, + + + load: function(options) { + this.form.load(options); + }, + + + submit: function(options) { + this.form.submit(options); + }, + + + startPolling: function(interval) { + this.stopPolling(); + var task = new Ext.util.TaskRunner(interval); + task.start({ + interval: 0, + run: this.checkChange, + scope: this + }); + this.pollTask = task; + }, + + + stopPolling: function() { + var task = this.pollTask; + if (task) { + task.stopAll(); + delete this.pollTask; + } + }, + + + checkChange: function() { + var fields = this.form.getFields().items, + f, + fLen = fields.length, + field; + + for (f = 0; f < fLen; f++) { + fields[f].checkChange(); + } + } +}); + + +Ext.define('Ext.form.RadioGroup', { + extend: 'Ext.form.CheckboxGroup', + alias: 'widget.radiogroup', + + + + allowBlank : true, + + + blankText : 'You must select one item in this group', + + + + defaultType : 'radiofield', + + + groupCls : Ext.baseCSSPrefix + 'form-radio-group', + + getBoxes: function(query) { + return this.query('[isRadio]' + (query||'')); + }, + + checkChange: function() { + var value = this.getValue(), + key = Ext.Object.getKeys(value)[0]; + + + + if (Ext.isArray(value[key])) { + return; + } + this.callParent(arguments); + }, + + + setValue: function(value) { + var cbValue, first, formId, radios, + i, len, name; + + if (Ext.isObject(value)) { + for (name in value) { + if (value.hasOwnProperty(name)) { + cbValue = value[name]; + first = this.items.first(); + formId = first ? first.getFormId() : null; + radios = Ext.form.RadioManager.getWithValue(name, cbValue, formId).items; + len = radios.length; + + for (i = 0; i < len; ++i) { + radios[i].setValue(true); + } + } + } + } + return this; + } +}); + + +Ext.define('Ext.form.RadioManager', { + extend: 'Ext.util.MixedCollection', + singleton: true, + + getByName: function(name, formId) { + return this.filterBy(function(item) { + return item.name == name && item.getFormId() == formId; + }); + }, + + getWithValue: function(name, value, formId) { + return this.filterBy(function(item) { + return item.name == name && item.inputValue == value && item.getFormId() == formId; + }); + }, + + getChecked: function(name, formId) { + return this.findBy(function(item) { + return item.name == name && item.checked && item.getFormId() == formId; + }); + } +}); + + +Ext.define('Ext.form.action.DirectLoad', { + extend:'Ext.form.action.Load', + requires: ['Ext.direct.Manager'], + alternateClassName: 'Ext.form.Action.DirectLoad', + alias: 'formaction.directload', + + type: 'directload', + + run: function() { + var me = this, + form = me.form, + fn = form.api.load, + method = fn.directCfg.method, + args = method.getArgs(me.getParams(), form.paramOrder, form.paramsAsHash); + + args.push(me.onComplete, me); + fn.apply(window, args); + }, + + + + + processResponse: function(result) { + return (this.result = result); + }, + + onComplete: function(data, response) { + if (data) { + this.onSuccess(data); + } else { + this.onFailure(null); + } + } +}); + + + + +Ext.define('Ext.form.action.DirectSubmit', { + extend:'Ext.form.action.Submit', + requires: ['Ext.direct.Manager'], + alternateClassName: 'Ext.form.Action.DirectSubmit', + alias: 'formaction.directsubmit', + + type: 'directsubmit', + + doSubmit: function() { + var me = this, + callback = Ext.Function.bind(me.onComplete, me), + formEl = me.buildForm(); + me.form.api.submit(formEl, callback, me); + Ext.removeNode(formEl); + }, + + + + + processResponse: function(result) { + return (this.result = result); + }, + + onComplete: function(data, response){ + if (data) { + this.onSuccess(data); + } else { + this.onFailure(null); + } + } +}); + + +Ext.define('Ext.form.action.StandardSubmit', { + extend:'Ext.form.action.Submit', + alias: 'formaction.standardsubmit', + + + + + doSubmit: function() { + var form = this.buildForm(); + form.submit(); + Ext.removeNode(form); + } + +}); + + +Ext.define('Ext.form.field.Checkbox', { + extend: 'Ext.form.field.Base', + alias: ['widget.checkboxfield', 'widget.checkbox'], + alternateClassName: 'Ext.form.Checkbox', + requires: ['Ext.XTemplate', 'Ext.form.CheckboxManager' ], + + componentLayout: 'field', + + childEls: [ + + 'boxLabelEl' + ], + + + fieldSubTpl: [ + '', + '{beforeBoxLabelTpl}', + '', + '{afterBoxLabelTpl}', + '', + + + + ' tabIndex="{tabIdx}"
', + ' disabled="disabled"', + ' style="{fieldStyle}"', + ' class="{fieldCls} {typeCls}" autocomplete="off" hidefocus="true" />', + '', + '{beforeBoxLabelTpl}', + '', + '{afterBoxLabelTpl}', + '', + { + disableFormats: true, + compiled: true + } + ], + + subTplInsertions: [ + + 'beforeBoxLabelTpl', + + + 'afterBoxLabelTpl', + + + 'beforeBoxLabelTextTpl', + + + 'afterBoxLabelTextTpl', + + + 'boxLabelAttrTpl', + + + 'inputAttrTpl' + ], + + + isCheckbox: true, + + + focusCls: 'form-cb-focus', + + + + + fieldBodyCls: Ext.baseCSSPrefix + 'form-cb-wrap', + + + checked: false, + + + checkedCls: Ext.baseCSSPrefix + 'form-cb-checked', + + + + + boxLabelCls: Ext.baseCSSPrefix + 'form-cb-label', + + + boxLabelAlign: 'after', + + + inputValue: 'on', + + + + + + + + + checkChangeEvents: [], + inputType: 'checkbox', + + + onRe: /^on$/i, + + initComponent: function() { + this.callParent(arguments); + this.getManager().add(this); + }, + + initValue: function() { + var me = this, + checked = !!me.checked; + + + me.originalValue = me.lastValue = checked; + + + me.setValue(checked); + }, + + getElConfig: function() { + var me = this; + + + if (me.isChecked(me.rawValue, me.inputValue)) { + me.addCls(me.checkedCls); + } + return me.callParent(); + }, + + getFieldStyle: function() { + return Ext.isObject(this.fieldStyle) ? Ext.DomHelper.generateStyles(this.fieldStyle) : this.fieldStyle ||''; + }, + + getSubTplData: function() { + var me = this; + return Ext.apply(me.callParent(), { + disabled : me.readOnly || me.disabled, + boxLabel : me.boxLabel, + boxLabelCls : me.boxLabelCls, + boxLabelAlign : me.boxLabelAlign + }); + }, + + initEvents: function() { + var me = this; + me.callParent(); + me.mon(me.inputEl, 'click', me.onBoxClick, me); + }, + + + onBoxClick: function(e) { + var me = this; + if (!me.disabled && !me.readOnly) { + this.setValue(!this.checked); + } + }, + + + getRawValue: function() { + return this.checked; + }, + + + getValue: function() { + return this.checked; + }, + + + getSubmitValue: function() { + var unchecked = this.uncheckedValue, + uncheckedVal = Ext.isDefined(unchecked) ? unchecked : null; + return this.checked ? this.inputValue : uncheckedVal; + }, + + isChecked: function(rawValue, inputValue) { + return (rawValue === true || rawValue === 'true' || rawValue === '1' || rawValue === 1 || + (((Ext.isString(rawValue) || Ext.isNumber(rawValue)) && inputValue) ? rawValue == inputValue : this.onRe.test(rawValue))); + }, + + + setRawValue: function(value) { + var me = this, + inputEl = me.inputEl, + checked = me.isChecked(value, me.inputValue); + + if (inputEl) { + me[checked ? 'addCls' : 'removeCls'](me.checkedCls); + } + + me.checked = me.rawValue = checked; + return checked; + }, + + + setValue: function(checked) { + var me = this, + boxes, i, len, box; + + + + + + if (Ext.isArray(checked)) { + boxes = me.getManager().getByName(me.name, me.getFormId()).items; + len = boxes.length; + + for (i = 0; i < len; ++i) { + box = boxes[i]; + box.setValue(Ext.Array.contains(checked, box.inputValue)); + } + } else { + me.callParent(arguments); + } + + return me; + }, + + + valueToRaw: function(value) { + + return value; + }, + + + onChange: function(newVal, oldVal) { + var me = this, + handler = me.handler; + if (handler) { + handler.call(me.scope || me, me, newVal); + } + me.callParent(arguments); + }, + + resetOriginalValue: function( fromBoxInGroup){ + var me = this, + boxes, + box, + len, + i; + + + if (!fromBoxInGroup) { + boxes = me.getManager().getByName(me.name, me.getFormId()).items; + len = boxes.length; + + for (i = 0; i < len; ++i) { + box = boxes[i]; + if (box !== me) { + boxes[i].resetOriginalValue(true); + } + } + } + me.callParent(); + }, + + + beforeDestroy: function(){ + this.callParent(); + this.getManager().removeAtKey(this.id); + }, + + + getManager: function() { + return Ext.form.CheckboxManager; + }, + + onEnable: function() { + var me = this, + inputEl = me.inputEl; + me.callParent(); + if (inputEl) { + + inputEl.dom.disabled = me.readOnly; + } + }, + + setReadOnly: function(readOnly) { + var me = this, + inputEl = me.inputEl; + if (inputEl) { + + inputEl.dom.disabled = !!readOnly || me.disabled; + } + me.callParent(arguments); + }, + + getFormId: function(){ + var me = this, + form; + + if (!me.formId) { + form = me.up('form'); + if (form) { + me.formId = form.id; + } + } + return me.formId; + } +}); + + +Ext.define('Ext.layout.component.field.Trigger', { + + + + alias: 'layout.triggerfield', + + extend: 'Ext.layout.component.field.Field', + + + + type: 'triggerfield', + + beginLayout: function(ownerContext) { + var me = this, + owner = me.owner, + flags; + + ownerContext.triggerWrap = ownerContext.getEl('triggerWrap'); + + me.callParent(arguments); + + + flags = owner.getTriggerStateFlags(); + if (flags != owner.lastTriggerStateFlags) { + owner.lastTriggerStateFlags = flags; + me.updateEditState(); + } + }, + + beginLayoutFixed: function (ownerContext, width, suffix) { + var me = this, + owner = ownerContext.target, + ieInputWidthAdjustment = me.ieInputWidthAdjustment || 0, + inputWidth = '100%', + triggerWrap = owner.triggerWrap; + + me.callParent(arguments); + + owner.inputCell.setStyle('width', '100%'); + if(ieInputWidthAdjustment) { + + + owner.inputCell.setStyle('padding-right', ieInputWidthAdjustment + 'px'); + if(suffix === 'px') { + if (owner.inputWidth) { + inputWidth = owner.inputWidth - owner.getTriggerWidth(); + } else { + inputWidth = width - ieInputWidthAdjustment - owner.getTriggerWidth(); + } + inputWidth += 'px'; + } + } + owner.inputEl.setStyle('width', inputWidth); + inputWidth = owner.inputWidth; + if (inputWidth) { + triggerWrap.setStyle('width', inputWidth + (ieInputWidthAdjustment) + 'px'); + } else { + triggerWrap.setStyle('width', width + suffix); + } + triggerWrap.setStyle('table-layout', 'fixed'); + }, + + beginLayoutShrinkWrap: function (ownerContext) { + var owner = ownerContext.target, + emptyString = '', + inputWidth = owner.inputWidth, + triggerWrap = owner.triggerWrap, + ieInputWidthAdjustment = this.ieInputWidthAdjustment || 0; + + this.callParent(arguments); + + if (inputWidth) { + triggerWrap.setStyle('width', inputWidth + 'px'); + inputWidth = (inputWidth - owner.getTriggerWidth()) + 'px'; + owner.inputEl.setStyle('width', inputWidth); + owner.inputCell.setStyle('width', inputWidth); + } else { + owner.inputCell.setStyle('width', emptyString); + owner.inputEl.setStyle('width', emptyString); + triggerWrap.setStyle('width', emptyString); + triggerWrap.setStyle('table-layout', 'auto'); + } + }, + + getTextWidth: function () { + var me = this, + owner = me.owner, + inputEl = owner.inputEl, + value; + + + value = (inputEl.dom.value || (owner.hasFocus ? '' : owner.emptyText) || '') + owner.growAppend; + return inputEl.getTextWidth(value); + }, + + measureContentWidth: function (ownerContext) { + var me = this, + owner = me.owner, + width = me.callParent(arguments), + inputContext = ownerContext.inputContext, + calcWidth, max, min; + + if (owner.grow && !ownerContext.state.growHandled) { + calcWidth = me.getTextWidth() + ownerContext.inputContext.getFrameInfo().width; + + max = owner.growMax; + min = Math.min(max, width); + max = Math.max(owner.growMin, max, min); + + + calcWidth = Ext.Number.constrain(calcWidth, owner.growMin, max); + inputContext.setWidth(calcWidth); + ownerContext.state.growHandled = true; + + + inputContext.domBlock(me, 'width'); + width = NaN; + } + return width; + }, + + updateEditState: function() { + var me = this, + owner = me.owner, + inputEl = owner.inputEl, + noeditCls = Ext.baseCSSPrefix + 'trigger-noedit', + displayed, + readOnly; + + if (me.owner.readOnly) { + inputEl.addCls(noeditCls); + readOnly = true; + displayed = false; + } else { + if (me.owner.editable) { + inputEl.removeCls(noeditCls); + readOnly = false; + } else { + inputEl.addCls(noeditCls); + readOnly = true; + } + displayed = !me.owner.hideTrigger; + } + + owner.triggerCell.setDisplayed(displayed); + inputEl.dom.readOnly = readOnly; + } +}); + + +Ext.define('Ext.layout.component.field.ComboBox', { + extend: 'Ext.layout.component.field.Trigger', + alias: 'layout.combobox', + requires: ['Ext.util.TextMetrics'], + + type: 'combobox', + + startingWidth: null, + + getTextWidth: function () { + var me = this, + owner = me.owner, + store = owner.store, + field = owner.displayField, + storeLn = store.data.length, + value = '', + i = 0, n = 0, ln, item, width; + + for (; i < storeLn; i++) { + item = store.getAt(i).data[field]; + ln = item.length; + + if (ln > n) { + n = ln; + value = item; + } + } + + width = Math.max(me.callParent(arguments), owner.inputEl.getTextWidth(value + owner.growAppend)); + + + + if (!me.startingWidth || owner.removingRecords) { + me.startingWidth = width; + + + + if (width < owner.growMin) { + owner.defaultListConfig.minWidth = owner.growMin; + } + + owner.removingRecords = false; + } + + + return (width < me.startingWidth) ? me.startingWidth : width; + } +}); + + +Ext.define('Ext.form.field.Trigger', { + extend:'Ext.form.field.Text', + alias: ['widget.triggerfield', 'widget.trigger'], + requires: ['Ext.DomHelper', 'Ext.util.ClickRepeater', 'Ext.layout.component.field.Trigger'], + alternateClassName: ['Ext.form.TriggerField', 'Ext.form.TwinTriggerField', 'Ext.form.Trigger'], + + childEls: [ + + { name: 'triggerCell', select: '.' + Ext.baseCSSPrefix + 'trigger-cell' }, + { name: 'triggerEl', select: '.' + Ext.baseCSSPrefix + 'form-trigger' }, + + + 'triggerWrap', + + + 'inputCell' + ], + + + + + triggerBaseCls: Ext.baseCSSPrefix + 'form-trigger', + + + triggerWrapCls: Ext.baseCSSPrefix + 'form-trigger-wrap', + + + triggerNoEditCls: Ext.baseCSSPrefix + 'trigger-noedit', + + + hideTrigger: false, + + + editable: true, + + + readOnly: false, + + + + + repeatTriggerClick: false, + + + + autoSize: Ext.emptyFn, + + monitorTab: true, + + mimicing: false, + + triggerIndexRe: /trigger-index-(\d+)/, + + componentLayout: 'triggerfield', + + initComponent: function() { + this.wrapFocusCls = this.triggerWrapCls + '-focus'; + this.callParent(arguments); + }, + + getSubTplMarkup: function() { + var me = this, + field = me.callParent(arguments); + + return '' + + '' + + me.getTriggerMarkup() + + '
' + field + '
'; + }, + + getSubTplData: function(){ + var me = this, + data = me.callParent(), + readOnly = me.readOnly === true, + editable = me.editable !== false; + + return Ext.apply(data, { + editableCls: (readOnly || !editable) ? ' ' + me.triggerNoEditCls : '', + readOnly: !editable || readOnly + }); + }, + + getLabelableRenderData: function() { + var me = this, + triggerWrapCls = me.triggerWrapCls, + result = me.callParent(arguments); + + return Ext.applyIf(result, { + triggerWrapCls: triggerWrapCls, + triggerMarkup: me.getTriggerMarkup() + }); + }, + + getTriggerMarkup: function() { + var me = this, + i = 0, + hideTrigger = (me.readOnly || me.hideTrigger), + triggerCls, + triggerBaseCls = me.triggerBaseCls, + triggerConfigs = []; + + + + + + if (!me.trigger1Cls) { + me.trigger1Cls = me.triggerCls; + } + + + for (i = 0; (triggerCls = me['trigger' + (i + 1) + 'Cls']) || i < 1; i++) { + triggerConfigs.push({ + tag: 'td', + valign: 'top', + cls: Ext.baseCSSPrefix + 'trigger-cell', + style: 'width:' + me.triggerWidth + (hideTrigger ? 'px;display:none' : 'px'), + cn: { + cls: [Ext.baseCSSPrefix + 'trigger-index-' + i, triggerBaseCls, triggerCls].join(' '), + role: 'button' + } + }); + } + triggerConfigs[i - 1].cn.cls += ' ' + triggerBaseCls + '-last'; + + return Ext.DomHelper.markup(triggerConfigs); + }, + + disableCheck: function() { + return !this.disabled; + }, + + + beforeRender: function() { + var me = this, + triggerBaseCls = me.triggerBaseCls, + tempEl; + + + if (!me.triggerWidth) { + tempEl = Ext.resetElement.createChild({ + style: 'position: absolute;', + cls: Ext.baseCSSPrefix + 'form-trigger' + }); + Ext.form.field.Trigger.prototype.triggerWidth = tempEl.getWidth(); + tempEl.remove(); + } + + me.callParent(); + + if (triggerBaseCls != Ext.baseCSSPrefix + 'form-trigger') { + + + me.addChildEls({ name: 'triggerEl', select: '.' + triggerBaseCls }); + } + + + me.lastTriggerStateFlags = me.getTriggerStateFlags(); + }, + + onRender: function() { + var me = this; + + me.callParent(arguments); + + me.doc = Ext.getDoc(); + me.initTrigger(); + me.triggerEl.unselectable(); + }, + + + getTriggerWidth: function() { + var me = this, + totalTriggerWidth = 0; + + if (me.triggerWrap && !me.hideTrigger && !me.readOnly) { + totalTriggerWidth = me.triggerEl.getCount() * me.triggerWidth; + } + return totalTriggerWidth; + }, + + setHideTrigger: function(hideTrigger) { + if (hideTrigger != this.hideTrigger) { + this.hideTrigger = hideTrigger; + this.updateLayout(); + } + }, + + + setEditable: function(editable) { + if (editable != this.editable) { + this.editable = editable; + this.updateLayout(); + } + }, + + + setReadOnly: function(readOnly) { + if (readOnly != this.readOnly) { + this.readOnly = readOnly; + this.updateLayout(); + } + }, + + + initTrigger: function() { + var me = this, + triggerWrap = me.triggerWrap, + triggerEl = me.triggerEl, + disableCheck = me.disableCheck, + els, eLen, el, e, idx; + + if (me.repeatTriggerClick) { + me.triggerRepeater = new Ext.util.ClickRepeater(triggerWrap, { + preventDefault: true, + handler: me.onTriggerWrapClick, + listeners: { + mouseup: me.onTriggerWrapMouseup, + scope: me + }, + scope: me + }); + } else { + me.mon(triggerWrap, { + click: me.onTriggerWrapClick, + mouseup: me.onTriggerWrapMouseup, + scope: me + }); + } + + triggerEl.setVisibilityMode(Ext.Element.DISPLAY); + triggerEl.addClsOnOver(me.triggerBaseCls + '-over', disableCheck, me); + + els = triggerEl.elements; + eLen = els.length; + + for (e = 0; e < eLen; e++) { + el = els[e]; + idx = e+1; + el.addClsOnOver(me['trigger' + (idx) + 'Cls'] + '-over', disableCheck, me); + el.addClsOnClick(me['trigger' + (idx) + 'Cls'] + '-click', disableCheck, me); + } + + triggerEl.addClsOnClick(me.triggerBaseCls + '-click', disableCheck, me); + + }, + + + onDestroy: function() { + var me = this; + Ext.destroyMembers(me, 'triggerRepeater', 'triggerWrap', 'triggerEl'); + delete me.doc; + me.callParent(); + }, + + + onFocus: function() { + var me = this; + me.callParent(arguments); + if (!me.mimicing) { + me.bodyEl.addCls(me.wrapFocusCls); + me.mimicing = true; + me.mon(me.doc, 'mousedown', me.mimicBlur, me, { + delay: 10 + }); + if (me.monitorTab) { + me.on('specialkey', me.checkTab, me); + } + } + }, + + + checkTab: function(me, e) { + if (!this.ignoreMonitorTab && e.getKey() == e.TAB) { + this.triggerBlur(); + } + }, + + + getTriggerStateFlags: function () { + var me = this, + state = 0; + + if (me.readOnly) { + state += 1; + } + if (me.editable) { + state += 2; + } + if (me.hideTrigger) { + state += 4; + } + return state; + }, + + + onBlur: Ext.emptyFn, + + + mimicBlur: function(e) { + if (!this.isDestroyed && !this.bodyEl.contains(e.target) && this.validateBlur(e)) { + this.triggerBlur(e); + } + }, + + + triggerBlur: function(e) { + var me = this; + me.mimicing = false; + me.mun(me.doc, 'mousedown', me.mimicBlur, me); + if (me.monitorTab && me.inputEl) { + me.un('specialkey', me.checkTab, me); + } + Ext.form.field.Trigger.superclass.onBlur.call(me, e); + if (me.bodyEl) { + me.bodyEl.removeCls(me.wrapFocusCls); + } + }, + + + + validateBlur: function(e) { + return true; + }, + + + + + onTriggerWrapClick: function() { + var me = this, + targetEl, match, + triggerClickMethod, + event; + + event = arguments[me.triggerRepeater ? 1 : 0]; + if (event && !me.readOnly && !me.disabled) { + targetEl = event.getTarget('.' + me.triggerBaseCls, null); + match = targetEl && targetEl.className.match(me.triggerIndexRe); + + if (match) { + triggerClickMethod = me['onTrigger' + (parseInt(match[1], 10) + 1) + 'Click'] || me.onTriggerClick; + if (triggerClickMethod) { + triggerClickMethod.call(me, event); + } + } + } + }, + + + + + onTriggerWrapMouseup: Ext.emptyFn, + + + onTriggerClick: Ext.emptyFn + + + + +}); + + +Ext.define('Ext.form.field.Picker', { + extend: 'Ext.form.field.Trigger', + alias: 'widget.pickerfield', + alternateClassName: 'Ext.form.Picker', + requires: ['Ext.util.KeyNav'], + + + matchFieldWidth: true, + + + pickerAlign: 'tl-bl?', + + + + + openCls: Ext.baseCSSPrefix + 'pickerfield-open', + + + + + editable: true, + + + initComponent: function() { + this.callParent(); + + + this.addEvents( + + 'expand', + + 'collapse', + + 'select' + ); + }, + + + initEvents: function() { + var me = this; + me.callParent(); + + + me.keyNav = new Ext.util.KeyNav(me.inputEl, { + down: me.onDownArrow, + esc: { + handler: me.onEsc, + scope: me, + defaultEventAction: false + }, + scope: me, + forceKeyDown: true + }); + + + if (!me.editable) { + me.mon(me.inputEl, 'click', me.onTriggerClick, me); + } + + + if (Ext.isGecko) { + me.inputEl.dom.setAttribute('autocomplete', 'off'); + } + }, + + + onEsc: function(e) { + var me = this; + if (me.isExpanded) { + me.collapse(); + e.stopEvent(); + } else { + + + if (me.up('window')) { + me.blur(); + } + + else if ((!Ext.FocusManager || !Ext.FocusManager.enabled)) { + e.stopEvent(); + } + } + }, + + onDownArrow: function(e) { + if (!this.isExpanded) { + + + this.onTriggerClick(); + } + }, + + + expand: function() { + var me = this, + bodyEl, picker, collapseIf; + + if (me.rendered && !me.isExpanded && !me.isDestroyed) { + bodyEl = me.bodyEl; + picker = me.getPicker(); + collapseIf = me.collapseIf; + + + picker.show(); + me.isExpanded = true; + me.alignPicker(); + bodyEl.addCls(me.openCls); + + + me.mon(Ext.getDoc(), { + mousewheel: collapseIf, + mousedown: collapseIf, + scope: me + }); + Ext.EventManager.onWindowResize(me.alignPicker, me); + me.fireEvent('expand', me); + me.onExpand(); + } + }, + + onExpand: Ext.emptyFn, + + + alignPicker: function() { + var me = this, + picker = me.getPicker(); + + if (me.isExpanded) { + if (me.matchFieldWidth) { + + picker.setWidth(me.bodyEl.getWidth()); + } + if (picker.isFloating()) { + me.doAlign(); + } + } + }, + + + doAlign: function(){ + var me = this, + picker = me.picker, + aboveSfx = '-above', + isAbove; + + me.picker.alignTo(me.inputEl, me.pickerAlign, me.pickerOffset); + + + isAbove = picker.el.getY() < me.inputEl.getY(); + me.bodyEl[isAbove ? 'addCls' : 'removeCls'](me.openCls + aboveSfx); + picker[isAbove ? 'addCls' : 'removeCls'](picker.baseCls + aboveSfx); + }, + + + collapse: function() { + if (this.isExpanded && !this.isDestroyed) { + var me = this, + openCls = me.openCls, + picker = me.picker, + doc = Ext.getDoc(), + collapseIf = me.collapseIf, + aboveSfx = '-above'; + + + picker.hide(); + me.isExpanded = false; + + + me.bodyEl.removeCls([openCls, openCls + aboveSfx]); + picker.el.removeCls(picker.baseCls + aboveSfx); + + + doc.un('mousewheel', collapseIf, me); + doc.un('mousedown', collapseIf, me); + Ext.EventManager.removeResizeListener(me.alignPicker, me); + me.fireEvent('collapse', me); + me.onCollapse(); + } + }, + + onCollapse: Ext.emptyFn, + + + + collapseIf: function(e) { + var me = this; + + if (!me.isDestroyed && !e.within(me.bodyEl, false, true) && !e.within(me.picker.el, false, true) && !me.isEventWithinPickerLoadMask(e)) { + me.collapse(); + } + }, + + + getPicker: function() { + var me = this; + return me.picker || (me.picker = me.createPicker()); + }, + + + createPicker: Ext.emptyFn, + + + onTriggerClick: function() { + var me = this; + if (!me.readOnly && !me.disabled) { + if (me.isExpanded) { + me.collapse(); + } else { + me.expand(); + } + me.inputEl.focus(); + } + }, + + mimicBlur: function(e) { + var me = this, + picker = me.picker; + + if (!picker || !e.within(picker.el, false, true) && !me.isEventWithinPickerLoadMask(e)) { + me.callParent(arguments); + } + }, + + onDestroy : function(){ + var me = this, + picker = me.picker; + + Ext.EventManager.removeResizeListener(me.alignPicker, me); + Ext.destroy(me.keyNav); + if (picker) { + delete picker.pickerField; + picker.destroy(); + } + me.callParent(); + }, + + + isEventWithinPickerLoadMask: function(e) { + var loadMask = this.picker.loadMask; + + return loadMask ? e.within(loadMask.maskEl, false, true) || e.within(loadMask.el, false, true) : false; + } + +}); + + + +Ext.define('Ext.layout.component.BoundList', { + extend: 'Ext.layout.component.Auto', + alias: 'layout.boundlist', + + type: 'component', + + beginLayout: function(ownerContext) { + var me = this, + owner = me.owner, + toolbar = owner.pagingToolbar; + + me.callParent(arguments); + + if (owner.floating) { + ownerContext.savedXY = owner.el.getXY(); + + owner.el.setXY([-9999, -9999]); + } + + if (toolbar) { + ownerContext.toolbarContext = ownerContext.context.getCmp(toolbar); + } + ownerContext.listContext = ownerContext.getEl('listEl'); + }, + + beginLayoutCycle: function(ownerContext){ + var owner = this.owner; + + this.callParent(arguments); + if (ownerContext.heightModel.auto) { + + + + owner.el.setHeight('auto'); + owner.listEl.setHeight('auto'); + } + }, + + getLayoutItems: function() { + var toolbar = this.owner.pagingToolbar; + return toolbar ? [toolbar] : []; + }, + + isValidParent: function() { + + + return true; + }, + + finishedLayout: function(ownerContext) { + var xy = ownerContext.savedXY; + + this.callParent(arguments); + if (xy) { + this.owner.el.setXY(xy); + } + }, + + measureContentWidth: function(ownerContext) { + return this.owner.listEl.getWidth(); + }, + + measureContentHeight: function(ownerContext) { + return this.owner.listEl.getHeight(); + }, + + publishInnerHeight: function(ownerContext, height) { + var toolbar = ownerContext.toolbarContext, + toolbarHeight = 0; + + if (toolbar) { + toolbarHeight = toolbar.getProp('height'); + } + + if (toolbarHeight === undefined) { + this.done = false; + } else { + ownerContext.listContext.setHeight(height - ownerContext.getFrameInfo().height - toolbarHeight); + } + }, + + calculateOwnerHeightFromContentHeight: function(ownerContext){ + var height = this.callParent(arguments), + toolbar = ownerContext.toolbarContext; + + if (toolbar) { + height += toolbar.getProp('height'); + } + return height; + } +}); + + +Ext.define('Ext.selection.Model', { + extend: 'Ext.util.Observable', + alternateClassName: 'Ext.AbstractSelectionModel', + requires: ['Ext.data.StoreManager'], + mixins: { + bindable: 'Ext.util.Bindable' + }, + + + + + + allowDeselect: false, + + + selected: null, + + + pruneRemoved: true, + + constructor: function(cfg) { + var me = this; + + cfg = cfg || {}; + Ext.apply(me, cfg); + + me.addEvents( + + 'selectionchange', + + 'focuschange' + ); + + me.modes = { + SINGLE: true, + SIMPLE: true, + MULTI: true + }; + + + me.setSelectionMode(cfg.mode || me.mode); + + + me.selected = new Ext.util.MixedCollection(); + + me.callParent(arguments); + }, + + + bindStore: function(store, initial){ + var me = this; + me.mixins.bindable.bindStore.apply(me, arguments); + if(me.store && !initial) { + me.refresh(); + } + }, + + getStoreListeners: function() { + var me = this; + return { + add: me.onStoreAdd, + clear: me.onStoreClear, + remove: me.onStoreRemove, + update: me.onStoreUpdate + }; + }, + + + selectAll: function(suppressEvent) { + var me = this, + selections = me.store.getRange(), + i = 0, + len = selections.length, + start = me.getSelection().length; + + me.bulkChange = true; + for (; i < len; i++) { + me.doSelect(selections[i], true, suppressEvent); + } + delete me.bulkChange; + + me.maybeFireSelectionChange(me.getSelection().length !== start); + }, + + + deselectAll: function(suppressEvent) { + var me = this, + selections = me.getSelection(), + i = 0, + len = selections.length, + start = me.getSelection().length; + + me.bulkChange = true; + for (; i < len; i++) { + me.doDeselect(selections[i], suppressEvent); + } + delete me.bulkChange; + + me.maybeFireSelectionChange(me.getSelection().length !== start); + }, + + + + + selectWithEvent: function(record, e, keepExisting) { + var me = this; + + switch (me.selectionMode) { + case 'MULTI': + if (e.ctrlKey && me.isSelected(record)) { + me.doDeselect(record, false); + } else if (e.shiftKey && me.lastFocused) { + me.selectRange(me.lastFocused, record, e.ctrlKey); + } else if (e.ctrlKey) { + me.doSelect(record, true, false); + } else if (me.isSelected(record) && !e.shiftKey && !e.ctrlKey && me.selected.getCount() > 1) { + me.doSelect(record, keepExisting, false); + } else { + me.doSelect(record, false); + } + break; + case 'SIMPLE': + if (me.isSelected(record)) { + me.doDeselect(record); + } else { + me.doSelect(record, true); + } + break; + case 'SINGLE': + + if (me.allowDeselect && me.isSelected(record)) { + me.doDeselect(record); + + } else { + me.doSelect(record, false); + } + break; + } + }, + + + selectRange : function(startRow, endRow, keepExisting, dir){ + var me = this, + store = me.store, + selectedCount = 0, + i, + tmp, + dontDeselect, + records = []; + + if (me.isLocked()){ + return; + } + + if (!keepExisting) { + me.deselectAll(true); + } + + if (!Ext.isNumber(startRow)) { + startRow = store.indexOf(startRow); + } + if (!Ext.isNumber(endRow)) { + endRow = store.indexOf(endRow); + } + + + if (startRow > endRow){ + tmp = endRow; + endRow = startRow; + startRow = tmp; + } + + for (i = startRow; i <= endRow; i++) { + if (me.isSelected(store.getAt(i))) { + selectedCount++; + } + } + + if (!dir) { + dontDeselect = -1; + } else { + dontDeselect = (dir == 'up') ? startRow : endRow; + } + + for (i = startRow; i <= endRow; i++){ + if (selectedCount == (endRow - startRow + 1)) { + if (i != dontDeselect) { + me.doDeselect(i, true); + } + } else { + records.push(store.getAt(i)); + } + } + me.doMultiSelect(records, true); + }, + + + select: function(records, keepExisting, suppressEvent) { + + if (Ext.isDefined(records)) { + this.doSelect(records, keepExisting, suppressEvent); + } + }, + + + deselect: function(records, suppressEvent) { + this.doDeselect(records, suppressEvent); + }, + + doSelect: function(records, keepExisting, suppressEvent) { + var me = this, + record; + + if (me.locked || !me.store) { + return; + } + if (typeof records === "number") { + records = [me.store.getAt(records)]; + } + if (me.selectionMode == "SINGLE" && records) { + record = records.length ? records[0] : records; + me.doSingleSelect(record, suppressEvent); + } else { + me.doMultiSelect(records, keepExisting, suppressEvent); + } + }, + + doMultiSelect: function(records, keepExisting, suppressEvent) { + var me = this, + selected = me.selected, + change = false, + i = 0, + len, record; + + if (me.locked) { + return; + } + + + records = !Ext.isArray(records) ? [records] : records; + len = records.length; + if (!keepExisting && selected.getCount() > 0) { + if (me.doDeselect(me.getSelection(), suppressEvent) === false) { + return; + } + + } + + function commit () { + selected.add(record); + change = true; + } + + for (; i < len; i++) { + record = records[i]; + if (keepExisting && me.isSelected(record)) { + continue; + } + me.lastSelected = record; + + me.onSelectChange(record, true, suppressEvent, commit); + } + if (!me.preventFocus) { + me.setLastFocused(record, suppressEvent); + } + + me.maybeFireSelectionChange(change && !suppressEvent); + }, + + + doDeselect: function(records, suppressEvent) { + var me = this, + selected = me.selected, + i = 0, + len, record, + attempted = 0, + accepted = 0; + + if (me.locked || !me.store) { + return false; + } + + if (typeof records === "number") { + records = [me.store.getAt(records)]; + } else if (!Ext.isArray(records)) { + records = [records]; + } + + function commit () { + ++accepted; + selected.remove(record); + } + + len = records.length; + + for (; i < len; i++) { + record = records[i]; + if (me.isSelected(record)) { + if (me.lastSelected == record) { + me.lastSelected = selected.last(); + } + ++attempted; + me.onSelectChange(record, false, suppressEvent, commit); + } + } + + + me.maybeFireSelectionChange(accepted > 0 && !suppressEvent); + return accepted === attempted; + }, + + doSingleSelect: function(record, suppressEvent) { + var me = this, + changed = false, + selected = me.selected; + + if (me.locked) { + return; + } + + + if (me.isSelected(record)) { + return; + } + + function commit () { + me.bulkChange = true; + if (selected.getCount() > 0 && me.doDeselect(me.lastSelected, suppressEvent) === false) { + delete me.bulkChange; + return false; + } + delete me.bulkChange; + + selected.add(record); + me.lastSelected = record; + changed = true; + } + + me.onSelectChange(record, true, suppressEvent, commit); + + if (changed) { + if (!suppressEvent) { + me.setLastFocused(record); + } + me.maybeFireSelectionChange(!suppressEvent); + } + }, + + + setLastFocused: function(record, supressFocus) { + var me = this, + recordBeforeLast = me.lastFocused; + + me.lastFocused = record; + + + if (record !== recordBeforeLast) { + me.onLastFocusChanged(recordBeforeLast, record, supressFocus); + } + }, + + + isFocused: function(record) { + return record === this.getLastFocused(); + }, + + + + + maybeFireSelectionChange: function(fireEvent) { + var me = this; + if (fireEvent && !me.bulkChange) { + me.fireEvent('selectionchange', me, me.getSelection()); + } + }, + + + getLastSelected: function() { + return this.lastSelected; + }, + + getLastFocused: function() { + return this.lastFocused; + }, + + + getSelection: function() { + return this.selected.getRange(); + }, + + + getSelectionMode: function() { + return this.selectionMode; + }, + + + setSelectionMode: function(selMode) { + selMode = selMode ? selMode.toUpperCase() : 'SINGLE'; + + + this.selectionMode = this.modes[selMode] ? selMode : 'SINGLE'; + }, + + + isLocked: function() { + return this.locked; + }, + + + setLocked: function(locked) { + this.locked = !!locked; + }, + + + isSelected: function(record) { + record = Ext.isNumber(record) ? this.store.getAt(record) : record; + return this.selected.indexOf(record) !== -1; + }, + + + hasSelection: function() { + return this.selected.getCount() > 0; + }, + + refresh: function() { + var me = this, + store = me.store, + toBeSelected = [], + oldSelections = me.getSelection(), + len = oldSelections.length, + selection, + change, + i = 0, + lastFocused = me.getLastFocused(); + + + if (!store) { + return; + } + + + + + for (; i < len; i++) { + selection = oldSelections[i]; + if (!me.pruneRemoved || store.indexOf(selection) !== -1) { + toBeSelected.push(selection); + } + } + + + + if (me.selected.getCount() != toBeSelected.length) { + change = true; + } + + me.clearSelections(); + + if (store.indexOf(lastFocused) !== -1) { + + me.setLastFocused(lastFocused, true); + } + + if (toBeSelected.length) { + + me.doSelect(toBeSelected, false, true); + } + + me.maybeFireSelectionChange(change); + }, + + + clearSelections: function() { + + this.selected.clear(); + this.lastSelected = null; + this.setLastFocused(null); + }, + + + onStoreAdd: Ext.emptyFn, + + + + onStoreClear: function() { + if (this.selected.getCount > 0) { + this.clearSelections(); + this.maybeFireSelectionChange(true); + } + }, + + + + + onStoreRemove: function(store, record, index) { + var me = this, + selected = me.selected; + + if (me.locked || !me.pruneRemoved) { + return; + } + + if (selected.remove(record)) { + if (me.lastSelected == record) { + me.lastSelected = null; + } + if (me.getLastFocused() == record) { + me.setLastFocused(null); + } + me.maybeFireSelectionChange(true); + } + }, + + + getCount: function() { + return this.selected.getCount(); + }, + + + destroy: Ext.emptyFn, + + + onStoreUpdate: Ext.emptyFn, + + + onStoreLoad: Ext.emptyFn, + + + onSelectChange: Ext.emptyFn, + + + onLastFocusChanged: function(oldFocused, newFocused) { + this.fireEvent('focuschange', this, oldFocused, newFocused); + }, + + + onEditorKey: Ext.emptyFn, + + + bindComponent: Ext.emptyFn, + + + beforeViewRender: Ext.emptyFn + +}); + + +Ext.define('Ext.selection.DataViewModel', { + extend: 'Ext.selection.Model', + + requires: ['Ext.util.KeyNav'], + + deselectOnContainerClick: true, + + + enableKeyNav: true, + + constructor: function(cfg){ + this.addEvents( + + 'beforedeselect', + + + 'beforeselect', + + + 'deselect', + + + 'select' + ); + this.callParent(arguments); + }, + + bindComponent: function(view) { + var me = this, + eventListeners = { + refresh: me.refresh, + scope: me + }; + + me.view = view; + me.bindStore(view.getStore()); + + eventListeners[view.triggerEvent] = me.onItemClick; + eventListeners[view.triggerCtEvent] = me.onContainerClick; + + view.on(eventListeners); + + if (me.enableKeyNav) { + me.initKeyNav(view); + } + }, + + onItemClick: function(view, record, item, index, e) { + this.selectWithEvent(record, e); + }, + + onContainerClick: function() { + if (this.deselectOnContainerClick) { + this.deselectAll(); + } + }, + + initKeyNav: function(view) { + var me = this; + + if (!view.rendered) { + view.on({ + render: Ext.Function.bind(me.initKeyNav, me, [view]), + single: true + }); + return; + } + + view.el.set({ + tabIndex: -1 + }); + me.keyNav = new Ext.util.KeyNav({ + target: view.el, + ignoreInputFields: true, + down: Ext.pass(me.onNavKey, [1], me), + right: Ext.pass(me.onNavKey, [1], me), + left: Ext.pass(me.onNavKey, [-1], me), + up: Ext.pass(me.onNavKey, [-1], me), + scope: me + }); + }, + + onNavKey: function(step) { + step = step || 1; + var me = this, + view = me.view, + selected = me.getSelection()[0], + numRecords = me.view.store.getCount(), + idx; + + if (selected) { + idx = view.indexOf(view.getNode(selected)) + step; + } else { + idx = 0; + } + + if (idx < 0) { + idx = numRecords - 1; + } else if (idx >= numRecords) { + idx = 0; + } + + me.select(idx); + }, + + + onSelectChange: function(record, isSelected, suppressEvent, commitFn) { + var me = this, + view = me.view, + eventName = isSelected ? 'select' : 'deselect'; + + if ((suppressEvent || me.fireEvent('before' + eventName, me, record)) !== false && + commitFn() !== false) { + + if (view) { + if (isSelected) { + view.onItemSelect(record); + } else { + view.onItemDeselect(record); + } + } + + if (!suppressEvent) { + me.fireEvent(eventName, me, record); + } + } + }, + + destroy: function(){ + Ext.destroy(this.keyNav); + this.callParent(); + } +}); + + +Ext.define('Ext.view.AbstractView', { + extend: 'Ext.Component', + requires: [ + 'Ext.LoadMask', + 'Ext.data.StoreManager', + 'Ext.CompositeElementLite', + 'Ext.DomQuery', + 'Ext.selection.DataViewModel' + ], + mixins: { + bindable: 'Ext.util.Bindable' + }, + + inheritableStatics: { + getRecord: function(node) { + return this.getBoundView(node).getRecord(node); + }, + + getBoundView: function(node) { + return Ext.getCmp(node.boundView); + } + }, + + + + + + deferInitialRefresh: true, + + + + + itemCls: Ext.baseCSSPrefix + 'dataview-item', + + + + + + + + loadingText: 'Loading...', + + + + loadMask: true, + + + + + loadingUseMsg: true, + + + + + + selectedItemCls: Ext.baseCSSPrefix + 'item-selected', + + + + emptyText: "", + + + + deferEmptyText: true, + + + trackOver: false, + + + blockRefresh: false, + + + + + preserveScrollOnRefresh: false, + + + last: false, + + triggerEvent: 'itemclick', + triggerCtEvent: 'containerclick', + + addCmpEvents: function() { + + }, + + + initComponent : function(){ + var me = this, + isDef = Ext.isDefined, + itemTpl = me.itemTpl, + memberFn = {}; + + if (itemTpl) { + if (Ext.isArray(itemTpl)) { + + itemTpl = itemTpl.join(''); + } else if (Ext.isObject(itemTpl)) { + + memberFn = Ext.apply(memberFn, itemTpl.initialConfig); + itemTpl = itemTpl.html; + } + + if (!me.itemSelector) { + me.itemSelector = '.' + me.itemCls; + } + + itemTpl = Ext.String.format('
{1}
', me.itemCls, itemTpl); + me.tpl = new Ext.XTemplate(itemTpl, memberFn); + } + + + me.callParent(); + if(Ext.isString(me.tpl) || Ext.isArray(me.tpl)){ + me.tpl = new Ext.XTemplate(me.tpl); + } + + + me.addEvents( + + 'beforerefresh', + + 'refresh', + + 'viewready', + + 'itemupdate', + + 'itemadd', + + 'itemremove' + ); + + me.addCmpEvents(); + + + me.store = Ext.data.StoreManager.lookup(me.store || 'ext-empty-store'); + me.bindStore(me.store, true); + me.all = new Ext.CompositeElementLite(); + + + me.scrollState = { + top: 0, + left: 0 + }; + me.on({ + scroll: me.onViewScroll, + element: 'el', + scope: me + }); + }, + + onRender: function() { + var me = this, + mask = me.loadMask, + cfg = { + msg: me.loadingText, + msgCls: me.loadingCls, + useMsg: me.loadingUseMsg, + + + store: me.getMaskStore() + }; + + me.callParent(arguments); + + if (mask) { + + if (Ext.isObject(mask)) { + cfg = Ext.apply(cfg, mask); + } + + + + + me.loadMask = new Ext.LoadMask(me, cfg); + me.loadMask.on({ + scope: me, + beforeshow: me.onMaskBeforeShow, + hide: me.onMaskHide + }); + } + }, + + finishRender: function(){ + var me = this; + me.callParent(arguments); + + + if (!me.up('[collapsed],[hidden]')) { + me.doFirstRefresh(me.store); + } + }, + + onBoxReady: function() { + var me = this; + + me.callParent(arguments); + + + + if (!me.firstRefreshDone) { + me.doFirstRefresh(me.store); + } + }, + + getMaskStore: function(){ + return this.store; + }, + + onMaskBeforeShow: function(){ + var me = this, + loadingHeight = me.loadingHeight; + + me.getSelectionModel().deselectAll(); + me.all.clear(); + if (loadingHeight && loadingHeight > me.getHeight()) { + me.hasLoadingHeight = true; + me.oldMinHeight = me.minHeight; + me.minHeight = loadingHeight; + me.updateLayout(); + } + }, + + onMaskHide: function(){ + var me = this; + + if (!me.destroying && me.hasLoadingHeight) { + me.minHeight = me.oldMinHeight; + me.updateLayout(); + delete me.hasLoadingHeight; + } + }, + + beforeRender: function() { + this.callParent(arguments); + this.getSelectionModel().beforeViewRender(this); + }, + + afterRender: function() { + this.callParent(arguments); + + + + + this.getSelectionModel().bindComponent(this); + }, + + + getSelectionModel: function(){ + var me = this, + mode = 'SINGLE'; + + if (!me.selModel) { + me.selModel = {}; + } + + if (me.simpleSelect) { + mode = 'SIMPLE'; + } else if (me.multiSelect) { + mode = 'MULTI'; + } + + Ext.applyIf(me.selModel, { + allowDeselect: me.allowDeselect, + mode: mode + }); + + if (!me.selModel.events) { + me.selModel = new Ext.selection.DataViewModel(me.selModel); + } + + if (!me.selModel.hasRelaySetup) { + me.relayEvents(me.selModel, [ + 'selectionchange', 'beforeselect', 'beforedeselect', 'select', 'deselect', 'focuschange' + ]); + me.selModel.hasRelaySetup = true; + } + + + + if (me.disableSelection) { + me.selModel.locked = true; + } + + return me.selModel; + }, + + + refresh: function() { + var me = this, + targetEl, + targetParent, + oldDisplay, + nextSibling, + dom, + records; + + if (!me.rendered || me.isDestroyed) { + return; + } + + if (!me.hasListeners.beforerefresh || me.fireEvent('beforerefresh', me) !== false) { + targetEl = me.getTargetEl(); + records = me.store.getRange(); + dom = targetEl.dom; + + + + if (!me.preserveScrollOnRefresh) { + targetParent = dom.parentNode; + oldDisplay = dom.style.display; + dom.style.display = 'none'; + nextSibling = dom.nextSibling; + targetParent.removeChild(dom); + } + + if (me.refreshCounter) { + me.clearViewEl(); + } else { + me.fixedNodes = targetEl.dom.childNodes.length; + me.refreshCounter = 1; + } + + + + + + me.tpl.append(targetEl, me.collectData(records, 0)); + + + + if (records.length < 1) { + if (!me.deferEmptyText || me.hasSkippedEmptyText) { + Ext.core.DomHelper.insertHtml('beforeEnd', targetEl.dom, me.emptyText); + } + me.all.clear(); + } else { + me.all.fill(Ext.query(me.getItemSelector(), targetEl.dom)); + me.updateIndexes(0); + } + + me.selModel.refresh(); + me.hasSkippedEmptyText = true; + + if (!me.preserveScrollOnRefresh) { + targetParent.insertBefore(dom, nextSibling); + dom.style.display = oldDisplay; + } + + + this.refreshSize(); + + me.fireEvent('refresh', me); + + + + if (!me.viewReady) { + + + me.viewReady = true; + me.fireEvent('viewready', me); + } + } + }, + + + refreshSize: function() { + var sizeModel = this.getSizeModel(); + if (sizeModel.height.shrinkWrap || sizeModel.width.shrinkWrap) { + this.updateLayout(); + } + }, + + clearViewEl: function(){ + + + + + + + + + var me = this, + el = me.getTargetEl(); + + if (me.fixedNodes) { + while (el.dom.childNodes[me.fixedNodes]) { + el.dom.removeChild(el.dom.childNodes[me.fixedNodes]); + } + } else { + el.update(''); + } + me.refreshCounter++; + }, + + + onViewScroll: Ext.emptyFn, + + + saveScrollState: function() { + if (this.rendered) { + var dom = this.el.dom, + state = this.scrollState; + + state.left = dom.scrollLeft; + state.top = dom.scrollTop; + } + }, + + + restoreScrollState: function() { + if (this.rendered) { + var dom = this.el.dom, + state = this.scrollState; + + dom.scrollLeft = state.left; + dom.scrollTop = state.top; + } + }, + + + prepareData: function(data, index, record) { + var associatedData, attr; + if (record) { + associatedData = record.getAssociatedData(); + for (attr in associatedData) { + if (associatedData.hasOwnProperty(attr)) { + data[attr] = associatedData[attr]; + } + } + } + return data; + }, + + + collectData : function(records, startIndex){ + var data = [], + i = 0, + len = records.length, + record; + + for (; i < len; i++) { + record = records[i]; + data[i] = this.prepareData(record.data, startIndex + i, record); + } + return data; + }, + + + bufferRender : function(records, index){ + var me = this, + div = me.renderBuffer || (me.renderBuffer = document.createElement('div')); + + me.tpl.overwrite(div, me.collectData(records, index)); + return Ext.query(me.getItemSelector(), div); + }, + + + onUpdate : function(ds, record){ + var me = this, + index, + node; + + if (me.viewReady) { + index = me.store.indexOf(record); + if (index > -1) { + node = me.bufferRender([record], index)[0]; + + if (me.getNode(record)) { + me.all.replaceElement(index, node, true); + me.updateIndexes(index, index); + + + me.selModel.refresh(); + if (me.hasListeners.itemupdate) { + me.fireEvent('itemupdate', record, index, node); + } + return node; + } + } + } + + }, + + + onAdd : function(ds, records, index) { + var me = this, + nodes; + + if (me.rendered) { + + + if (me.all.getCount() === 0) { + me.refresh(); + return; + } + + nodes = me.bufferRender(records, index); + me.doAdd(nodes, records, index); + + me.selModel.refresh(); + me.updateIndexes(index); + + + me.refreshSize(); + + if (me.hasListeners.itemadd) { + me.fireEvent('itemadd', records, index, nodes); + } + } + + }, + + doAdd: function(nodes, records, index) { + var all = this.all, + count = all.getCount(); + + if (count === 0) { + this.clearViewEl(); + this.getTargetEl().appendChild(nodes); + } else if (index < count) { + if (index === 0) { + all.item(index).insertSibling(nodes, 'before', true); + } else { + all.item(index - 1).insertSibling(nodes, 'after', true); + } + } else { + all.last().insertSibling(nodes, 'after', true); + } + + Ext.Array.insert(all.elements, index, nodes); + }, + + + onRemove : function(ds, record, index) { + var me = this; + + if (me.all.getCount()) { + if (me.store.getCount() === 0) { + + me.refresh(); + } else { + + + me.doRemove(record, index); + if (me.selModel.refreshOnRemove) { + me.selModel.refresh(); + } + me.updateIndexes(index); + } + + + this.refreshSize(); + + if (me.hasListeners.itemremove) { + me.fireEvent('itemremove', record, index); + } + } + }, + + doRemove: function(record, index) { + this.all.removeElement(index, true); + }, + + + refreshNode : function(index){ + this.onUpdate(this.store, this.store.getAt(index)); + }, + + + updateIndexes : function(startIndex, endIndex) { + var ns = this.all.elements, + records = this.store.getRange(), + i; + + startIndex = startIndex || 0; + endIndex = endIndex || ((endIndex === 0) ? 0 : (ns.length - 1)); + for (i = startIndex; i <= endIndex; i++) { + ns[i].viewIndex = i; + ns[i].viewRecordId = records[i].internalId; + if (!ns[i].boundView) { + ns[i].boundView = this.id; + } + } + }, + + + getStore : function() { + return this.store; + }, + + + bindStore : function(store, initial) { + var me = this; + me.mixins.bindable.bindStore.apply(me, arguments); + + + + if (!initial) { + me.getSelectionModel().bindStore(me.store); + } + + + + + if (me.componentLayoutCounter) { + me.doFirstRefresh(store); + } + }, + + + doFirstRefresh: function(store) { + var me = this; + + + me.firstRefreshDone = true; + + + + + + + if (store && !store.loading) { + if (me.deferInitialRefresh) { + me.applyFirstRefresh(); + } else { + me.refresh(); + } + } + }, + + applyFirstRefresh: function(){ + var me = this; + if (me.isDestroyed) { + return; + } + + + + + + + + + + if (me.up('[isCollapsingOrExpanding]')) { + Ext.Function.defer(me.applyFirstRefresh, 100, me); + } else { + Ext.Function.defer(function () { + if (!me.isDestroyed) { + me.refresh(); + } + }, 1); + } + }, + + onUnbindStore: function(store) { + this.setMaskBind(null); + }, + + onBindStore: function(store) { + this.setMaskBind(store); + }, + + setMaskBind: function(store) { + var mask = this.loadMask; + if (mask && mask.bindStore) { + mask.bindStore(store); + } + }, + + getStoreListeners: function() { + var me = this; + return { + refresh: me.onDataRefresh, + add: me.onAdd, + remove: me.onRemove, + update: me.onUpdate, + clear: me.refresh + }; + }, + + + onDataRefresh: function() { + var me = this, + + + blockedByAncestor = !me.firstRefreshDone && (!me.rendered || me.up('[collapsed],[isCollapsingOrExpanding],[hidden]')); + + + + + + if (blockedByAncestor) { + me.deferInitialRefresh = false; + } else if (me.blockRefresh !== true) { + me.firstRefreshDone = true; + me.refresh.apply(me, arguments); + } + + }, + + + findItemByChild: function(node){ + return Ext.fly(node).findParent(this.getItemSelector(), this.getTargetEl()); + }, + + + findTargetByEvent: function(e) { + return e.getTarget(this.getItemSelector(), this.getTargetEl()); + }, + + + + getSelectedNodes: function(){ + var nodes = [], + records = this.selModel.getSelection(), + ln = records.length, + i = 0; + + for (; i < ln; i++) { + nodes.push(this.getNode(records[i])); + } + + return nodes; + }, + + + getRecords: function(nodes) { + var records = [], + i = 0, + len = nodes.length, + data = this.store.data; + + for (; i < len; i++) { + records[records.length] = data.getByKey(nodes[i].viewRecordId); + } + + return records; + }, + + + getRecord: function(node){ + return this.store.data.getByKey(Ext.getDom(node).viewRecordId); + }, + + + + isSelected : function(node) { + + var r = this.getRecord(node); + return this.selModel.isSelected(r); + }, + + + select: function(records, keepExisting, suppressEvent) { + this.selModel.select(records, keepExisting, suppressEvent); + }, + + + deselect: function(records, suppressEvent) { + this.selModel.deselect(records, suppressEvent); + }, + + + getNode : function(nodeInfo) { + if ((!nodeInfo && nodeInfo !== 0) || !this.rendered) { + return null; + } + + if (Ext.isString(nodeInfo)) { + return document.getElementById(nodeInfo); + } + if (Ext.isNumber(nodeInfo)) { + return this.all.elements[nodeInfo]; + } + if (nodeInfo.isModel) { + return this.getNodeByRecord(nodeInfo); + } + return nodeInfo; + }, + + + getNodeByRecord: function(record) { + var ns = this.all.elements, + ln = ns.length, + i = 0; + + for (; i < ln; i++) { + if (ns[i].viewRecordId === record.internalId) { + return ns[i]; + } + } + + return null; + }, + + + getNodes: function(start, end) { + var ns = this.all.elements; + + if (end === undefined) { + end = ns.length; + } else { + end++; + } + return this.all.elements.slice(start||0, end); + }, + + + indexOf: function(node) { + node = this.getNode(node); + if (!node && node !== 0) { + return -1; + } + if (Ext.isNumber(node.viewIndex)) { + return node.viewIndex; + } + return this.all.indexOf(node); + }, + + onDestroy : function() { + var me = this; + + me.all.clear(); + me.callParent(); + me.bindStore(null); + me.selModel.destroy(); + }, + + + onItemSelect: function(record) { + var node = this.getNode(record); + + if (node) { + Ext.fly(node).addCls(this.selectedItemCls); + } + }, + + + onItemDeselect: function(record) { + var node = this.getNode(record); + + if (node) { + Ext.fly(node).removeCls(this.selectedItemCls); + } + }, + + getItemSelector: function() { + return this.itemSelector; + } +}, function() { + + + + + Ext.deprecate('extjs', '4.0', function() { + Ext.view.AbstractView.override({ + + + + + + getSelectionCount : function(){ + if (Ext.global.console) { + Ext.global.console.warn("DataView: getSelectionCount will be removed, please interact with the Ext.selection.DataViewModel"); + } + return this.selModel.getSelection().length; + }, + + + getSelectedRecords : function(){ + if (Ext.global.console) { + Ext.global.console.warn("DataView: getSelectedRecords will be removed, please interact with the Ext.selection.DataViewModel"); + } + return this.selModel.getSelection(); + }, + + select: function(records, keepExisting, supressEvents) { + if (Ext.global.console) { + Ext.global.console.warn("DataView: select will be removed, please access select through a DataView's SelectionModel, ie: view.getSelectionModel().select()"); + } + var sm = this.getSelectionModel(); + return sm.select.apply(sm, arguments); + }, + + + clearSelections: function() { + if (Ext.global.console) { + Ext.global.console.warn("DataView: clearSelections will be removed, please access deselectAll through DataView's SelectionModel, ie: view.getSelectionModel().deselectAll()"); + } + var sm = this.getSelectionModel(); + return sm.deselectAll(); + } + }); + }); +}); + + +Ext.define('Ext.view.View', { + extend: 'Ext.view.AbstractView', + alternateClassName: 'Ext.DataView', + alias: 'widget.dataview', + + deferHighlight: (Ext.isIE6 || Ext.isIE7) ? 100 : 0, + + inputTagRe: /^textarea$|^input$/i, + + inheritableStatics: { + EventMap: { + mousedown: 'MouseDown', + mouseup: 'MouseUp', + click: 'Click', + dblclick: 'DblClick', + contextmenu: 'ContextMenu', + mouseover: 'MouseOver', + mouseout: 'MouseOut', + mouseenter: 'MouseEnter', + mouseleave: 'MouseLeave', + keydown: 'KeyDown', + focus: 'Focus' + } + }, + + initComponent: function() { + var me = this; + me.callParent(); + if (me.deferHighlight){ + me.setHighlightedItem = + Ext.Function.createBuffered(me.setHighlightedItem, me.deferHighlight, me); + } + }, + + addCmpEvents: function() { + this.addEvents( + + 'beforeitemmousedown', + + 'beforeitemmouseup', + + 'beforeitemmouseenter', + + 'beforeitemmouseleave', + + 'beforeitemclick', + + 'beforeitemdblclick', + + 'beforeitemcontextmenu', + + 'beforeitemkeydown', + + 'itemmousedown', + + 'itemmouseup', + + 'itemmouseenter', + + 'itemmouseleave', + + 'itemclick', + + 'itemdblclick', + + 'itemcontextmenu', + + 'itemkeydown', + + 'beforecontainermousedown', + + 'beforecontainermouseup', + + 'beforecontainermouseover', + + 'beforecontainermouseout', + + 'beforecontainerclick', + + 'beforecontainerdblclick', + + 'beforecontainercontextmenu', + + 'beforecontainerkeydown', + + 'containermouseup', + + 'containermouseover', + + 'containermouseout', + + 'containerclick', + + 'containerdblclick', + + 'containercontextmenu', + + 'containerkeydown', + + + 'selectionchange', + + 'beforeselect', + + 'beforedeselect', + + 'select', + + 'deselect', + + 'focuschange', + + + 'highlightitem', + + + 'unhighlightitem' + ); + }, + + getFocusEl: function() { + return this.getTargetEl(); + }, + + + afterRender: function(){ + var me = this; + me.callParent(); + me.mon(me.getTargetEl(), { + scope: me, + + freezeEvent: true, + click: me.handleEvent, + mousedown: me.handleEvent, + mouseup: me.handleEvent, + dblclick: me.handleEvent, + contextmenu: me.handleEvent, + mouseover: me.handleEvent, + mouseout: me.handleEvent, + keydown: me.handleEvent + }); + }, + + handleEvent: function(e) { + var me = this, + key = e.type == 'keydown' && e.getKey(); + + if (me.processUIEvent(e) !== false) { + me.processSpecialEvent(e); + } + + + + + if (key === e.SPACE) { + if (!me.inputTagRe.test(e.getTarget().tagName)) { + e.stopEvent(); + } + } + }, + + + processItemEvent: Ext.emptyFn, + processContainerEvent: Ext.emptyFn, + processSpecialEvent: Ext.emptyFn, + + + stillOverItem: function (event, overItem) { + var nowOver; + + + + + + + + if (overItem && typeof(overItem.offsetParent) === "object") { + + + nowOver = (event.type == 'mouseout') ? event.getRelatedTarget() : event.getTarget(); + return Ext.fly(overItem).contains(nowOver); + } + + return false; + }, + + processUIEvent: function(e) { + var me = this, + item = e.getTarget(me.getItemSelector(), me.getTargetEl()), + map = this.statics().EventMap, + index, record, + type = e.type, + overItem = me.mouseOverItem, + newType; + + if (!item) { + if (type == 'mouseover' && me.stillOverItem(e, overItem)) { + item = overItem; + } + + + if (type == 'keydown') { + record = me.getSelectionModel().getLastSelected(); + if (record) { + item = me.getNode(record); + } + } + } + + if (item) { + index = me.indexOf(item); + if (!record) { + record = me.getRecord(item); + } + + + + + if (!record || me.processItemEvent(record, item, index, e) === false) { + return false; + } + + newType = me.isNewItemEvent(item, e); + if (newType === false) { + return false; + } + + if ( + (me['onBeforeItem' + map[newType]](record, item, index, e) === false) || + (me.fireEvent('beforeitem' + newType, me, record, item, index, e) === false) || + (me['onItem' + map[newType]](record, item, index, e) === false) + ) { + return false; + } + + me.fireEvent('item' + newType, me, record, item, index, e); + } + else { + if ( + (me.processContainerEvent(e) === false) || + (me['onBeforeContainer' + map[type]](e) === false) || + (me.fireEvent('beforecontainer' + type, me, e) === false) || + (me['onContainer' + map[type]](e) === false) + ) { + return false; + } + + me.fireEvent('container' + type, me, e); + } + + return true; + }, + + isNewItemEvent: function (item, e) { + var me = this, + overItem = me.mouseOverItem, + type = e.type; + + switch (type) { + case 'mouseover': + if (item === overItem) { + return false; + } + me.mouseOverItem = item; + return 'mouseenter'; + + case 'mouseout': + + if (me.stillOverItem(e, overItem)) { + return false; + } + me.mouseOverItem = null; + return 'mouseleave'; + } + return type; + }, + + + onItemMouseEnter: function(record, item, index, e) { + if (this.trackOver) { + this.highlightItem(item); + } + }, + + + onItemMouseLeave : function(record, item, index, e) { + if (this.trackOver) { + this.clearHighlight(); + } + }, + + + onItemMouseDown: Ext.emptyFn, + onItemMouseUp: Ext.emptyFn, + onItemFocus: Ext.emptyFn, + onItemClick: Ext.emptyFn, + onItemDblClick: Ext.emptyFn, + onItemContextMenu: Ext.emptyFn, + onItemKeyDown: Ext.emptyFn, + onBeforeItemMouseDown: Ext.emptyFn, + onBeforeItemMouseUp: Ext.emptyFn, + onBeforeItemFocus: Ext.emptyFn, + onBeforeItemMouseEnter: Ext.emptyFn, + onBeforeItemMouseLeave: Ext.emptyFn, + onBeforeItemClick: Ext.emptyFn, + onBeforeItemDblClick: Ext.emptyFn, + onBeforeItemContextMenu: Ext.emptyFn, + onBeforeItemKeyDown: Ext.emptyFn, + + + onContainerMouseDown: Ext.emptyFn, + onContainerMouseUp: Ext.emptyFn, + onContainerMouseOver: Ext.emptyFn, + onContainerMouseOut: Ext.emptyFn, + onContainerClick: Ext.emptyFn, + onContainerDblClick: Ext.emptyFn, + onContainerContextMenu: Ext.emptyFn, + onContainerKeyDown: Ext.emptyFn, + onBeforeContainerMouseDown: Ext.emptyFn, + onBeforeContainerMouseUp: Ext.emptyFn, + onBeforeContainerMouseOver: Ext.emptyFn, + onBeforeContainerMouseOut: Ext.emptyFn, + onBeforeContainerClick: Ext.emptyFn, + onBeforeContainerDblClick: Ext.emptyFn, + onBeforeContainerContextMenu: Ext.emptyFn, + onBeforeContainerKeyDown: Ext.emptyFn, + + + setHighlightedItem: function(item){ + var me = this, + highlighted = me.highlightedItem; + + if (highlighted != item){ + if (highlighted) { + Ext.fly(highlighted).removeCls(me.overItemCls); + me.fireEvent('unhighlightitem', me, highlighted); + } + + me.highlightedItem = item; + + if (item) { + + Ext.fly(item).addCls(me.overItemCls); + me.fireEvent('highlightitem', me, item); + } + } + }, + + + highlightItem: function(item) { + this.setHighlightedItem(item); + }, + + + clearHighlight: function() { + this.setHighlightedItem(undefined); + }, + + onUpdate: function(store, record){ + var me = this, + node, + newNode, + highlighted; + + if (me.viewReady) { + node = me.getNode(record); + newNode = me.callParent(arguments); + highlighted = me.highlightedItem; + + if (highlighted && highlighted === node) { + delete me.highlightedItem; + if (newNode) { + me.highlightItem(newNode); + } + } + } + }, + + refresh: function() { + this.clearHighlight(); + this.callParent(arguments); + } +}); + + +Ext.define('Ext.toolbar.TextItem', { + extend: 'Ext.toolbar.Item', + requires: ['Ext.XTemplate'], + alias: 'widget.tbtext', + alternateClassName: 'Ext.Toolbar.TextItem', + + + text: '', + + renderTpl: '{text}', + + baseCls: Ext.baseCSSPrefix + 'toolbar-text', + + beforeRender : function() { + var me = this; + + me.callParent(); + + Ext.apply(me.renderData, { + text: me.text + }); + }, + + + setText : function(text) { + var me = this; + if (me.rendered) { + me.el.update(text); + me.updateLayout(); + } else { + this.text = text; + } + } +}); + + +Ext.define('Ext.form.field.Spinner', { + extend: 'Ext.form.field.Trigger', + alias: 'widget.spinnerfield', + alternateClassName: 'Ext.form.Spinner', + requires: ['Ext.util.KeyNav'], + + trigger1Cls: Ext.baseCSSPrefix + 'form-spinner-up', + trigger2Cls: Ext.baseCSSPrefix + 'form-spinner-down', + + + spinUpEnabled: true, + + + spinDownEnabled: true, + + + keyNavEnabled: true, + + + mouseWheelEnabled: true, + + + repeatTriggerClick: true, + + + onSpinUp: Ext.emptyFn, + + + onSpinDown: Ext.emptyFn, + + triggerTpl: '' + + '
' + + '
' + + '' + + '', + + initComponent: function() { + this.callParent(); + + this.addEvents( + + 'spin', + + + 'spinup', + + + 'spindown' + ); + }, + + + onRender: function() { + var me = this, + triggers; + + me.callParent(arguments); + triggers = me.triggerEl; + + + me.spinUpEl = triggers.item(0); + + me.spinDownEl = triggers.item(1); + + me.triggerCell = me.spinUpEl.parent(); + + + me.setSpinUpEnabled(me.spinUpEnabled); + me.setSpinDownEnabled(me.spinDownEnabled); + + + if (me.keyNavEnabled) { + me.spinnerKeyNav = new Ext.util.KeyNav(me.inputEl, { + scope: me, + up: me.spinUp, + down: me.spinDown + }); + } + + + if (me.mouseWheelEnabled) { + me.mon(me.bodyEl, 'mousewheel', me.onMouseWheel, me); + } + }, + + getSubTplMarkup: function() { + var me = this, + field = Ext.form.field.Base.prototype.getSubTplMarkup.apply(me, arguments); + + return '' + + '' + + '' + + me.getTriggerMarkup() + + '
' + field + '
'; + }, + + getTriggerMarkup: function() { + var me = this, + hideTrigger = (me.readOnly || me.hideTrigger); + + return me.getTpl('triggerTpl').apply({ + triggerStyle: 'width:' + me.triggerWidth + (hideTrigger ? 'px;display:none' : 'px') + }); + }, + + + getTriggerWidth: function() { + var me = this, + totalTriggerWidth = 0; + + if (me.triggerWrap && !me.hideTrigger && !me.readOnly) { + totalTriggerWidth = me.triggerWidth; + } + return totalTriggerWidth; + }, + + + onTrigger1Click: function() { + this.spinUp(); + }, + + + onTrigger2Click: function() { + this.spinDown(); + }, + + + + onTriggerWrapMouseup: function() { + this.inputEl.focus(); + }, + + + spinUp: function() { + var me = this; + if (me.spinUpEnabled && !me.disabled) { + me.fireEvent('spin', me, 'up'); + me.fireEvent('spinup', me); + me.onSpinUp(); + } + }, + + + spinDown: function() { + var me = this; + if (me.spinDownEnabled && !me.disabled) { + me.fireEvent('spin', me, 'down'); + me.fireEvent('spindown', me); + me.onSpinDown(); + } + }, + + + setSpinUpEnabled: function(enabled) { + var me = this, + wasEnabled = me.spinUpEnabled; + me.spinUpEnabled = enabled; + if (wasEnabled !== enabled && me.rendered) { + me.spinUpEl[enabled ? 'removeCls' : 'addCls'](me.trigger1Cls + '-disabled'); + } + }, + + + setSpinDownEnabled: function(enabled) { + var me = this, + wasEnabled = me.spinDownEnabled; + me.spinDownEnabled = enabled; + if (wasEnabled !== enabled && me.rendered) { + me.spinDownEl[enabled ? 'removeCls' : 'addCls'](me.trigger2Cls + '-disabled'); + } + }, + + + onMouseWheel: function(e) { + var me = this, + delta; + if (me.hasFocus) { + delta = e.getWheelDelta(); + if (delta > 0) { + me.spinUp(); + } + else if (delta < 0) { + me.spinDown(); + } + e.stopEvent(); + } + }, + + onDestroy: function() { + Ext.destroyMembers(this, 'spinnerKeyNav', 'spinUpEl', 'spinDownEl'); + this.callParent(); + } + +}); + + +Ext.define('Ext.form.field.Number', { + extend:'Ext.form.field.Spinner', + alias: 'widget.numberfield', + alternateClassName: ['Ext.form.NumberField', 'Ext.form.Number'], + + + + + + allowDecimals : true, + + + + decimalSeparator : '.', + + + + + submitLocaleSeparator: true, + + + + + decimalPrecision : 2, + + + + minValue: Number.NEGATIVE_INFINITY, + + + maxValue: Number.MAX_VALUE, + + + step: 1, + + + + minText : 'The minimum value for this field is {0}', + + + + + maxText : 'The maximum value for this field is {0}', + + + + + nanText : '{0} is not a valid number', + + + + + negativeText : 'The value cannot be negative', + + + + baseChars : '0123456789', + + + autoStripChars: false, + + initComponent: function() { + var me = this, + allowed; + + me.callParent(); + + me.setMinValue(me.minValue); + me.setMaxValue(me.maxValue); + + + if (me.disableKeyFilter !== true) { + allowed = me.baseChars + ''; + if (me.allowDecimals) { + allowed += me.decimalSeparator; + } + if (me.minValue < 0) { + allowed += '-'; + } + allowed = Ext.String.escapeRegex(allowed); + me.maskRe = new RegExp('[' + allowed + ']'); + if (me.autoStripChars) { + me.stripCharsRe = new RegExp('[^' + allowed + ']', 'gi'); + } + } + }, + + + getErrors: function(value) { + var me = this, + errors = me.callParent(arguments), + format = Ext.String.format, + num; + + value = Ext.isDefined(value) ? value : this.processRawValue(this.getRawValue()); + + if (value.length < 1) { + return errors; + } + + value = String(value).replace(me.decimalSeparator, '.'); + + if(isNaN(value)){ + errors.push(format(me.nanText, value)); + } + + num = me.parseValue(value); + + if (me.minValue === 0 && num < 0) { + errors.push(this.negativeText); + } + else if (num < me.minValue) { + errors.push(format(me.minText, me.minValue)); + } + + if (num > me.maxValue) { + errors.push(format(me.maxText, me.maxValue)); + } + + + return errors; + }, + + rawToValue: function(rawValue) { + var value = this.fixPrecision(this.parseValue(rawValue)); + if (value === null) { + value = rawValue || null; + } + return value; + }, + + valueToRaw: function(value) { + var me = this, + decimalSeparator = me.decimalSeparator; + value = me.parseValue(value); + value = me.fixPrecision(value); + value = Ext.isNumber(value) ? value : parseFloat(String(value).replace(decimalSeparator, '.')); + value = isNaN(value) ? '' : String(value).replace('.', decimalSeparator); + return value; + }, + + getSubmitValue: function() { + var me = this, + value = me.callParent(); + + if (!me.submitLocaleSeparator) { + value = value.replace(me.decimalSeparator, '.'); + } + return value; + }, + + onChange: function() { + this.toggleSpinners(); + this.callParent(arguments); + }, + + toggleSpinners: function(){ + var me = this, + value = me.getValue(), + valueIsNull = value === null; + + me.setSpinUpEnabled(valueIsNull || value < me.maxValue); + me.setSpinDownEnabled(valueIsNull || value > me.minValue); + }, + + + setMinValue : function(value) { + this.minValue = Ext.Number.from(value, Number.NEGATIVE_INFINITY); + this.toggleSpinners(); + }, + + + setMaxValue: function(value) { + this.maxValue = Ext.Number.from(value, Number.MAX_VALUE); + this.toggleSpinners(); + }, + + + parseValue : function(value) { + value = parseFloat(String(value).replace(this.decimalSeparator, '.')); + return isNaN(value) ? null : value; + }, + + + fixPrecision : function(value) { + var me = this, + nan = isNaN(value), + precision = me.decimalPrecision; + + if (nan || !value) { + return nan ? '' : value; + } else if (!me.allowDecimals || precision <= 0) { + precision = 0; + } + + return parseFloat(Ext.Number.toFixed(parseFloat(value), precision)); + }, + + beforeBlur : function() { + var me = this, + v = me.parseValue(me.getRawValue()); + + if (!Ext.isEmpty(v)) { + me.setValue(v); + } + }, + + onSpinUp: function() { + var me = this; + if (!me.readOnly) { + me.setValue(Ext.Number.constrain(me.getValue() + me.step, me.minValue, me.maxValue)); + } + }, + + onSpinDown: function() { + var me = this; + if (!me.readOnly) { + me.setValue(Ext.Number.constrain(me.getValue() - me.step, me.minValue, me.maxValue)); + } + } +}); + + +Ext.define('Ext.toolbar.Paging', { + extend: 'Ext.toolbar.Toolbar', + alias: 'widget.pagingtoolbar', + alternateClassName: 'Ext.PagingToolbar', + requires: ['Ext.toolbar.TextItem', 'Ext.form.field.Number'], + mixins: { + bindable: 'Ext.util.Bindable' + }, + + + + displayInfo: false, + + + prependButtons: false, + + + + displayMsg : 'Displaying {0} - {1} of {2}', + + + + + emptyMsg : 'No data to display', + + + + + beforePageText : 'Page', + + + + + afterPageText : 'of {0}', + + + + + firstText : 'First Page', + + + + + prevText : 'Previous Page', + + + + + nextText : 'Next Page', + + + + + lastText : 'Last Page', + + + + + refreshText : 'Refresh', + + + + inputItemWidth : 30, + + + getPagingItems: function() { + var me = this; + + return [{ + itemId: 'first', + tooltip: me.firstText, + overflowText: me.firstText, + iconCls: Ext.baseCSSPrefix + 'tbar-page-first', + disabled: true, + handler: me.moveFirst, + scope: me + },{ + itemId: 'prev', + tooltip: me.prevText, + overflowText: me.prevText, + iconCls: Ext.baseCSSPrefix + 'tbar-page-prev', + disabled: true, + handler: me.movePrevious, + scope: me + }, + '-', + me.beforePageText, + { + xtype: 'numberfield', + itemId: 'inputItem', + name: 'inputItem', + cls: Ext.baseCSSPrefix + 'tbar-page-number', + allowDecimals: false, + minValue: 1, + hideTrigger: true, + enableKeyEvents: true, + keyNavEnabled: false, + selectOnFocus: true, + submitValue: false, + + isFormField: false, + width: me.inputItemWidth, + margins: '-1 2 3 2', + listeners: { + scope: me, + keydown: me.onPagingKeyDown, + blur: me.onPagingBlur + } + },{ + xtype: 'tbtext', + itemId: 'afterTextItem', + text: Ext.String.format(me.afterPageText, 1) + }, + '-', + { + itemId: 'next', + tooltip: me.nextText, + overflowText: me.nextText, + iconCls: Ext.baseCSSPrefix + 'tbar-page-next', + disabled: true, + handler: me.moveNext, + scope: me + },{ + itemId: 'last', + tooltip: me.lastText, + overflowText: me.lastText, + iconCls: Ext.baseCSSPrefix + 'tbar-page-last', + disabled: true, + handler: me.moveLast, + scope: me + }, + '-', + { + itemId: 'refresh', + tooltip: me.refreshText, + overflowText: me.refreshText, + iconCls: Ext.baseCSSPrefix + 'tbar-loading', + handler: me.doRefresh, + scope: me + }]; + }, + + initComponent : function(){ + var me = this, + pagingItems = me.getPagingItems(), + userItems = me.items || me.buttons || []; + + if (me.prependButtons) { + me.items = userItems.concat(pagingItems); + } else { + me.items = pagingItems.concat(userItems); + } + delete me.buttons; + + if (me.displayInfo) { + me.items.push('->'); + me.items.push({xtype: 'tbtext', itemId: 'displayItem'}); + } + + me.callParent(); + + me.addEvents( + + 'change', + + + 'beforechange' + ); + me.on('beforerender', me.onLoad, me, {single: true}); + + me.bindStore(me.store || 'ext-empty-store', true); + }, + + updateInfo : function(){ + var me = this, + displayItem = me.child('#displayItem'), + store = me.store, + pageData = me.getPageData(), + count, msg; + + if (displayItem) { + count = store.getCount(); + if (count === 0) { + msg = me.emptyMsg; + } else { + msg = Ext.String.format( + me.displayMsg, + pageData.fromRecord, + pageData.toRecord, + pageData.total + ); + } + displayItem.setText(msg); + } + }, + + + onLoad : function(){ + var me = this, + pageData, + currPage, + pageCount, + afterText, + count, + isEmpty; + + count = me.store.getCount(); + isEmpty = count === 0; + if (!isEmpty) { + pageData = me.getPageData(); + currPage = pageData.currentPage; + pageCount = pageData.pageCount; + afterText = Ext.String.format(me.afterPageText, isNaN(pageCount) ? 1 : pageCount); + } else { + currPage = 0; + pageCount = 0; + afterText = Ext.String.format(me.afterPageText, 0); + } + + Ext.suspendLayouts(); + me.child('#afterTextItem').setText(afterText); + me.child('#inputItem').setDisabled(isEmpty).setValue(currPage); + me.child('#first').setDisabled(currPage === 1 || isEmpty); + me.child('#prev').setDisabled(currPage === 1 || isEmpty); + me.child('#next').setDisabled(currPage === pageCount || isEmpty); + me.child('#last').setDisabled(currPage === pageCount || isEmpty); + me.child('#refresh').enable(); + me.updateInfo(); + Ext.resumeLayouts(true); + + if (me.rendered) { + me.fireEvent('change', me, pageData); + } + }, + + + getPageData : function(){ + var store = this.store, + totalCount = store.getTotalCount(); + + return { + total : totalCount, + currentPage : store.currentPage, + pageCount: Math.ceil(totalCount / store.pageSize), + fromRecord: ((store.currentPage - 1) * store.pageSize) + 1, + toRecord: Math.min(store.currentPage * store.pageSize, totalCount) + + }; + }, + + + onLoadError : function(){ + if (!this.rendered) { + return; + } + this.child('#refresh').enable(); + }, + + + readPageFromInput : function(pageData){ + var v = this.child('#inputItem').getValue(), + pageNum = parseInt(v, 10); + + if (!v || isNaN(pageNum)) { + this.child('#inputItem').setValue(pageData.currentPage); + return false; + } + return pageNum; + }, + + onPagingFocus : function(){ + this.child('#inputItem').select(); + }, + + + onPagingBlur : function(e){ + var curPage = this.getPageData().currentPage; + this.child('#inputItem').setValue(curPage); + }, + + + onPagingKeyDown : function(field, e){ + var me = this, + k = e.getKey(), + pageData = me.getPageData(), + increment = e.shiftKey ? 10 : 1, + pageNum; + + if (k == e.RETURN) { + e.stopEvent(); + pageNum = me.readPageFromInput(pageData); + if (pageNum !== false) { + pageNum = Math.min(Math.max(1, pageNum), pageData.pageCount); + if(me.fireEvent('beforechange', me, pageNum) !== false){ + me.store.loadPage(pageNum); + } + } + } else if (k == e.HOME || k == e.END) { + e.stopEvent(); + pageNum = k == e.HOME ? 1 : pageData.pageCount; + field.setValue(pageNum); + } else if (k == e.UP || k == e.PAGE_UP || k == e.DOWN || k == e.PAGE_DOWN) { + e.stopEvent(); + pageNum = me.readPageFromInput(pageData); + if (pageNum) { + if (k == e.DOWN || k == e.PAGE_DOWN) { + increment *= -1; + } + pageNum += increment; + if (pageNum >= 1 && pageNum <= pageData.pageCount) { + field.setValue(pageNum); + } + } + } + }, + + + beforeLoad : function(){ + if(this.rendered && this.refresh){ + this.refresh.disable(); + } + }, + + + moveFirst : function(){ + if (this.fireEvent('beforechange', this, 1) !== false){ + this.store.loadPage(1); + } + }, + + + movePrevious : function(){ + var me = this, + prev = me.store.currentPage - 1; + + if (prev > 0) { + if (me.fireEvent('beforechange', me, prev) !== false) { + me.store.previousPage(); + } + } + }, + + + moveNext : function(){ + var me = this, + total = me.getPageData().pageCount, + next = me.store.currentPage + 1; + + if (next <= total) { + if (me.fireEvent('beforechange', me, next) !== false) { + me.store.nextPage(); + } + } + }, + + + moveLast : function(){ + var me = this, + last = me.getPageData().pageCount; + + if (me.fireEvent('beforechange', me, last) !== false) { + me.store.loadPage(last); + } + }, + + + doRefresh : function(){ + var me = this, + current = me.store.currentPage; + + if (me.fireEvent('beforechange', me, current) !== false) { + me.store.loadPage(current); + } + }, + + getStoreListeners: function() { + return { + beforeload: this.beforeLoad, + load: this.onLoad, + exception: this.onLoadError + }; + }, + + + unbind : function(store){ + this.bindStore(null); + }, + + + bind : function(store){ + this.bindStore(store); + }, + + + onDestroy : function(){ + this.unbind(); + this.callParent(); + } +}); + + +Ext.define('Ext.view.BoundList', { + extend: 'Ext.view.View', + alias: 'widget.boundlist', + alternateClassName: 'Ext.BoundList', + requires: ['Ext.layout.component.BoundList', 'Ext.toolbar.Paging'], + + + pageSize: 0, + + + + + + + baseCls: Ext.baseCSSPrefix + 'boundlist', + itemCls: Ext.baseCSSPrefix + 'boundlist-item', + listItemCls: '', + shadow: false, + trackOver: true, + refreshed: 0, + + + deferInitialRefresh: false, + + componentLayout: 'boundlist', + + childEls: [ + 'listEl' + ], + + renderTpl: [ + '
', + '{%', + 'var me=values.$comp, pagingToolbar=me.pagingToolbar;', + 'if (pagingToolbar) {', + 'pagingToolbar.ownerLayout = me.componentLayout;', + 'Ext.DomHelper.generateMarkup(pagingToolbar.getRenderTree(), out);', + '}', + '%}', + { + disableFormats: true + } + ], + + + + initComponent: function() { + var me = this, + baseCls = me.baseCls, + itemCls = me.itemCls; + + me.selectedItemCls = baseCls + '-selected'; + me.overItemCls = baseCls + '-item-over'; + me.itemSelector = "." + itemCls; + + if (me.floating) { + me.addCls(baseCls + '-floating'); + } + + if (!me.tpl) { + + + me.tpl = new Ext.XTemplate( + '
    ', + '
  • ' + me.getInnerTpl(me.displayField) + '
  • ', + '
' + ); + } else if (Ext.isString(me.tpl)) { + me.tpl = new Ext.XTemplate(me.tpl); + } + + if (me.pageSize) { + me.pagingToolbar = me.createPagingToolbar(); + } + + me.callParent(); + }, + + beforeRender: function() { + var me = this; + + me.callParent(arguments); + + + + if (me.up('menu')) { + me.addCls(Ext.baseCSSPrefix + 'menu'); + } + }, + + + getBubbleTarget: function() { + return this.pickerField; + }, + + getRefItems: function() { + return this.pagingToolbar ? [ this.pagingToolbar ] : []; + }, + + createPagingToolbar: function() { + return Ext.widget('pagingtoolbar', { + id: this.id + '-paging-toolbar', + pageSize: this.pageSize, + store: this.store, + border: false, + ownerCt: this, + ownerLayout: this.getComponentLayout() + }); + }, + + + + finishRenderChildren: function () { + var toolbar = this.pagingToolbar; + + this.callParent(arguments); + + if (toolbar) { + toolbar.finishRender(); + } + }, + + refresh: function(){ + var me = this, + toolbar = me.pagingToolbar; + + me.callParent(); + + + if (me.rendered && toolbar && toolbar.rendered && !me.preserveScrollOnRefresh) { + me.el.appendChild(toolbar.el); + } + }, + + bindStore : function(store, initial) { + var toolbar = this.pagingToolbar; + + this.callParent(arguments); + if (toolbar) { + toolbar.bindStore(this.store, initial); + } + }, + + getTargetEl: function() { + return this.listEl || this.el; + }, + + + getInnerTpl: function(displayField) { + return '{' + displayField + '}'; + }, + + onDestroy: function() { + Ext.destroyMembers(this, 'pagingToolbar', 'listEl'); + this.callParent(); + } +}); + + +Ext.define('Ext.view.BoundListKeyNav', { + extend: 'Ext.util.KeyNav', + requires: 'Ext.view.BoundList', + + + + constructor: function(el, config) { + var me = this; + me.boundList = config.boundList; + me.callParent([el, Ext.apply({}, config, me.defaultHandlers)]); + }, + + defaultHandlers: { + up: function() { + var me = this, + boundList = me.boundList, + allItems = boundList.all, + oldItem = boundList.highlightedItem, + oldItemIdx = oldItem ? boundList.indexOf(oldItem) : -1, + newItemIdx = oldItemIdx > 0 ? oldItemIdx - 1 : allItems.getCount() - 1; + me.highlightAt(newItemIdx); + }, + + down: function() { + var me = this, + boundList = me.boundList, + allItems = boundList.all, + oldItem = boundList.highlightedItem, + oldItemIdx = oldItem ? boundList.indexOf(oldItem) : -1, + newItemIdx = oldItemIdx < allItems.getCount() - 1 ? oldItemIdx + 1 : 0; + me.highlightAt(newItemIdx); + }, + + pageup: function() { + + }, + + pagedown: function() { + + }, + + home: function() { + this.highlightAt(0); + }, + + end: function() { + var me = this; + me.highlightAt(me.boundList.all.getCount() - 1); + }, + + enter: function(e) { + this.selectHighlighted(e); + } + }, + + + highlightAt: function(index) { + var boundList = this.boundList, + item = boundList.all.item(index); + if (item) { + item = item.dom; + boundList.highlightItem(item); + boundList.getTargetEl().scrollChildIntoView(item, false); + } + }, + + + selectHighlighted: function(e) { + var me = this, + boundList = me.boundList, + highlighted = boundList.highlightedItem, + selModel = boundList.getSelectionModel(); + if (highlighted) { + selModel.selectWithEvent(boundList.getRecord(highlighted), e); + } + } + +}); + + +Ext.define('Ext.form.field.ComboBox', { + extend:'Ext.form.field.Picker', + requires: ['Ext.util.DelayedTask', 'Ext.EventObject', 'Ext.view.BoundList', 'Ext.view.BoundListKeyNav', 'Ext.data.StoreManager', 'Ext.layout.component.field.ComboBox'], + alternateClassName: 'Ext.form.ComboBox', + alias: ['widget.combobox', 'widget.combo'], + mixins: { + bindable: 'Ext.util.Bindable' + }, + + componentLayout: 'combobox', + + + triggerCls: Ext.baseCSSPrefix + 'form-arrow-trigger', + + + hiddenName: '', + + + + + hiddenDataCls: Ext.baseCSSPrefix + 'hide-display ' + Ext.baseCSSPrefix + 'form-data-hidden', + + + fieldSubTpl: [ + '', + ' value="{[Ext.util.Format.htmlEncode(values.value)]}"
', + ' name="{name}"', + ' placeholder="{placeholder}"', + ' size="{size}"', + ' maxlength="{maxLength}"', + ' readonly="readonly"', + ' disabled="disabled"', + ' tabIndex="{tabIdx}"', + ' style="{fieldStyle}"', + '/>', + { + compiled: true, + disableFormats: true + } + ], + + getSubTplData: function(){ + var me = this; + Ext.applyIf(me.subTplData, { + hiddenDataCls: me.hiddenDataCls + }); + return me.callParent(arguments); + }, + + afterRender: function(){ + var me = this; + me.callParent(arguments); + me.setHiddenValue(me.value); + }, + + + + + multiSelect: false, + + + + delimiter: ', ', + + + + displayField: 'text', + + + + + triggerAction: 'all', + + + allQuery: '', + + + queryParam: 'query', + + + queryMode: 'remote', + + + queryCaching: true, + + + pageSize: 0, + + + + + + + autoSelect: true, + + + typeAhead: false, + + + typeAheadDelay: 250, + + + selectOnTab: true, + + + forceSelection: false, + + + growToLongestValue: true, + + + + + + + defaultListConfig: { + loadingHeight: 70, + minWidth: 70, + maxHeight: 300, + shadow: 'sides' + }, + + + + + + + ignoreSelection: 0, + + + removingRecords: null, + + + resizeComboToGrow: function () { + var me = this; + return me.grow && me.growToLongestValue; + }, + + initComponent: function() { + var me = this, + isDefined = Ext.isDefined, + store = me.store, + transform = me.transform, + transformSelect, isLocalMode; + + Ext.applyIf(me.renderSelectors, { + hiddenDataEl: '.' + me.hiddenDataCls.split(' ').join('.') + }); + + + this.addEvents( + + 'beforequery', + + + 'select', + + + 'beforeselect', + + + 'beforedeselect' + ); + + + if (transform) { + transformSelect = Ext.getDom(transform); + if (transformSelect) { + if (!me.store) { + store = Ext.Array.map(Ext.Array.from(transformSelect.options), function(option){ + return [option.value, option.text]; + }); + } + if (!me.name) { + me.name = transformSelect.name; + } + if (!('value' in me)) { + me.value = transformSelect.value; + } + } + } + + me.bindStore(store || 'ext-empty-store', true); + store = me.store; + if (store.autoCreated) { + me.queryMode = 'local'; + me.valueField = me.displayField = 'field1'; + if (!store.expanded) { + me.displayField = 'field2'; + } + } + + + if (!isDefined(me.valueField)) { + me.valueField = me.displayField; + } + + isLocalMode = me.queryMode === 'local'; + if (!isDefined(me.queryDelay)) { + me.queryDelay = isLocalMode ? 10 : 500; + } + if (!isDefined(me.minChars)) { + me.minChars = isLocalMode ? 0 : 4; + } + + if (!me.displayTpl) { + me.displayTpl = new Ext.XTemplate( + '' + + '{[typeof values === "string" ? values : values["' + me.displayField + '"]]}' + + '' + me.delimiter + '' + + '' + ); + } else if (Ext.isString(me.displayTpl)) { + me.displayTpl = new Ext.XTemplate(me.displayTpl); + } + + me.callParent(); + + me.doQueryTask = new Ext.util.DelayedTask(me.doRawQuery, me); + + + if (me.store.getCount() > 0) { + me.setValue(me.value); + } + + + if (transformSelect) { + me.render(transformSelect.parentNode, transformSelect); + Ext.removeNode(transformSelect); + delete me.renderTo; + } + }, + + + getStore : function(){ + return this.store; + }, + + beforeBlur: function() { + this.doQueryTask.cancel(); + this.assertValue(); + }, + + + assertValue: function() { + var me = this, + value = me.getRawValue(), + rec; + + if (me.forceSelection) { + if (me.multiSelect) { + + + if (value !== me.getDisplayValue()) { + me.setValue(me.lastSelection); + } + } else { + + + rec = me.findRecordByDisplay(value); + if (rec) { + me.select(rec); + } else { + me.setValue(me.lastSelection); + } + } + } + me.collapse(); + }, + + onTypeAhead: function() { + var me = this, + displayField = me.displayField, + record = me.store.findRecord(displayField, me.getRawValue()), + boundList = me.getPicker(), + newValue, len, selStart; + + if (record) { + newValue = record.get(displayField); + len = newValue.length; + selStart = me.getRawValue().length; + + boundList.highlightItem(boundList.getNode(record)); + + if (selStart !== 0 && selStart !== len) { + me.setRawValue(newValue); + me.selectText(selStart, newValue.length); + } + } + }, + + + + resetToDefault: Ext.emptyFn, + + beforeReset: function() { + this.callParent(); + this.clearFilter(); + }, + + onUnbindStore: function(store) { + var picker = this.picker; + if (!store && picker) { + picker.bindStore(null); + } + this.clearFilter(); + }, + + onBindStore: function(store, initial) { + var picker = this.picker; + if (!initial) { + this.resetToDefault(); + } + if (picker) { + picker.bindStore(store); + } + }, + + getStoreListeners: function() { + var me = this; + + return { + beforeload: me.onBeforeLoad, + clear: me.onClear, + datachanged: me.onDataChanged, + load: me.onLoad, + exception: me.onException, + remove: me.onRemove + }; + }, + + onBeforeLoad: function(){ + + + + ++this.ignoreSelection; + }, + + onDataChanged: function() { + var me = this; + + if (me.resizeComboToGrow()) { + me.updateLayout(); + } + }, + + onClear: function() { + var me = this; + + if (me.resizeComboToGrow()) { + me.removingRecords = true; + me.onDataChanged(); + } + }, + + onRemove: function() { + var me = this; + + if (me.resizeComboToGrow()) { + me.removingRecords = true; + } + }, + + onException: function(){ + if (this.ignoreSelection > 0) { + --this.ignoreSelection; + } + this.collapse(); + }, + + onLoad: function() { + var me = this, + value = me.value; + + if (me.ignoreSelection > 0) { + --me.ignoreSelection; + } + + if (me.rawQuery) { + me.rawQuery = false; + me.syncSelection(); + if (me.picker && !me.picker.getSelectionModel().hasSelection()) { + me.doAutoSelect(); + } + } + + else { + + if (me.value || me.value === 0) { + me.setValue(me.value); + } else { + + + if (me.store.getCount()) { + me.doAutoSelect(); + } else { + + me.setValue(me.value); + } + } + } + }, + + + doRawQuery: function() { + this.doQuery(this.getRawValue(), false, true); + }, + + + doQuery: function(queryString, forceAll, rawQuery) { + queryString = queryString || ''; + + + + var me = this, + qe = { + query: queryString, + forceAll: forceAll, + combo: me, + cancel: false + }, + store = me.store, + isLocalMode = me.queryMode === 'local', + needsRefresh; + + if (me.fireEvent('beforequery', qe) === false || qe.cancel) { + return false; + } + + + queryString = qe.query; + forceAll = qe.forceAll; + + + if (forceAll || (queryString.length >= me.minChars)) { + + me.expand(); + + + if (!me.queryCaching || me.lastQuery !== queryString) { + me.lastQuery = queryString; + + if (isLocalMode) { + + store.suspendEvents(); + needsRefresh = me.clearFilter(); + if (queryString || !forceAll) { + me.activeFilter = new Ext.util.Filter({ + root: 'data', + property: me.displayField, + value: queryString + }); + store.filter(me.activeFilter); + needsRefresh = true; + } else { + delete me.activeFilter; + } + store.resumeEvents(); + if (me.rendered && needsRefresh) { + me.getPicker().refresh(); + } + } else { + + me.rawQuery = rawQuery; + + + + if (me.pageSize) { + + me.loadPage(1); + } else { + store.load({ + params: me.getParams(queryString) + }); + } + } + } + + + if (me.getRawValue() !== me.getDisplayValue()) { + me.ignoreSelection++; + me.picker.getSelectionModel().deselectAll(); + me.ignoreSelection--; + } + + if (isLocalMode) { + me.doAutoSelect(); + } + if (me.typeAhead) { + me.doTypeAhead(); + } + } + return true; + }, + + + clearFilter: function() { + var store = this.store, + filter = this.activeFilter, + filters = store.filters, + remaining; + + if (filter) { + if (filters.getCount() > 1) { + + filters.remove(filter); + remaining = filters.getRange(); + } + store.clearFilter(true); + if (remaining) { + store.filter(remaining); + } + } + return !!filter; + }, + + loadPage: function(pageNum){ + this.store.loadPage(pageNum, { + params: this.getParams(this.lastQuery) + }); + }, + + onPageChange: function(toolbar, newPage){ + + this.loadPage(newPage); + return false; + }, + + + getParams: function(queryString) { + var params = {}, + param = this.queryParam; + + if (param) { + params[param] = queryString; + } + return params; + }, + + + doAutoSelect: function() { + var me = this, + picker = me.picker, + lastSelected, itemNode; + if (picker && me.autoSelect && me.store.getCount() > 0) { + + lastSelected = picker.getSelectionModel().lastSelected; + itemNode = picker.getNode(lastSelected || 0); + if (itemNode) { + picker.highlightItem(itemNode); + picker.listEl.scrollChildIntoView(itemNode, false); + } + } + }, + + doTypeAhead: function() { + if (!this.typeAheadTask) { + this.typeAheadTask = new Ext.util.DelayedTask(this.onTypeAhead, this); + } + if (this.lastKey != Ext.EventObject.BACKSPACE && this.lastKey != Ext.EventObject.DELETE) { + this.typeAheadTask.delay(this.typeAheadDelay); + } + }, + + onTriggerClick: function() { + var me = this; + if (!me.readOnly && !me.disabled) { + if (me.isExpanded) { + me.collapse(); + } else { + me.onFocus({}); + if (me.triggerAction === 'all') { + me.doQuery(me.allQuery, true); + } else { + me.doQuery(me.getRawValue(), false, true); + } + } + me.inputEl.focus(); + } + }, + + + + onKeyUp: function(e, t) { + var me = this, + key = e.getKey(); + + if (!me.readOnly && !me.disabled && me.editable) { + me.lastKey = key; + + + + + if (!e.isSpecialKey() || key == e.BACKSPACE || key == e.DELETE) { + me.doQueryTask.delay(me.queryDelay); + } + } + + if (me.enableKeyEvents) { + me.callParent(arguments); + } + }, + + initEvents: function() { + var me = this; + me.callParent(); + + + if (!me.enableKeyEvents) { + me.mon(me.inputEl, 'keyup', me.onKeyUp, me); + } + }, + + onDestroy: function() { + this.bindStore(null); + this.callParent(); + }, + + + + onAdded: function() { + var me = this; + me.callParent(arguments); + if (me.picker) { + me.picker.ownerCt = me.up('[floating]'); + me.picker.registerWithOwnerCt(); + } + }, + + createPicker: function() { + var me = this, + picker, + pickerCfg = Ext.apply({ + xtype: 'boundlist', + pickerField: me, + selModel: { + mode: me.multiSelect ? 'SIMPLE' : 'SINGLE' + }, + floating: true, + hidden: true, + store: me.store, + displayField: me.displayField, + focusOnToFront: false, + pageSize: me.pageSize, + tpl: me.tpl + }, me.listConfig, me.defaultListConfig); + + picker = me.picker = Ext.widget(pickerCfg); + if (me.pageSize) { + picker.pagingToolbar.on('beforechange', me.onPageChange, me); + } + + me.mon(picker, { + itemclick: me.onItemClick, + refresh: me.onListRefresh, + scope: me + }); + + me.mon(picker.getSelectionModel(), { + beforeselect: me.onBeforeSelect, + beforedeselect: me.onBeforeDeselect, + selectionchange: me.onListSelectionChange, + scope: me + }); + + return picker; + }, + + alignPicker: function(){ + var me = this, + picker = me.getPicker(), + heightAbove = me.getPosition()[1] - Ext.getBody().getScroll().top, + heightBelow = Ext.Element.getViewHeight() - heightAbove - me.getHeight(), + space = Math.max(heightAbove, heightBelow); + + + if (picker.height) { + delete picker.height; + picker.updateLayout(); + } + + if (picker.getHeight() > space - 5) { + picker.setHeight(space - 5); + } + me.callParent(); + }, + + onListRefresh: function() { + this.alignPicker(); + this.syncSelection(); + }, + + onItemClick: function(picker, record){ + + var me = this, + selection = me.picker.getSelectionModel().getSelection(), + valueField = me.valueField; + + if (!me.multiSelect && selection.length) { + if (record.get(valueField) === selection[0].get(valueField)) { + + me.displayTplData = [record.data]; + me.setRawValue(me.getDisplayValue()); + me.collapse(); + } + } + }, + + onBeforeSelect: function(list, record) { + return this.fireEvent('beforeselect', this, record, record.index); + }, + + onBeforeDeselect: function(list, record) { + return this.fireEvent('beforedeselect', this, record, record.index); + }, + + onListSelectionChange: function(list, selectedRecords) { + var me = this, + isMulti = me.multiSelect, + hasRecords = selectedRecords.length > 0; + + + if (!me.ignoreSelection && me.isExpanded) { + if (!isMulti) { + Ext.defer(me.collapse, 1, me); + } + + if (isMulti || hasRecords) { + me.setValue(selectedRecords, false); + } + if (hasRecords) { + me.fireEvent('select', me, selectedRecords); + } + me.inputEl.focus(); + } + }, + + + onExpand: function() { + var me = this, + keyNav = me.listKeyNav, + selectOnTab = me.selectOnTab, + picker = me.getPicker(); + + + if (keyNav) { + keyNav.enable(); + } else { + keyNav = me.listKeyNav = new Ext.view.BoundListKeyNav(this.inputEl, { + boundList: picker, + forceKeyDown: true, + tab: function(e) { + if (selectOnTab) { + this.selectHighlighted(e); + me.triggerBlur(); + } + + return true; + } + }); + } + + + if (selectOnTab) { + me.ignoreMonitorTab = true; + } + + Ext.defer(keyNav.enable, 1, keyNav); + me.inputEl.focus(); + }, + + + onCollapse: function() { + var me = this, + keyNav = me.listKeyNav; + if (keyNav) { + keyNav.disable(); + me.ignoreMonitorTab = false; + } + }, + + + select: function(r) { + this.setValue(r, true); + }, + + + findRecord: function(field, value) { + var ds = this.store, + idx = ds.findExact(field, value); + return idx !== -1 ? ds.getAt(idx) : false; + }, + + + findRecordByValue: function(value) { + return this.findRecord(this.valueField, value); + }, + + + findRecordByDisplay: function(value) { + return this.findRecord(this.displayField, value); + }, + + + setValue: function(value, doSelect) { + var me = this, + valueNotFoundText = me.valueNotFoundText, + inputEl = me.inputEl, + i, len, record, + dataObj, + matchedRecords = [], + displayTplData = [], + processedValue = []; + + if (me.store.loading) { + + me.value = value; + me.setHiddenValue(me.value); + return me; + } + + + value = Ext.Array.from(value); + + + for (i = 0, len = value.length; i < len; i++) { + record = value[i]; + if (!record || !record.isModel) { + record = me.findRecordByValue(record); + } + + if (record) { + matchedRecords.push(record); + displayTplData.push(record.data); + processedValue.push(record.get(me.valueField)); + } + + + else { + + + if (!me.forceSelection) { + processedValue.push(value[i]); + dataObj = {}; + dataObj[me.displayField] = value[i]; + displayTplData.push(dataObj); + + } + + else if (Ext.isDefined(valueNotFoundText)) { + displayTplData.push(valueNotFoundText); + } + } + } + + + me.setHiddenValue(processedValue); + me.value = me.multiSelect ? processedValue : processedValue[0]; + if (!Ext.isDefined(me.value)) { + me.value = null; + } + me.displayTplData = displayTplData; + me.lastSelection = me.valueModels = matchedRecords; + + if (inputEl && me.emptyText && !Ext.isEmpty(value)) { + inputEl.removeCls(me.emptyCls); + } + + + me.setRawValue(me.getDisplayValue()); + me.checkChange(); + + if (doSelect !== false) { + me.syncSelection(); + } + me.applyEmptyText(); + + return me; + }, + + + setHiddenValue: function(values){ + var me = this, + name = me.hiddenName, + i, + dom, childNodes, input, valueCount, childrenCount; + + if (!me.hiddenDataEl || !name) { + return; + } + values = Ext.Array.from(values); + dom = me.hiddenDataEl.dom; + childNodes = dom.childNodes; + input = childNodes[0]; + valueCount = values.length; + childrenCount = childNodes.length; + + if (!input && valueCount > 0) { + me.hiddenDataEl.update(Ext.DomHelper.markup({ + tag: 'input', + type: 'hidden', + name: name + })); + childrenCount = 1; + input = dom.firstChild; + } + while (childrenCount > valueCount) { + dom.removeChild(childNodes[0]); + -- childrenCount; + } + while (childrenCount < valueCount) { + dom.appendChild(input.cloneNode(true)); + ++ childrenCount; + } + for (i = 0; i < valueCount; i++) { + childNodes[i].value = values[i]; + } + }, + + + getDisplayValue: function() { + return this.displayTpl.apply(this.displayTplData); + }, + + getValue: function() { + + + + var me = this, + picker = me.picker, + rawValue = me.getRawValue(), + value = me.value; + + if (me.getDisplayValue() !== rawValue) { + value = rawValue; + me.value = me.displayTplData = me.valueModels = null; + if (picker) { + me.ignoreSelection++; + picker.getSelectionModel().deselectAll(); + me.ignoreSelection--; + } + } + + return value; + }, + + getSubmitValue: function() { + return this.getValue(); + }, + + isEqual: function(v1, v2) { + var fromArray = Ext.Array.from, + i, len; + + v1 = fromArray(v1); + v2 = fromArray(v2); + len = v1.length; + + if (len !== v2.length) { + return false; + } + + for(i = 0; i < len; i++) { + if (v2[i] !== v1[i]) { + return false; + } + } + + return true; + }, + + + clearValue: function() { + this.setValue([]); + }, + + + syncSelection: function() { + var me = this, + picker = me.picker, + selection, selModel, + values = me.valueModels || [], + vLen = values.length, v, value; + + if (picker) { + + selection = []; + for (v = 0; v < vLen; v++) { + value = values[v]; + + if (value && value.isModel && me.store.indexOf(value) >= 0) { + selection.push(value); + } + } + + + me.ignoreSelection++; + selModel = picker.getSelectionModel(); + selModel.deselectAll(); + if (selection.length) { + selModel.select(selection); + } + me.ignoreSelection--; + } + }, + + onEditorTab: function(e){ + var keyNav = this.listKeyNav; + + if (this.selectOnTab && keyNav) { + keyNav.selectHighlighted(e); + } + } +}); + + +Ext.define('Ext.picker.Month', { + extend: 'Ext.Component', + requires: [ + 'Ext.XTemplate', + 'Ext.util.ClickRepeater', + 'Ext.Date', + 'Ext.button.Button' + ], + alias: 'widget.monthpicker', + alternateClassName: 'Ext.MonthPicker', + + childEls: [ + 'bodyEl', 'prevEl', 'nextEl', 'buttonsEl', 'monthEl', 'yearEl' + ], + + renderTpl: [ + '
', + '
', + '', + '', + '', + '
', + '
', + '
', + '', + '', + '
', + '', + '', + '', + '
', + '
', + '
', + '', + '
{%', + 'var me=values.$comp, okBtn=me.okBtn, cancelBtn=me.cancelBtn;', + 'okBtn.ownerLayout = cancelBtn.ownerLayout = me.componentLayout;', + 'okBtn.ownerCt = cancelBtn.ownerCt = me;', + 'Ext.DomHelper.generateMarkup(okBtn.getRenderTree(), out);', + 'Ext.DomHelper.generateMarkup(cancelBtn.getRenderTree(), out);', + '%}
', + '
' + ], + + + + okText: 'OK', + + + + + cancelText: 'Cancel', + + + + baseCls: Ext.baseCSSPrefix + 'monthpicker', + + + showButtons: true, + + + + + + + width: 178, + measureWidth: 35, + measureMaxHeight: 20, + + + smallCls: Ext.baseCSSPrefix + 'monthpicker-small', + + + totalYears: 10, + yearOffset: 5, + monthOffset: 6, + + + initComponent: function(){ + var me = this; + + me.selectedCls = me.baseCls + '-selected'; + me.addEvents( + + 'cancelclick', + + + 'monthclick', + + + 'monthdblclick', + + + 'okclick', + + + 'select', + + + 'yearclick', + + + 'yeardblclick' + ); + if (me.small) { + me.addCls(me.smallCls); + } + me.setValue(me.value); + me.activeYear = me.getYear(new Date().getFullYear() - 4, -4); + + if (me.showButtons) { + me.okBtn = new Ext.button.Button({ + text: me.okText, + handler: me.onOkClick, + scope: me + }); + me.cancelBtn = new Ext.button.Button({ + text: me.cancelText, + handler: me.onCancelClick, + scope: me + }); + } + + this.callParent(); + }, + + + beforeRender: function(){ + var me = this, + i = 0, + months = [], + shortName = Ext.Date.getShortMonthName, + monthLen = me.monthOffset, + margin = me.monthMargin, + style = ''; + + me.callParent(); + + for (; i < monthLen; ++i) { + months.push(shortName(i), shortName(i + monthLen)); + } + + if (Ext.isDefined(margin)) { + style = 'margin: 0 ' + margin + 'px;'; + } + + Ext.apply(me.renderData, { + months: months, + years: me.getYears(), + showButtons: me.showButtons, + monthStyle: style + }); + }, + + + afterRender: function(){ + var me = this, + body = me.bodyEl, + buttonsEl = me.buttonsEl; + + me.callParent(); + + me.mon(body, 'click', me.onBodyClick, me); + me.mon(body, 'dblclick', me.onBodyClick, me); + + + me.years = body.select('.' + me.baseCls + '-year a'); + me.months = body.select('.' + me.baseCls + '-month a'); + + me.backRepeater = new Ext.util.ClickRepeater(me.prevEl, { + handler: Ext.Function.bind(me.adjustYear, me, [-me.totalYears]) + }); + + me.prevEl.addClsOnOver(me.baseCls + '-yearnav-prev-over'); + me.nextRepeater = new Ext.util.ClickRepeater(me.nextEl, { + handler: Ext.Function.bind(me.adjustYear, me, [me.totalYears]) + }); + me.nextEl.addClsOnOver(me.baseCls + '-yearnav-next-over'); + me.updateBody(); + + if (!Ext.isDefined(me.monthMargin)) { + Ext.picker.Month.prototype.monthMargin = me.calculateMonthMargin(); + } + }, + + calculateMonthMargin: function(){ + + + + + var me = this, + monthEl = me.monthEl, + months = me.months, + first = months.first(), + itemMargin = first.getMargin('l'); + + while (itemMargin && me.getLargest() > me.measureMaxHeight) { + --itemMargin; + months.setStyle('margin', '0 ' + itemMargin + 'px'); + } + return itemMargin; + }, + + getLargest: function(months){ + var largest = 0; + this.months.each(function(item){ + var h = item.getHeight(); + if (h > largest) { + largest = h; + } + }); + return largest; + + }, + + + setValue: function(value){ + var me = this, + active = me.activeYear, + offset = me.monthOffset, + year, + index; + + if (!value) { + me.value = [null, null]; + } else if (Ext.isDate(value)) { + me.value = [value.getMonth(), value.getFullYear()]; + } else { + me.value = [value[0], value[1]]; + } + + if (me.rendered) { + year = me.value[1]; + if (year !== null) { + if ((year < active || year > active + me.yearOffset)) { + me.activeYear = year - me.yearOffset + 1; + } + } + me.updateBody(); + } + + return me; + }, + + + getValue: function(){ + return this.value; + }, + + + hasSelection: function(){ + var value = this.value; + return value[0] !== null && value[1] !== null; + }, + + + getYears: function(){ + var me = this, + offset = me.yearOffset, + start = me.activeYear, + end = start + offset, + i = start, + years = []; + + for (; i < end; ++i) { + years.push(i, i + offset); + } + + return years; + }, + + + updateBody: function(){ + var me = this, + years = me.years, + months = me.months, + yearNumbers = me.getYears(), + cls = me.selectedCls, + value = me.getYear(null), + month = me.value[0], + monthOffset = me.monthOffset, + year, + yearItems, y, yLen, el; + + if (me.rendered) { + years.removeCls(cls); + months.removeCls(cls); + + yearItems = years.elements; + yLen = yearItems.length; + + for (y = 0; y < yLen; y++) { + el = Ext.fly(yearItems[y]); + + year = yearNumbers[y]; + el.dom.innerHTML = year; + if (year == value) { + el.dom.className = cls; + } + } + if (month !== null) { + if (month < monthOffset) { + month = month * 2; + } else { + month = (month - monthOffset) * 2 + 1; + } + months.item(month).addCls(cls); + } + } + }, + + + getYear: function(defaultValue, offset) { + var year = this.value[1]; + offset = offset || 0; + return year === null ? defaultValue : year + offset; + }, + + + onBodyClick: function(e, t) { + var me = this, + isDouble = e.type == 'dblclick'; + + if (e.getTarget('.' + me.baseCls + '-month')) { + e.stopEvent(); + me.onMonthClick(t, isDouble); + } else if (e.getTarget('.' + me.baseCls + '-year')) { + e.stopEvent(); + me.onYearClick(t, isDouble); + } + }, + + + adjustYear: function(offset){ + if (typeof offset != 'number') { + offset = this.totalYears; + } + this.activeYear += offset; + this.updateBody(); + }, + + + onOkClick: function(){ + this.fireEvent('okclick', this, this.value); + }, + + + onCancelClick: function(){ + this.fireEvent('cancelclick', this); + }, + + + onMonthClick: function(target, isDouble){ + var me = this; + me.value[0] = me.resolveOffset(me.months.indexOf(target), me.monthOffset); + me.updateBody(); + me.fireEvent('month' + (isDouble ? 'dbl' : '') + 'click', me, me.value); + me.fireEvent('select', me, me.value); + }, + + + onYearClick: function(target, isDouble){ + var me = this; + me.value[1] = me.activeYear + me.resolveOffset(me.years.indexOf(target), me.yearOffset); + me.updateBody(); + me.fireEvent('year' + (isDouble ? 'dbl' : '') + 'click', me, me.value); + me.fireEvent('select', me, me.value); + + }, + + + resolveOffset: function(index, offset){ + if (index % 2 === 0) { + return (index / 2); + } else { + return offset + Math.floor(index / 2); + } + }, + + + beforeDestroy: function(){ + var me = this; + me.years = me.months = null; + Ext.destroyMembers(me, 'backRepeater', 'nextRepeater', 'okBtn', 'cancelBtn'); + me.callParent(); + }, + + + + finishRenderChildren: function () { + var me = this; + + this.callParent(arguments); + + if (this.showButtons) { + me.okBtn.finishRender(); + me.cancelBtn.finishRender(); + } + }, + + onDestroy: function() { + Ext.destroyMembers(this, 'okBtn', 'cancelBtn'); + this.callParent(); + } + +}); + + +Ext.define('Ext.picker.Date', { + extend: 'Ext.Component', + requires: [ + 'Ext.XTemplate', + 'Ext.button.Button', + 'Ext.button.Split', + 'Ext.util.ClickRepeater', + 'Ext.util.KeyNav', + 'Ext.EventObject', + 'Ext.fx.Manager', + 'Ext.picker.Month' + ], + alias: 'widget.datepicker', + alternateClassName: 'Ext.DatePicker', + + childEls: [ + 'innerEl', 'eventEl', 'prevEl', 'nextEl', 'middleBtnEl', 'footerEl' + ], + + border: true, + + renderTpl: [ + '
', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '{#:this.isEndOfWeek}', + '', + '', + '', + '', + '', + '', + '', + '
', + { + firstInitial: function(value) { + return Ext.picker.Date.prototype.getDayInitial(value); + }, + isEndOfWeek: function(value) { + + + value--; + var end = value % 7 === 0 && value !== 0; + return end ? '' : ''; + }, + renderTodayBtn: function(values, out) { + Ext.DomHelper.generateMarkup(values.$comp.todayBtn.getRenderTree(), out); + }, + renderMonthBtn: function(values, out) { + Ext.DomHelper.generateMarkup(values.$comp.monthBtn.getRenderTree(), out); + } + } + ], + + + + todayText : 'Today', + + + + + ariaTitle: 'Date Picker: {0}', + + + + + ariaTitleDateFormat: 'F d, Y', + + + + + + + + + todayTip : '{0} (Spacebar)', + + + + + minText : 'This date is before the minimum date', + + + + + maxText : 'This date is after the maximum date', + + + + + + + disabledDaysText : 'Disabled', + + + + + disabledDatesText : 'Disabled', + + + + + + + + + nextText : 'Next Month (Control+Right)', + + + + + prevText : 'Previous Month (Control+Left)', + + + + + monthYearText : 'Choose a month (Control+Up/Down to move years)', + + + + + monthYearFormat: 'F Y', + + + + + startDay : 0, + + + + + showToday : true, + + + + + + + + + + + + + + disableAnim: false, + + + baseCls: Ext.baseCSSPrefix + 'datepicker', + + + + + + + + longDayFormat: 'F d, Y', + + + + + + focusOnShow: false, + + + + focusOnSelect: true, + + width: 178, + + + + initHour: 12, + + numDays: 42, + + + initComponent : function() { + var me = this, + clearTime = Ext.Date.clearTime; + + me.selectedCls = me.baseCls + '-selected'; + me.disabledCellCls = me.baseCls + '-disabled'; + me.prevCls = me.baseCls + '-prevday'; + me.activeCls = me.baseCls + '-active'; + me.nextCls = me.baseCls + '-prevday'; + me.todayCls = me.baseCls + '-today'; + me.dayNames = me.dayNames.slice(me.startDay).concat(me.dayNames.slice(0, me.startDay)); + + me.listeners = Ext.apply(me.listeners||{}, { + mousewheel: { + element: 'eventEl', + fn: me.handleMouseWheel, + scope: me + }, + click: { + element: 'eventEl', + fn: me.handleDateClick, + scope: me, + delegate: 'a.' + me.baseCls + '-date' + } + }); + this.callParent(); + + me.value = me.value ? + clearTime(me.value, true) : clearTime(new Date()); + + me.addEvents( + + 'select' + ); + + me.initDisabledDays(); + }, + + beforeRender: function () { + + var me = this, + days = new Array(me.numDays), + today = Ext.Date.format(new Date(), me.format); + + + + if (me.up('menu')) { + me.addCls(Ext.baseCSSPrefix + 'menu'); + } + + me.monthBtn = new Ext.button.Split({ + ownerCt: me, + ownerLayout: me.getComponentLayout(), + text: '', + tooltip: me.monthYearText, + listeners: { + click: me.showMonthPicker, + arrowclick: me.showMonthPicker, + scope: me + } + }); + + if (this.showToday) { + me.todayBtn = new Ext.button.Button({ + ownerCt: me, + ownerLayout: me.getComponentLayout(), + text: Ext.String.format(me.todayText, today), + tooltip: Ext.String.format(me.todayTip, today), + tooltipType: 'title', + handler: me.selectToday, + scope: me + }); + } + + me.callParent(); + + Ext.applyIf(me, { + renderData: {} + }); + + Ext.apply(me.renderData, { + dayNames: me.dayNames, + showToday: me.showToday, + prevText: me.prevText, + nextText: me.nextText, + days: days + }); + }, + + + + finishRenderChildren: function () { + var me = this; + + me.callParent(); + me.monthBtn.finishRender(); + if (me.showToday) { + me.todayBtn.finishRender(); + } + }, + + + onRender : function(container, position){ + var me = this; + + me.callParent(arguments); + me.el.unselectable(); + me.cells = me.eventEl.select('tbody td'); + me.textNodes = me.eventEl.query('tbody td span'); + }, + + + initEvents: function(){ + var me = this, + eDate = Ext.Date, + day = eDate.DAY; + + me.callParent(); + + me.prevRepeater = new Ext.util.ClickRepeater(me.prevEl, { + handler: me.showPrevMonth, + scope: me, + preventDefault: true, + stopDefault: true + }); + + me.nextRepeater = new Ext.util.ClickRepeater(me.nextEl, { + handler: me.showNextMonth, + scope: me, + preventDefault:true, + stopDefault:true + }); + + me.keyNav = new Ext.util.KeyNav(me.eventEl, Ext.apply({ + scope: me, + left : function(e){ + if(e.ctrlKey){ + me.showPrevMonth(); + }else{ + me.update(eDate.add(me.activeDate, day, -1)); + } + }, + + right : function(e){ + if(e.ctrlKey){ + me.showNextMonth(); + }else{ + me.update(eDate.add(me.activeDate, day, 1)); + } + }, + + up : function(e){ + if(e.ctrlKey){ + me.showNextYear(); + }else{ + me.update(eDate.add(me.activeDate, day, -7)); + } + }, + + down : function(e){ + if(e.ctrlKey){ + me.showPrevYear(); + }else{ + me.update(eDate.add(me.activeDate, day, 7)); + } + }, + pageUp : me.showNextMonth, + pageDown : me.showPrevMonth, + enter : function(e){ + e.stopPropagation(); + return true; + } + }, me.keyNavConfig)); + + if (me.showToday) { + me.todayKeyListener = me.eventEl.addKeyListener(Ext.EventObject.SPACE, me.selectToday, me); + } + me.update(me.value); + }, + + + initDisabledDays : function(){ + var me = this, + dd = me.disabledDates, + re = '(?:', + len, + d, dLen, dI; + + if(!me.disabledDatesRE && dd){ + len = dd.length - 1; + + dLen = dd.length; + + for (d = 0; d < dLen; d++) { + dI = dd[d]; + + re += Ext.isDate(dI) ? '^' + Ext.String.escapeRegex(Ext.Date.dateFormat(dI, me.format)) + '$' : dI; + if (d != len) { + re += '|'; + } + } + + me.disabledDatesRE = new RegExp(re + ')'); + } + }, + + + setDisabledDates : function(dd){ + var me = this; + + if(Ext.isArray(dd)){ + me.disabledDates = dd; + me.disabledDatesRE = null; + }else{ + me.disabledDatesRE = dd; + } + me.initDisabledDays(); + me.update(me.value, true); + return me; + }, + + + setDisabledDays : function(dd){ + this.disabledDays = dd; + return this.update(this.value, true); + }, + + + setMinDate : function(dt){ + this.minDate = dt; + return this.update(this.value, true); + }, + + + setMaxDate : function(dt){ + this.maxDate = dt; + return this.update(this.value, true); + }, + + + setValue : function(value){ + this.value = Ext.Date.clearTime(value, true); + return this.update(this.value); + }, + + + getValue : function(){ + return this.value; + }, + + + + getDayInitial: function(value){ + return value.substr(0,1); + }, + + + + focus : function(){ + this.update(this.activeDate); + }, + + + onEnable: function(){ + this.callParent(); + this.setDisabledStatus(false); + this.update(this.activeDate); + + }, + + + onDisable : function(){ + this.callParent(); + this.setDisabledStatus(true); + }, + + + setDisabledStatus : function(disabled){ + var me = this; + + me.keyNav.setDisabled(disabled); + me.prevRepeater.setDisabled(disabled); + me.nextRepeater.setDisabled(disabled); + if (me.showToday) { + me.todayKeyListener.setDisabled(disabled); + me.todayBtn.setDisabled(disabled); + } + }, + + + getActive: function(){ + return this.activeDate || this.value; + }, + + + runAnimation: function(isHide){ + var picker = this.monthPicker, + options = { + duration: 200, + callback: function(){ + if (isHide) { + picker.hide(); + } else { + picker.show(); + } + } + }; + + if (isHide) { + picker.el.slideOut('t', options); + } else { + picker.el.slideIn('t', options); + } + }, + + + hideMonthPicker : function(animate){ + var me = this, + picker = me.monthPicker; + + if (picker) { + if (me.shouldAnimate(animate)) { + me.runAnimation(true); + } else { + picker.hide(); + } + } + return me; + }, + + + showMonthPicker : function(animate){ + var me = this, + picker; + + if (me.rendered && !me.disabled) { + picker = me.createMonthPicker(); + picker.setValue(me.getActive()); + picker.setSize(me.getSize()); + picker.setPosition(-1, -1); + if (me.shouldAnimate(animate)) { + me.runAnimation(false); + } else { + picker.show(); + } + } + return me; + }, + + + shouldAnimate: function(animate){ + return Ext.isDefined(animate) ? animate : !this.disableAnim; + }, + + + createMonthPicker: function(){ + var me = this, + picker = me.monthPicker; + + if (!picker) { + me.monthPicker = picker = new Ext.picker.Month({ + renderTo: me.el, + floating: true, + shadow: false, + small: me.showToday === false, + listeners: { + scope: me, + cancelclick: me.onCancelClick, + okclick: me.onOkClick, + yeardblclick: me.onOkClick, + monthdblclick: me.onOkClick + } + }); + if (!me.disableAnim) { + + picker.el.setStyle('display', 'none'); + } + me.on('beforehide', Ext.Function.bind(me.hideMonthPicker, me, [false])); + } + return picker; + }, + + + onOkClick: function(picker, value){ + var me = this, + month = value[0], + year = value[1], + date = new Date(year, month, me.getActive().getDate()); + + if (date.getMonth() !== month) { + + date = Ext.Date.getLastDateOfMonth(new Date(year, month, 1)); + } + me.update(date); + me.hideMonthPicker(); + }, + + + onCancelClick: function(){ + + this.selectedUpdate(this.activeDate); + this.hideMonthPicker(); + }, + + + showPrevMonth : function(e){ + return this.update(Ext.Date.add(this.activeDate, Ext.Date.MONTH, -1)); + }, + + + showNextMonth : function(e){ + return this.update(Ext.Date.add(this.activeDate, Ext.Date.MONTH, 1)); + }, + + + showPrevYear : function(){ + this.update(Ext.Date.add(this.activeDate, Ext.Date.YEAR, -1)); + }, + + + showNextYear : function(){ + this.update(Ext.Date.add(this.activeDate, Ext.Date.YEAR, 1)); + }, + + + handleMouseWheel : function(e){ + e.stopEvent(); + if(!this.disabled){ + var delta = e.getWheelDelta(); + if(delta > 0){ + this.showPrevMonth(); + } else if(delta < 0){ + this.showNextMonth(); + } + } + }, + + + handleDateClick : function(e, t){ + var me = this, + handler = me.handler; + + e.stopEvent(); + if(!me.disabled && t.dateValue && !Ext.fly(t.parentNode).hasCls(me.disabledCellCls)){ + me.doCancelFocus = me.focusOnSelect === false; + me.setValue(new Date(t.dateValue)); + delete me.doCancelFocus; + me.fireEvent('select', me, me.value); + if (handler) { + handler.call(me.scope || me, me, me.value); + } + + + + + me.onSelect(); + } + }, + + + onSelect: function() { + if (this.hideOnSelect) { + this.hide(); + } + }, + + + selectToday : function(){ + var me = this, + btn = me.todayBtn, + handler = me.handler; + + if(btn && !btn.disabled){ + me.setValue(Ext.Date.clearTime(new Date())); + me.fireEvent('select', me, me.value); + if (handler) { + handler.call(me.scope || me, me, me.value); + } + me.onSelect(); + } + return me; + }, + + + selectedUpdate: function(date){ + var me = this, + t = date.getTime(), + cells = me.cells, + cls = me.selectedCls, + cellItems = cells.elements, + c, + cLen = cellItems.length, + cell; + + cells.removeCls(cls); + + for (c = 0; c < cLen; c++) { + cell = Ext.fly(cellItems[c]); + + if (cell.dom.firstChild.dateValue == t) { + me.fireEvent('highlightitem', me, cell); + cell.addCls(cls); + + if(me.isVisible() && !me.doCancelFocus){ + Ext.fly(cell.dom.firstChild).focus(50); + } + + break; + } + } + }, + + + fullUpdate: function(date){ + var me = this, + cells = me.cells.elements, + textNodes = me.textNodes, + disabledCls = me.disabledCellCls, + eDate = Ext.Date, + i = 0, + extraDays = 0, + visible = me.isVisible(), + sel = +eDate.clearTime(date, true), + today = +eDate.clearTime(new Date()), + min = me.minDate ? eDate.clearTime(me.minDate, true) : Number.NEGATIVE_INFINITY, + max = me.maxDate ? eDate.clearTime(me.maxDate, true) : Number.POSITIVE_INFINITY, + ddMatch = me.disabledDatesRE, + ddText = me.disabledDatesText, + ddays = me.disabledDays ? me.disabledDays.join('') : false, + ddaysText = me.disabledDaysText, + format = me.format, + days = eDate.getDaysInMonth(date), + firstOfMonth = eDate.getFirstDateOfMonth(date), + startingPos = firstOfMonth.getDay() - me.startDay, + previousMonth = eDate.add(date, eDate.MONTH, -1), + longDayFormat = me.longDayFormat, + prevStart, + current, + disableToday, + tempDate, + setCellClass, + html, + cls, + formatValue, + value; + + if (startingPos < 0) { + startingPos += 7; + } + + days += startingPos; + prevStart = eDate.getDaysInMonth(previousMonth) - startingPos; + current = new Date(previousMonth.getFullYear(), previousMonth.getMonth(), prevStart, me.initHour); + + if (me.showToday) { + tempDate = eDate.clearTime(new Date()); + disableToday = (tempDate < min || tempDate > max || + (ddMatch && format && ddMatch.test(eDate.dateFormat(tempDate, format))) || + (ddays && ddays.indexOf(tempDate.getDay()) != -1)); + + if (!me.disabled) { + me.todayBtn.setDisabled(disableToday); + me.todayKeyListener.setDisabled(disableToday); + } + } + + setCellClass = function(cell){ + value = +eDate.clearTime(current, true); + cell.title = eDate.format(current, longDayFormat); + + cell.firstChild.dateValue = value; + if(value == today){ + cell.className += ' ' + me.todayCls; + cell.title = me.todayText; + } + if(value == sel){ + cell.className += ' ' + me.selectedCls; + me.fireEvent('highlightitem', me, cell); + if (visible && me.floating) { + Ext.fly(cell.firstChild).focus(50); + } + } + + if(value < min) { + cell.className = disabledCls; + cell.title = me.minText; + return; + } + if(value > max) { + cell.className = disabledCls; + cell.title = me.maxText; + return; + } + if(ddays){ + if(ddays.indexOf(current.getDay()) != -1){ + cell.title = ddaysText; + cell.className = disabledCls; + } + } + if(ddMatch && format){ + formatValue = eDate.dateFormat(current, format); + if(ddMatch.test(formatValue)){ + cell.title = ddText.replace('%0', formatValue); + cell.className = disabledCls; + } + } + }; + + for(; i < me.numDays; ++i) { + if (i < startingPos) { + html = (++prevStart); + cls = me.prevCls; + } else if (i >= days) { + html = (++extraDays); + cls = me.nextCls; + } else { + html = i - startingPos + 1; + cls = me.activeCls; + } + textNodes[i].innerHTML = html; + cells[i].className = cls; + current.setDate(current.getDate() + 1); + setCellClass(cells[i]); + } + + me.monthBtn.setText(Ext.Date.format(date, me.monthYearFormat)); + }, + + + update : function(date, forceRefresh){ + var me = this, + active = me.activeDate; + + if (me.rendered) { + me.activeDate = date; + if(!forceRefresh && active && me.el && active.getMonth() == date.getMonth() && active.getFullYear() == date.getFullYear()){ + me.selectedUpdate(date, active); + } else { + me.fullUpdate(date, active); + } + me.innerEl.dom.title = Ext.String.format(me.ariaTitle, Ext.Date.format(me.activeDate, me.ariaTitleDateFormat)); + } + return me; + }, + + + beforeDestroy : function() { + var me = this; + + if (me.rendered) { + Ext.destroy( + me.todayKeyListener, + me.keyNav, + me.monthPicker, + me.monthBtn, + me.nextRepeater, + me.prevRepeater, + me.todayBtn + ); + delete me.textNodes; + delete me.cells.elements; + } + me.callParent(); + }, + + + onShow: function() { + this.callParent(arguments); + if (this.focusOnShow) { + this.focus(); + } + } +}, + + +function() { + var proto = this.prototype, + date = Ext.Date; + + proto.monthNames = date.monthNames; + proto.dayNames = date.dayNames; + proto.format = date.defaultFormat; +}); + + +Ext.define('Ext.form.field.Date', { + extend:'Ext.form.field.Picker', + alias: 'widget.datefield', + requires: ['Ext.picker.Date'], + alternateClassName: ['Ext.form.DateField', 'Ext.form.Date'], + + + + format : "m/d/Y", + + + + altFormats : "m/d/Y|n/j/Y|n/j/y|m/j/y|n/d/y|m/j/Y|n/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d|n-j|n/j", + + + + disabledDaysText : "Disabled", + + + + disabledDatesText : "Disabled", + + + + minText : "The date in this field must be equal to or after {0}", + + + + maxText : "The date in this field must be equal to or before {0}", + + + + invalidText : "{0} is not a valid date - it must be in the format {1}", + + + triggerCls : Ext.baseCSSPrefix + 'form-date-trigger', + + showToday : true, + + + + + + + + + useStrict: undefined, + + + + initTime: '12', + + initTimeFormat: 'H', + + matchFieldWidth: false, + + + startDay: 0, + + + initComponent : function(){ + var me = this, + isString = Ext.isString, + min, max; + + min = me.minValue; + max = me.maxValue; + if(isString(min)){ + me.minValue = me.parseDate(min); + } + if(isString(max)){ + me.maxValue = me.parseDate(max); + } + me.disabledDatesRE = null; + me.initDisabledDays(); + + me.callParent(); + }, + + initValue: function() { + var me = this, + value = me.value; + + + if (Ext.isString(value)) { + me.value = me.rawToValue(value); + } + + me.callParent(); + }, + + + initDisabledDays : function(){ + if(this.disabledDates){ + var dd = this.disabledDates, + len = dd.length - 1, + re = "(?:", + d, + dLen = dd.length, + date; + + for (d = 0; d < dLen; d++) { + date = dd[d]; + + re += Ext.isDate(date) ? '^' + Ext.String.escapeRegex(date.dateFormat(this.format)) + '$' : date; + if (d !== len) { + re += '|'; + } + } + + this.disabledDatesRE = new RegExp(re + ')'); + } + }, + + + setDisabledDates : function(dd){ + var me = this, + picker = me.picker; + + me.disabledDates = dd; + me.initDisabledDays(); + if (picker) { + picker.setDisabledDates(me.disabledDatesRE); + } + }, + + + setDisabledDays : function(dd){ + var picker = this.picker; + + this.disabledDays = dd; + if (picker) { + picker.setDisabledDays(dd); + } + }, + + + setMinValue : function(dt){ + var me = this, + picker = me.picker, + minValue = (Ext.isString(dt) ? me.parseDate(dt) : dt); + + me.minValue = minValue; + if (picker) { + picker.minText = Ext.String.format(me.minText, me.formatDate(me.minValue)); + picker.setMinDate(minValue); + } + }, + + + setMaxValue : function(dt){ + var me = this, + picker = me.picker, + maxValue = (Ext.isString(dt) ? me.parseDate(dt) : dt); + + me.maxValue = maxValue; + if (picker) { + picker.maxText = Ext.String.format(me.maxText, me.formatDate(me.maxValue)); + picker.setMaxDate(maxValue); + } + }, + + + getErrors: function(value) { + var me = this, + format = Ext.String.format, + clearTime = Ext.Date.clearTime, + errors = me.callParent(arguments), + disabledDays = me.disabledDays, + disabledDatesRE = me.disabledDatesRE, + minValue = me.minValue, + maxValue = me.maxValue, + len = disabledDays ? disabledDays.length : 0, + i = 0, + svalue, + fvalue, + day, + time; + + value = me.formatDate(value || me.processRawValue(me.getRawValue())); + + if (value === null || value.length < 1) { + return errors; + } + + svalue = value; + value = me.parseDate(value); + if (!value) { + errors.push(format(me.invalidText, svalue, Ext.Date.unescapeFormat(me.format))); + return errors; + } + + time = value.getTime(); + if (minValue && time < clearTime(minValue).getTime()) { + errors.push(format(me.minText, me.formatDate(minValue))); + } + + if (maxValue && time > clearTime(maxValue).getTime()) { + errors.push(format(me.maxText, me.formatDate(maxValue))); + } + + if (disabledDays) { + day = value.getDay(); + + for(; i < len; i++) { + if (day === disabledDays[i]) { + errors.push(me.disabledDaysText); + break; + } + } + } + + fvalue = me.formatDate(value); + if (disabledDatesRE && disabledDatesRE.test(fvalue)) { + errors.push(format(me.disabledDatesText, fvalue)); + } + + return errors; + }, + + rawToValue: function(rawValue) { + return this.parseDate(rawValue) || rawValue || null; + }, + + valueToRaw: function(value) { + return this.formatDate(this.parseDate(value)); + }, + + + + + safeParse : function(value, format) { + var me = this, + utilDate = Ext.Date, + result = null, + strict = me.useStrict, + parsedDate; + + if (utilDate.formatContainsHourInfo(format)) { + + result = utilDate.parse(value, format, strict); + } else { + + parsedDate = utilDate.parse(value + ' ' + me.initTime, format + ' ' + me.initTimeFormat, strict); + if (parsedDate) { + result = utilDate.clearTime(parsedDate); + } + } + return result; + }, + + + getSubmitValue: function() { + var format = this.submitFormat || this.format, + value = this.getValue(); + + return value ? Ext.Date.format(value, format) : ''; + }, + + + parseDate : function(value) { + if(!value || Ext.isDate(value)){ + return value; + } + + var me = this, + val = me.safeParse(value, me.format), + altFormats = me.altFormats, + altFormatsArray = me.altFormatsArray, + i = 0, + len; + + if (!val && altFormats) { + altFormatsArray = altFormatsArray || altFormats.split('|'); + len = altFormatsArray.length; + for (; i < len && !val; ++i) { + val = me.safeParse(value, altFormatsArray[i]); + } + } + return val; + }, + + + formatDate : function(date){ + return Ext.isDate(date) ? Ext.Date.dateFormat(date, this.format) : date; + }, + + createPicker: function() { + var me = this, + format = Ext.String.format; + + return new Ext.picker.Date({ + pickerField: me, + ownerCt: me.ownerCt, + renderTo: document.body, + floating: true, + hidden: true, + focusOnShow: true, + minDate: me.minValue, + maxDate: me.maxValue, + disabledDatesRE: me.disabledDatesRE, + disabledDatesText: me.disabledDatesText, + disabledDays: me.disabledDays, + disabledDaysText: me.disabledDaysText, + format: me.format, + showToday: me.showToday, + startDay: me.startDay, + minText: format(me.minText, me.formatDate(me.minValue)), + maxText: format(me.maxText, me.formatDate(me.maxValue)), + listeners: { + scope: me, + select: me.onSelect + }, + keyNavConfig: { + esc: function() { + me.collapse(); + } + } + }); + }, + + onSelect: function(m, d) { + var me = this; + + me.setValue(d); + me.fireEvent('select', me, d); + me.collapse(); + }, + + + onExpand: function() { + var value = this.getValue(); + this.picker.setValue(Ext.isDate(value) ? value : new Date()); + }, + + + onCollapse: function() { + this.focus(false, 60); + }, + + + beforeBlur : function(){ + var me = this, + v = me.parseDate(me.getRawValue()), + focusTask = me.focusTask; + + if (focusTask) { + focusTask.cancel(); + } + + if (v) { + me.setValue(v); + } + } + + + + + +}); + + +Ext.define("Ext.form.field.File", { + extend: 'Ext.form.field.Trigger', + alias: ['widget.filefield', 'widget.fileuploadfield'], + alternateClassName: ['Ext.form.FileUploadField', 'Ext.ux.form.FileUploadField', 'Ext.form.File'], + uses: ['Ext.button.Button', 'Ext.layout.component.field.Field'], + + + + buttonText: 'Browse...', + + + + buttonOnly: false, + + + buttonMargin: 3, + + + + + + + + + + + fieldBodyCls: Ext.baseCSSPrefix + 'form-file-wrap', + + + readOnly: true, + + + triggerNoEditCls: '', + + + componentLayout: 'triggerfield', + + + childEls: ['fileInputEl', 'buttonEl', 'buttonEl-btnEl', 'browseButtonWrap'], + + + onRender: function() { + var me = this, + inputEl; + + me.callParent(arguments); + + inputEl = me.inputEl; + inputEl.dom.name = ''; + + me.fileInputEl.dom.name = me.getName(); + me.fileInputEl.on({ + scope: me, + change: me.onFileChange + }); + + if (me.buttonOnly) { + me.inputCell.setDisplayed(false); + } + + + me.browseButtonWrap.dom.style.width = (me.browseButtonWrap.dom.lastChild.offsetWidth + me.buttonEl.getMargin('lr')) + 'px'; + if (Ext.isIE) { + me.buttonEl.repaint(); + } + }, + + + getTriggerMarkup: function() { + var me = this, + result, + btn = Ext.widget('button', Ext.apply({ + id: me.id + '-buttonEl', + ui: me.ui, + disabled: me.disabled, + text: me.buttonText, + cls: Ext.baseCSSPrefix + 'form-file-btn', + preventDefault: false, + style: me.buttonOnly ? '' : 'margin-left:' + me.buttonMargin + 'px' + }, me.buttonConfig)), + btnCfg = btn.getRenderTree(), + inputElCfg = { + id: me.id + '-fileInputEl', + cls: Ext.baseCSSPrefix + 'form-file-input', + tag: 'input', + type: 'file', + size: 1 + }; + if (me.disabled) { + inputElCfg.disabled = true; + } + btnCfg.cn = inputElCfg; + result = '' + Ext.DomHelper.markup(btnCfg) + ''; + btn.destroy(); + return result; + }, + + + createFileInput : function() { + var me = this; + me.fileInputEl = me.buttonEl.createChild({ + name: me.getName(), + id: me.id + '-fileInputEl', + cls: Ext.baseCSSPrefix + 'form-file-input', + tag: 'input', + type: 'file', + size: 1 + }); + me.fileInputEl.on({ + scope: me, + change: me.onFileChange + }); + }, + + + onFileChange: function() { + this.lastValue = null; + Ext.form.field.File.superclass.setValue.call(this, this.fileInputEl.dom.value); + }, + + + setValue: Ext.emptyFn, + + reset : function(){ + var me = this; + if (me.rendered) { + me.fileInputEl.remove(); + me.createFileInput(); + me.inputEl.dom.value = ''; + } + me.callParent(); + }, + + onDisable: function(){ + this.callParent(); + this.disableItems(); + }, + + disableItems: function(){ + var file = this.fileInputEl; + if (file) { + file.dom.disabled = true; + } + this['buttonEl-btnEl'].dom.disabled = true; + }, + + onEnable: function(){ + var me = this; + me.callParent(); + me.fileInputEl.dom.disabled = false; + this['buttonEl-btnEl'].dom.disabled = false; + }, + + isFileUpload: function() { + return true; + }, + + extractFileInput: function() { + var fileInput = this.fileInputEl.dom; + this.reset(); + return fileInput; + }, + + onDestroy: function(){ + Ext.destroyMembers(this, 'fileInputEl', 'buttonEl'); + this.callParent(); + } +}); + + +Ext.define('Ext.form.field.Hidden', { + extend:'Ext.form.field.Base', + alias: ['widget.hiddenfield', 'widget.hidden'], + alternateClassName: 'Ext.form.Hidden', + + + inputType : 'hidden', + hideLabel: true, + + initComponent: function(){ + this.formItemCls += '-hidden'; + this.callParent(); + }, + + + isEqual: function(value1, value2) { + return this.isEqualAsString(value1, value2); + }, + + + initEvents: Ext.emptyFn, + setSize : Ext.emptyFn, + setWidth : Ext.emptyFn, + setHeight : Ext.emptyFn, + setPosition : Ext.emptyFn, + setPagePosition : Ext.emptyFn, + markInvalid : Ext.emptyFn, + clearInvalid : Ext.emptyFn +}); + + +Ext.define('Ext.layout.component.field.HtmlEditor', { + extend: 'Ext.layout.component.field.Field', + alias: ['layout.htmleditor'], + + type: 'htmleditor', + + + toolbarSizePolicy: { + setsWidth: 0, + setsHeight: 0 + }, + + beginLayout: function(ownerContext) { + this.callParent(arguments); + + ownerContext.textAreaContext = ownerContext.getEl('textareaEl'); + ownerContext.iframeContext = ownerContext.getEl('iframeEl'); + ownerContext.toolbarContext = ownerContext.context.getCmp(this.owner.getToolbar()); + }, + + + renderItems: Ext.emptyFn, + + getItemSizePolicy: function (item) { + + return this.toolbarSizePolicy; + }, + + getLayoutItems: function () { + var toolbar = this.owner.getToolbar(); + + return toolbar ? [toolbar] : []; + }, + + getRenderTarget: function() { + return this.owner.bodyEl; + }, + + publishInnerHeight: function (ownerContext, height) { + var me = this, + innerHeight = height - me.measureLabelErrorHeight(ownerContext) - + ownerContext.toolbarContext.getProp('height') - + ownerContext.bodyCellContext.getPaddingInfo().height; + + + if (Ext.isNumber(innerHeight)) { + ownerContext.textAreaContext.setHeight(innerHeight); + ownerContext.iframeContext.setHeight(innerHeight); + } else { + me.done = false; + } + } +}); + + +Ext.define('Ext.picker.Color', { + extend: 'Ext.Component', + requires: 'Ext.XTemplate', + alias: 'widget.colorpicker', + alternateClassName: 'Ext.ColorPalette', + + + componentCls : Ext.baseCSSPrefix + 'color-picker', + + + selectedCls: Ext.baseCSSPrefix + 'color-picker-selected', + + + value : null, + + + clickEvent :'click', + + + allowReselect : false, + + + colors : [ + '000000', '993300', '333300', '003300', '003366', '000080', '333399', '333333', + '800000', 'FF6600', '808000', '008000', '008080', '0000FF', '666699', '808080', + 'FF0000', 'FF9900', '99CC00', '339966', '33CCCC', '3366FF', '800080', '969696', + 'FF00FF', 'FFCC00', 'FFFF00', '00FF00', '00FFFF', '00CCFF', '993366', 'C0C0C0', + 'FF99CC', 'FFCC99', 'FFFF99', 'CCFFCC', 'CCFFFF', '99CCFF', 'CC99FF', 'FFFFFF' + ], + + + + + + colorRe: /(?:^|\s)color-(.{6})(?:\s|$)/, + + renderTpl: [ + '', + '', + ' ', + '', + '' + ], + + + initComponent : function(){ + var me = this; + + me.callParent(arguments); + me.addEvents( + + 'select' + ); + + if (me.handler) { + me.on('select', me.handler, me.scope, true); + } + }, + + + + initRenderData : function(){ + var me = this; + return Ext.apply(me.callParent(), { + itemCls: me.itemCls, + colors: me.colors + }); + }, + + onRender : function(){ + var me = this, + clickEvent = me.clickEvent; + + me.callParent(arguments); + + me.mon(me.el, clickEvent, me.handleClick, me, {delegate: 'a'}); + + if(clickEvent != 'click'){ + me.mon(me.el, 'click', Ext.emptyFn, me, {delegate: 'a', stopEvent: true}); + } + }, + + + afterRender : function(){ + var me = this, + value; + + me.callParent(arguments); + if (me.value) { + value = me.value; + me.value = null; + me.select(value, true); + } + }, + + + handleClick : function(event, target){ + var me = this, + color; + + event.stopEvent(); + if (!me.disabled) { + color = target.className.match(me.colorRe)[1]; + me.select(color.toUpperCase()); + } + }, + + + select : function(color, suppressEvent){ + + var me = this, + selectedCls = me.selectedCls, + value = me.value, + el; + + color = color.replace('#', ''); + if (!me.rendered) { + me.value = color; + return; + } + + + if (color != value || me.allowReselect) { + el = me.el; + + if (me.value) { + el.down('a.color-' + value).removeCls(selectedCls); + } + el.down('a.color-' + color).addCls(selectedCls); + me.value = color; + if (suppressEvent !== true) { + me.fireEvent('select', me, color); + } + } + }, + + + getValue: function(){ + return this.value || null; + } +}); + + +Ext.define('Ext.form.field.HtmlEditor', { + extend:'Ext.Component', + mixins: { + labelable: 'Ext.form.Labelable', + field: 'Ext.form.field.Field' + }, + alias: 'widget.htmleditor', + alternateClassName: 'Ext.form.HtmlEditor', + requires: [ + 'Ext.tip.QuickTipManager', + 'Ext.picker.Color', + 'Ext.toolbar.Item', + 'Ext.toolbar.Toolbar', + 'Ext.util.Format', + 'Ext.layout.component.field.HtmlEditor' + ], + + childEls: [ + 'iframeEl', 'textareaEl' + ], + + fieldSubTpl: [ + '{beforeTextAreaTpl}', + '', + '{afterTextAreaTpl}', + '{beforeIFrameTpl}', + '', + '{afterIFrameTpl}', + { + disableFormats: true + } + ], + + subTplInsertions: [ + + 'beforeTextAreaTpl', + + + 'afterTextAreaTpl', + + + 'beforeIFrameTpl', + + + 'afterIFrameTpl', + + + 'iframeAttrTpl', + + + 'inputAttrTpl' + ], + + + enableFormat : true, + + enableFontSize : true, + + enableColors : true, + + enableAlignments : true, + + enableLists : true, + + enableSourceEdit : true, + + enableLinks : true, + + enableFont : true, + + + createLinkText : 'Please enter the URL for the link:', + + + defaultLinkValue : 'http:/'+'/', + + fontFamilies : [ + 'Arial', + 'Courier New', + 'Tahoma', + 'Times New Roman', + 'Verdana' + ], + defaultFont: 'tahoma', + + defaultValue: (Ext.isOpera || Ext.isIE6) ? ' ' : '​', + + editorWrapCls: Ext.baseCSSPrefix + 'html-editor-wrap', + + componentLayout: 'htmleditor', + + + initialized : false, + activated : false, + sourceEditMode : false, + iframePad:3, + hideMode:'offsets', + + afterBodyEl: '', + + maskOnDisable: true, + + + initComponent : function(){ + var me = this; + + me.addEvents( + + 'initialize', + + 'activate', + + 'beforesync', + + 'beforepush', + + 'sync', + + 'push', + + 'editmodechange' + ); + + me.callParent(arguments); + me.createToolbar(me); + + + me.initLabelable(); + me.initField(); + }, + + + getRefItems: function() { + return [ this.toolbar ]; + }, + + + createToolbar : function(editor){ + var me = this, + items = [], i, + tipsEnabled = Ext.tip.QuickTipManager && Ext.tip.QuickTipManager.isEnabled(), + baseCSSPrefix = Ext.baseCSSPrefix, + fontSelectItem, toolbar, undef; + + function btn(id, toggle, handler){ + return { + itemId : id, + cls : baseCSSPrefix + 'btn-icon', + iconCls: baseCSSPrefix + 'edit-'+id, + enableToggle:toggle !== false, + scope: editor, + handler:handler||editor.relayBtnCmd, + clickEvent: 'mousedown', + tooltip: tipsEnabled ? editor.buttonTips[id] || undef : undef, + overflowText: editor.buttonTips[id].title || undef, + tabIndex: -1 + }; + } + + + if (me.enableFont && !Ext.isSafari2) { + fontSelectItem = Ext.widget('component', { + renderTpl: [ + '' + ], + renderData: { + cls: baseCSSPrefix + 'font-select', + fonts: me.fontFamilies, + defaultFont: me.defaultFont + }, + childEls: ['selectEl'], + afterRender: function() { + me.fontSelect = this.selectEl; + Ext.Component.prototype.afterRender.apply(this, arguments); + }, + onDisable: function() { + var selectEl = this.selectEl; + if (selectEl) { + selectEl.dom.disabled = true; + } + Ext.Component.prototype.onDisable.apply(this, arguments); + }, + onEnable: function() { + var selectEl = this.selectEl; + if (selectEl) { + selectEl.dom.disabled = false; + } + Ext.Component.prototype.onEnable.apply(this, arguments); + }, + listeners: { + change: function() { + me.relayCmd('fontname', me.fontSelect.dom.value); + me.deferFocus(); + }, + element: 'selectEl' + } + }); + + items.push( + fontSelectItem, + '-' + ); + } + + if (me.enableFormat) { + items.push( + btn('bold'), + btn('italic'), + btn('underline') + ); + } + + if (me.enableFontSize) { + items.push( + '-', + btn('increasefontsize', false, me.adjustFont), + btn('decreasefontsize', false, me.adjustFont) + ); + } + + if (me.enableColors) { + items.push( + '-', { + itemId: 'forecolor', + cls: baseCSSPrefix + 'btn-icon', + iconCls: baseCSSPrefix + 'edit-forecolor', + overflowText: editor.buttonTips.forecolor.title, + tooltip: tipsEnabled ? editor.buttonTips.forecolor || undef : undef, + tabIndex:-1, + menu : Ext.widget('menu', { + plain: true, + items: [{ + xtype: 'colorpicker', + allowReselect: true, + focus: Ext.emptyFn, + value: '000000', + plain: true, + clickEvent: 'mousedown', + handler: function(cp, color) { + me.execCmd('forecolor', Ext.isWebKit || Ext.isIE ? '#'+color : color); + me.deferFocus(); + this.up('menu').hide(); + } + }] + }) + }, { + itemId: 'backcolor', + cls: baseCSSPrefix + 'btn-icon', + iconCls: baseCSSPrefix + 'edit-backcolor', + overflowText: editor.buttonTips.backcolor.title, + tooltip: tipsEnabled ? editor.buttonTips.backcolor || undef : undef, + tabIndex:-1, + menu : Ext.widget('menu', { + plain: true, + items: [{ + xtype: 'colorpicker', + focus: Ext.emptyFn, + value: 'FFFFFF', + plain: true, + allowReselect: true, + clickEvent: 'mousedown', + handler: function(cp, color) { + if (Ext.isGecko) { + me.execCmd('useCSS', false); + me.execCmd('hilitecolor', color); + me.execCmd('useCSS', true); + me.deferFocus(); + } else { + me.execCmd(Ext.isOpera ? 'hilitecolor' : 'backcolor', Ext.isWebKit || Ext.isIE ? '#'+color : color); + me.deferFocus(); + } + this.up('menu').hide(); + } + }] + }) + } + ); + } + + if (me.enableAlignments) { + items.push( + '-', + btn('justifyleft'), + btn('justifycenter'), + btn('justifyright') + ); + } + + if (!Ext.isSafari2) { + if (me.enableLinks) { + items.push( + '-', + btn('createlink', false, me.createLink) + ); + } + + if (me.enableLists) { + items.push( + '-', + btn('insertorderedlist'), + btn('insertunorderedlist') + ); + } + if (me.enableSourceEdit) { + items.push( + '-', + btn('sourceedit', true, function(btn){ + me.toggleSourceEdit(!me.sourceEditMode); + }) + ); + } + } + + + for (i = 0; i < items.length; i++) { + if (items[i].itemId !== 'sourceedit') { + items[i].disabled = true; + } + } + + + + toolbar = Ext.widget('toolbar', { + id: me.id + '-toolbar', + ownerCt: me, + cls: Ext.baseCSSPrefix + 'html-editor-tb', + enableOverflow: true, + items: items, + ownerLayout: me.getComponentLayout(), + + + listeners: { + click: function(e){ + e.preventDefault(); + }, + element: 'el' + } + }); + + me.toolbar = toolbar; + }, + + getMaskTarget: function(){ + return this.bodyEl; + }, + + + setReadOnly: function(readOnly) { + var me = this, + textareaEl = me.textareaEl, + iframeEl = me.iframeEl, + body; + + me.readOnly = readOnly; + + if (textareaEl) { + textareaEl.dom.readOnly = readOnly; + } + + if (me.initialized) { + body = me.getEditorBody(); + if (Ext.isIE) { + + iframeEl.setDisplayed(false); + body.contentEditable = !readOnly; + iframeEl.setDisplayed(true); + } else { + me.setDesignMode(!readOnly); + } + if (body) { + body.style.cursor = readOnly ? 'default' : 'text'; + } + me.disableItems(readOnly); + } + }, + + + getDocMarkup: function() { + var me = this, + h = me.iframeEl.getHeight() - me.iframePad * 2; + return Ext.String.format('', me.iframePad, h); + }, + + + getEditorBody: function() { + var doc = this.getDoc(); + return doc.body || doc.documentElement; + }, + + + getDoc: function() { + return (!Ext.isIE && this.iframeEl.dom.contentDocument) || this.getWin().document; + }, + + + getWin: function() { + return Ext.isIE ? this.iframeEl.dom.contentWindow : window.frames[this.iframeEl.dom.name]; + }, + + + + finishRenderChildren: function () { + this.callParent(); + this.toolbar.finishRender(); + }, + + + onRender: function() { + var me = this; + + me.callParent(arguments); + + + + me.inputEl = me.iframeEl; + + + me.monitorTask = Ext.TaskManager.start({ + run: me.checkDesignMode, + scope: me, + interval: 100 + }); + }, + + initRenderTpl: function() { + var me = this; + if (!me.hasOwnProperty('renderTpl')) { + me.renderTpl = me.getTpl('labelableRenderTpl'); + } + return me.callParent(); + }, + + initRenderData: function() { + this.beforeSubTpl = '
' + Ext.DomHelper.markup(this.toolbar.getRenderTree()); + return Ext.applyIf(this.callParent(), this.getLabelableRenderData()); + }, + + getSubTplData: function() { + return { + $comp : this, + cmpId : this.id, + id : this.getInputId(), + textareaCls : Ext.baseCSSPrefix + 'hidden', + value : this.value, + iframeName : Ext.id(), + iframeSrc : Ext.SSL_SECURE_URL, + size : 'height:100px;width:100%' + }; + }, + + getSubTplMarkup: function() { + return this.getTpl('fieldSubTpl').apply(this.getSubTplData()); + }, + + initFrameDoc: function() { + var me = this, + doc, task; + + Ext.TaskManager.stop(me.monitorTask); + + doc = me.getDoc(); + me.win = me.getWin(); + + doc.open(); + doc.write(me.getDocMarkup()); + doc.close(); + + task = { + run: function() { + var doc = me.getDoc(); + if (doc.body || doc.readyState === 'complete') { + Ext.TaskManager.stop(task); + me.setDesignMode(true); + Ext.defer(me.initEditor, 10, me); + } + }, + interval : 10, + duration:10000, + scope: me + }; + Ext.TaskManager.start(task); + }, + + checkDesignMode: function() { + var me = this, + doc = me.getDoc(); + if (doc && (!doc.editorInitialized || me.getDesignMode() !== 'on')) { + me.initFrameDoc(); + } + }, + + + setDesignMode: function(mode) { + var me = this, + doc = me.getDoc(); + if (doc) { + if (me.readOnly) { + mode = false; + } + doc.designMode = (/on|true/i).test(String(mode).toLowerCase()) ?'on':'off'; + } + }, + + + getDesignMode: function() { + var doc = this.getDoc(); + return !doc ? '' : String(doc.designMode).toLowerCase(); + }, + + disableItems: function(disabled) { + var items = this.getToolbar().items.items, + i, + iLen = items.length, + item; + + for (i = 0; i < iLen; i++) { + item = items[i]; + + if (item.getItemId() !== 'sourceedit') { + item.setDisabled(disabled); + } + } + }, + + + toggleSourceEdit: function(sourceEditMode) { + var me = this, + iframe = me.iframeEl, + textarea = me.textareaEl, + hiddenCls = Ext.baseCSSPrefix + 'hidden', + btn = me.getToolbar().getComponent('sourceedit'); + + if (!Ext.isBoolean(sourceEditMode)) { + sourceEditMode = !me.sourceEditMode; + } + me.sourceEditMode = sourceEditMode; + + if (btn.pressed !== sourceEditMode) { + btn.toggle(sourceEditMode); + } + if (sourceEditMode) { + me.disableItems(true); + me.syncValue(); + iframe.addCls(hiddenCls); + textarea.removeCls(hiddenCls); + textarea.dom.removeAttribute('tabIndex'); + textarea.focus(); + me.inputEl = textarea; + } + else { + if (me.initialized) { + me.disableItems(me.readOnly); + } + me.pushValue(); + iframe.removeCls(hiddenCls); + textarea.addCls(hiddenCls); + textarea.dom.setAttribute('tabIndex', -1); + me.deferFocus(); + me.inputEl = iframe; + } + me.fireEvent('editmodechange', me, sourceEditMode); + me.updateLayout(); + }, + + + createLink : function() { + var url = prompt(this.createLinkText, this.defaultLinkValue); + if (url && url !== 'http:/'+'/') { + this.relayCmd('createlink', url); + } + }, + + clearInvalid: Ext.emptyFn, + + + setValue: function(value) { + var me = this, + textarea = me.textareaEl; + me.mixins.field.setValue.call(me, value); + if (value === null || value === undefined) { + value = ''; + } + if (textarea) { + textarea.dom.value = value; + } + me.pushValue(); + return this; + }, + + + cleanHtml: function(html) { + html = String(html); + if (Ext.isWebKit) { + html = html.replace(/\sclass="(?:Apple-style-span|khtml-block-placeholder)"/gi, ''); + } + + + if (html.charCodeAt(0) === parseInt(this.defaultValue.replace(/\D/g, ''), 10)) { + html = html.substring(1); + } + return html; + }, + + + syncValue : function(){ + var me = this, + body, changed, html, bodyStyle, match; + + if (me.initialized) { + body = me.getEditorBody(); + html = body.innerHTML; + if (Ext.isWebKit) { + bodyStyle = body.getAttribute('style'); + match = bodyStyle.match(/text-align:(.*?);/i); + if (match && match[1]) { + html = '
' + html + '
'; + } + } + html = me.cleanHtml(html); + if (me.fireEvent('beforesync', me, html) !== false) { + if (me.textareaEl.dom.value != html) { + me.textareaEl.dom.value = html; + changed = true; + } + + me.fireEvent('sync', me, html); + + if (changed) { + + + me.checkChange(); + } + } + } + }, + + + getValue : function() { + var me = this, + value; + if (!me.sourceEditMode) { + me.syncValue(); + } + value = me.rendered ? me.textareaEl.dom.value : me.value; + me.value = value; + return value; + }, + + + pushValue: function() { + var me = this, + v; + if(me.initialized){ + v = me.textareaEl.dom.value || ''; + if (!me.activated && v.length < 1) { + v = me.defaultValue; + } + if (me.fireEvent('beforepush', me, v) !== false) { + me.getEditorBody().innerHTML = v; + if (Ext.isGecko) { + + me.setDesignMode(false); + me.setDesignMode(true); + } + me.fireEvent('push', me, v); + } + } + }, + + + deferFocus : function(){ + this.focus(false, true); + }, + + getFocusEl: function() { + var me = this, + win = me.win; + return win && !me.sourceEditMode ? win : me.textareaEl; + }, + + + initEditor : function(){ + + try { + var me = this, + dbody = me.getEditorBody(), + ss = me.textareaEl.getStyles('font-size', 'font-family', 'background-image', 'background-repeat', 'background-color', 'color'), + doc, + fn; + + ss['background-attachment'] = 'fixed'; + dbody.bgProperties = 'fixed'; + + Ext.DomHelper.applyStyles(dbody, ss); + + doc = me.getDoc(); + + if (doc) { + try { + Ext.EventManager.removeAll(doc); + } catch(e) {} + } + + + fn = Ext.Function.bind(me.onEditorEvent, me); + Ext.EventManager.on(doc, { + mousedown: fn, + dblclick: fn, + click: fn, + keyup: fn, + buffer:100 + }); + + + + + + + fn = me.onRelayedEvent; + Ext.EventManager.on(doc, { + mousedown: fn, + mousemove: fn, + mouseup: fn, + click: fn, + dblclick: fn, + scope: me + }); + + if (Ext.isGecko) { + Ext.EventManager.on(doc, 'keypress', me.applyCommand, me); + } + if (me.fixKeys) { + Ext.EventManager.on(doc, 'keydown', me.fixKeys, me); + } + + + Ext.EventManager.on(window, 'unload', me.beforeDestroy, me); + doc.editorInitialized = true; + + me.initialized = true; + me.pushValue(); + me.setReadOnly(me.readOnly); + me.fireEvent('initialize', me); + } catch(ex) { + + } + }, + + + beforeDestroy : function(){ + var me = this, + monitorTask = me.monitorTask, + doc, prop; + + if (monitorTask) { + Ext.TaskManager.stop(monitorTask); + } + if (me.rendered) { + try { + doc = me.getDoc(); + if (doc) { + + + + + + Ext.EventManager.removeAll(Ext.fly(doc)); + for (prop in doc) { + if (doc.hasOwnProperty && doc.hasOwnProperty(prop)) { + delete doc[prop]; + } + } + } + } catch(e) { + + } + Ext.destroyMembers(me, 'toolbar', 'iframeEl', 'textareaEl'); + } + me.callParent(); + }, + + + onRelayedEvent: function (event) { + + + var iframeEl = this.iframeEl, + iframeXY = iframeEl.getXY(), + eventXY = event.getXY(); + + + + event.xy = [iframeXY[0] + eventXY[0], iframeXY[1] + eventXY[1]]; + + event.injectEvent(iframeEl); + + event.xy = eventXY; + }, + + + onFirstFocus : function(){ + var me = this, + selection, range; + me.activated = true; + me.disableItems(me.readOnly); + if (Ext.isGecko) { + me.win.focus(); + selection = me.win.getSelection(); + if (!selection.focusNode || selection.focusNode.nodeType !== 3) { + range = selection.getRangeAt(0); + range.selectNodeContents(me.getEditorBody()); + range.collapse(true); + me.deferFocus(); + } + try { + me.execCmd('useCSS', true); + me.execCmd('styleWithCSS', false); + } catch(e) { + + } + } + me.fireEvent('activate', me); + }, + + + adjustFont: function(btn) { + var adjust = btn.getItemId() === 'increasefontsize' ? 1 : -1, + size = this.getDoc().queryCommandValue('FontSize') || '2', + isPxSize = Ext.isString(size) && size.indexOf('px') !== -1, + isSafari; + size = parseInt(size, 10); + if (isPxSize) { + + + if (size <= 10) { + size = 1 + adjust; + } + else if (size <= 13) { + size = 2 + adjust; + } + else if (size <= 16) { + size = 3 + adjust; + } + else if (size <= 18) { + size = 4 + adjust; + } + else if (size <= 24) { + size = 5 + adjust; + } + else { + size = 6 + adjust; + } + size = Ext.Number.constrain(size, 1, 6); + } else { + isSafari = Ext.isSafari; + if (isSafari) { + adjust *= 2; + } + size = Math.max(1, size + adjust) + (isSafari ? 'px' : 0); + } + this.execCmd('FontSize', size); + }, + + + onEditorEvent: function(e) { + this.updateToolbar(); + }, + + + updateToolbar: function() { + var me = this, + btns, doc, name, fontSelect; + + if (me.readOnly) { + return; + } + + if (!me.activated) { + me.onFirstFocus(); + return; + } + + btns = me.getToolbar().items.map; + doc = me.getDoc(); + + if (me.enableFont && !Ext.isSafari2) { + name = (doc.queryCommandValue('FontName') || me.defaultFont).toLowerCase(); + fontSelect = me.fontSelect.dom; + if (name !== fontSelect.value) { + fontSelect.value = name; + } + } + + function updateButtons() { + for (var i = 0, l = arguments.length, name; i < l; i++) { + name = arguments[i]; + btns[name].toggle(doc.queryCommandState(name)); + } + } + if(me.enableFormat){ + updateButtons('bold', 'italic', 'underline'); + } + if(me.enableAlignments){ + updateButtons('justifyleft', 'justifycenter', 'justifyright'); + } + if(!Ext.isSafari2 && me.enableLists){ + updateButtons('insertorderedlist', 'insertunorderedlist'); + } + + Ext.menu.Manager.hideAll(); + + me.syncValue(); + }, + + + relayBtnCmd: function(btn) { + this.relayCmd(btn.getItemId()); + }, + + + relayCmd: function(cmd, value) { + Ext.defer(function() { + var me = this; + me.focus(); + me.execCmd(cmd, value); + me.updateToolbar(); + }, 10, this); + }, + + + execCmd : function(cmd, value){ + var me = this, + doc = me.getDoc(), + undef; + doc.execCommand(cmd, false, value === undef ? null : value); + me.syncValue(); + }, + + + applyCommand : function(e){ + if (e.ctrlKey) { + var me = this, + c = e.getCharCode(), cmd; + if (c > 0) { + c = String.fromCharCode(c); + switch (c) { + case 'b': + cmd = 'bold'; + break; + case 'i': + cmd = 'italic'; + break; + case 'u': + cmd = 'underline'; + break; + } + if (cmd) { + me.win.focus(); + me.execCmd(cmd); + me.deferFocus(); + e.preventDefault(); + } + } + } + }, + + + insertAtCursor : function(text){ + var me = this, + range; + + if (me.activated) { + me.win.focus(); + if (Ext.isIE) { + range = me.getDoc().selection.createRange(); + if (range) { + range.pasteHTML(text); + me.syncValue(); + me.deferFocus(); + } + }else{ + me.execCmd('InsertHTML', text); + me.deferFocus(); + } + } + }, + + + fixKeys: (function() { + if (Ext.isIE) { + return function(e){ + var me = this, + k = e.getKey(), + doc = me.getDoc(), + readOnly = me.readOnly, + range, target; + + if (k === e.TAB) { + e.stopEvent(); + if (!readOnly) { + range = doc.selection.createRange(); + if(range){ + range.collapse(true); + range.pasteHTML('    '); + me.deferFocus(); + } + } + } + else if (k === e.ENTER) { + if (!readOnly) { + range = doc.selection.createRange(); + if (range) { + target = range.parentElement(); + if(!target || target.tagName.toLowerCase() !== 'li'){ + e.stopEvent(); + range.pasteHTML('
'); + range.collapse(false); + range.select(); + } + } + } + } + }; + } + + if (Ext.isOpera) { + return function(e){ + var me = this; + if (e.getKey() === e.TAB) { + e.stopEvent(); + if (!me.readOnly) { + me.win.focus(); + me.execCmd('InsertHTML','    '); + me.deferFocus(); + } + } + }; + } + + if (Ext.isWebKit) { + return function(e){ + var me = this, + k = e.getKey(), + readOnly = me.readOnly; + + if (k === e.TAB) { + e.stopEvent(); + if (!readOnly) { + me.execCmd('InsertText','\t'); + me.deferFocus(); + } + } + else if (k === e.ENTER) { + e.stopEvent(); + if (!readOnly) { + me.execCmd('InsertHtml','

'); + me.deferFocus(); + } + } + }; + } + + return null; + }()), + + + getToolbar : function(){ + return this.toolbar; + }, + + + + buttonTips : { + bold : { + title: 'Bold (Ctrl+B)', + text: 'Make the selected text bold.', + cls: Ext.baseCSSPrefix + 'html-editor-tip' + }, + italic : { + title: 'Italic (Ctrl+I)', + text: 'Make the selected text italic.', + cls: Ext.baseCSSPrefix + 'html-editor-tip' + }, + underline : { + title: 'Underline (Ctrl+U)', + text: 'Underline the selected text.', + cls: Ext.baseCSSPrefix + 'html-editor-tip' + }, + increasefontsize : { + title: 'Grow Text', + text: 'Increase the font size.', + cls: Ext.baseCSSPrefix + 'html-editor-tip' + }, + decreasefontsize : { + title: 'Shrink Text', + text: 'Decrease the font size.', + cls: Ext.baseCSSPrefix + 'html-editor-tip' + }, + backcolor : { + title: 'Text Highlight Color', + text: 'Change the background color of the selected text.', + cls: Ext.baseCSSPrefix + 'html-editor-tip' + }, + forecolor : { + title: 'Font Color', + text: 'Change the color of the selected text.', + cls: Ext.baseCSSPrefix + 'html-editor-tip' + }, + justifyleft : { + title: 'Align Text Left', + text: 'Align text to the left.', + cls: Ext.baseCSSPrefix + 'html-editor-tip' + }, + justifycenter : { + title: 'Center Text', + text: 'Center text in the editor.', + cls: Ext.baseCSSPrefix + 'html-editor-tip' + }, + justifyright : { + title: 'Align Text Right', + text: 'Align text to the right.', + cls: Ext.baseCSSPrefix + 'html-editor-tip' + }, + insertunorderedlist : { + title: 'Bullet List', + text: 'Start a bulleted list.', + cls: Ext.baseCSSPrefix + 'html-editor-tip' + }, + insertorderedlist : { + title: 'Numbered List', + text: 'Start a numbered list.', + cls: Ext.baseCSSPrefix + 'html-editor-tip' + }, + createlink : { + title: 'Hyperlink', + text: 'Make the selected text a hyperlink.', + cls: Ext.baseCSSPrefix + 'html-editor-tip' + }, + sourceedit : { + title: 'Source Edit', + text: 'Switch to source editing mode.', + cls: Ext.baseCSSPrefix + 'html-editor-tip' + } + } + + + + + + + + + + + + + + + + + + +}); + + +Ext.define('Ext.form.field.Radio', { + extend:'Ext.form.field.Checkbox', + alias: ['widget.radiofield', 'widget.radio'], + alternateClassName: 'Ext.form.Radio', + requires: ['Ext.form.RadioManager'], + + + isRadio: true, + + + + + inputType: 'radio', + ariaRole: 'radio', + + formId: null, + + + getGroupValue: function() { + var selected = this.getManager().getChecked(this.name, this.getFormId()); + return selected ? selected.inputValue : null; + }, + + + onBoxClick: function(e) { + var me = this; + if (!me.disabled && !me.readOnly) { + this.setValue(true); + } + }, + + onRemoved: function(){ + this.callParent(arguments); + this.formId = null; + }, + + + setValue: function(v) { + var me = this, + active; + + if (Ext.isBoolean(v)) { + me.callParent(arguments); + } else { + active = me.getManager().getWithValue(me.name, v, me.getFormId()).getAt(0); + if (active) { + active.setValue(true); + } + } + return me; + }, + + + getSubmitValue: function() { + return this.checked ? this.inputValue : null; + }, + + getModelData: function() { + return this.getSubmitData(); + }, + + + onChange: function(newVal, oldVal) { + var me = this, + r, rLen, radio, radios; + + me.callParent(arguments); + + if (newVal) { + radios = me.getManager().getByName(me.name, me.getFormId()).items; + rLen = radios.length; + + for (r = 0; r < rLen; r++) { + radio = radios[r]; + + if (radio !== me) { + radio.setValue(false); + } + } + } + }, + + + getManager: function() { + return Ext.form.RadioManager; + } +}); + + +Ext.define('Ext.picker.Time', { + extend: 'Ext.view.BoundList', + alias: 'widget.timepicker', + requires: ['Ext.data.Store', 'Ext.Date'], + + + + + + + increment: 15, + + + + format : "g:i A", + + + + displayField: 'disp', + + + initDate: [2008,0,1], + + componentCls: Ext.baseCSSPrefix + 'timepicker', + + + loadMask: false, + + initComponent: function() { + var me = this, + dateUtil = Ext.Date, + clearTime = dateUtil.clearTime, + initDate = me.initDate; + + + me.absMin = clearTime(new Date(initDate[0], initDate[1], initDate[2])); + me.absMax = dateUtil.add(clearTime(new Date(initDate[0], initDate[1], initDate[2])), 'mi', (24 * 60) - 1); + + me.store = me.createStore(); + me.updateList(); + + me.callParent(); + }, + + + setMinValue: function(value) { + this.minValue = value; + this.updateList(); + }, + + + setMaxValue: function(value) { + this.maxValue = value; + this.updateList(); + }, + + + normalizeDate: function(date) { + var initDate = this.initDate; + date.setFullYear(initDate[0], initDate[1], initDate[2]); + return date; + }, + + + updateList: function() { + var me = this, + min = me.normalizeDate(me.minValue || me.absMin), + max = me.normalizeDate(me.maxValue || me.absMax); + + me.store.filterBy(function(record) { + var date = record.get('date'); + return date >= min && date <= max; + }); + }, + + + createStore: function() { + var me = this, + utilDate = Ext.Date, + times = [], + min = me.absMin, + max = me.absMax; + + while(min <= max){ + times.push({ + disp: utilDate.dateFormat(min, me.format), + date: min + }); + min = utilDate.add(min, 'mi', me.increment); + } + + return new Ext.data.Store({ + fields: ['disp', 'date'], + data: times + }); + } + +}); + + +Ext.define('Ext.form.field.Time', { + extend:'Ext.form.field.ComboBox', + alias: 'widget.timefield', + requires: ['Ext.form.field.Date', 'Ext.picker.Time', 'Ext.view.BoundListKeyNav', 'Ext.Date'], + alternateClassName: ['Ext.form.TimeField', 'Ext.form.Time'], + + + triggerCls: Ext.baseCSSPrefix + 'form-time-trigger', + + + + + + + + minText : "The time in this field must be equal to or after {0}", + + + + + maxText : "The time in this field must be equal to or before {0}", + + + + + invalidText : "{0} is not a valid time", + + + + + format : "g:i A", + + + + + + + + + altFormats : "g:ia|g:iA|g:i a|g:i A|h:i|g:i|H:i|ga|ha|gA|h a|g a|g A|gi|hi|gia|hia|g|H|gi a|hi a|giA|hiA|gi A|hi A", + + + + increment: 15, + + + pickerMaxHeight: 300, + + + selectOnTab: true, + + + snapToIncrement: false, + + + initDate: '1/1/2008', + initDateFormat: 'j/n/Y', + + ignoreSelection: 0, + + queryMode: 'local', + + displayField: 'disp', + + valueField: 'date', + + initComponent: function() { + var me = this, + min = me.minValue, + max = me.maxValue; + if (min) { + me.setMinValue(min); + } + if (max) { + me.setMaxValue(max); + } + me.displayTpl = new Ext.XTemplate( + '' + + '{[typeof values === "string" ? values : this.formatDate(values["' + me.displayField + '"])]}' + + '' + me.delimiter + '' + + '', { + formatDate: Ext.Function.bind(me.formatDate, me) + }); + this.callParent(); + }, + + + transformOriginalValue: function(value) { + if (Ext.isString(value)) { + return this.rawToValue(value); + } + return value; + }, + + + isEqual: function(v1, v2) { + return Ext.Date.isEqual(v1, v2); + }, + + + setMinValue: function(value) { + var me = this, + picker = me.picker; + me.setLimit(value, true); + if (picker) { + picker.setMinValue(me.minValue); + } + }, + + + setMaxValue: function(value) { + var me = this, + picker = me.picker; + me.setLimit(value, false); + if (picker) { + picker.setMaxValue(me.maxValue); + } + }, + + + setLimit: function(value, isMin) { + var me = this, + d, val; + if (Ext.isString(value)) { + d = me.parseDate(value); + } + else if (Ext.isDate(value)) { + d = value; + } + if (d) { + val = Ext.Date.clearTime(new Date(me.initDate)); + val.setHours(d.getHours(), d.getMinutes(), d.getSeconds(), d.getMilliseconds()); + } + + else { + val = null; + } + me[isMin ? 'minValue' : 'maxValue'] = val; + }, + + rawToValue: function(rawValue) { + return this.parseDate(rawValue) || rawValue || null; + }, + + valueToRaw: function(value) { + return this.formatDate(this.parseDate(value)); + }, + + + getErrors: function(value) { + var me = this, + format = Ext.String.format, + errors = me.callParent(arguments), + minValue = me.minValue, + maxValue = me.maxValue, + date; + + value = me.formatDate(value || me.processRawValue(me.getRawValue())); + + if (value === null || value.length < 1) { + return errors; + } + + date = me.parseDate(value); + if (!date) { + errors.push(format(me.invalidText, value, Ext.Date.unescapeFormat(me.format))); + return errors; + } + + if (minValue && date < minValue) { + errors.push(format(me.minText, me.formatDate(minValue))); + } + + if (maxValue && date > maxValue) { + errors.push(format(me.maxText, me.formatDate(maxValue))); + } + + return errors; + }, + + formatDate: function() { + return Ext.form.field.Date.prototype.formatDate.apply(this, arguments); + }, + + + parseDate: function(value) { + var me = this, + val = value, + altFormats = me.altFormats, + altFormatsArray = me.altFormatsArray, + i = 0, + len; + + if (value && !Ext.isDate(value)) { + val = me.safeParse(value, me.format); + + if (!val && altFormats) { + altFormatsArray = altFormatsArray || altFormats.split('|'); + len = altFormatsArray.length; + for (; i < len && !val; ++i) { + val = me.safeParse(value, altFormatsArray[i]); + } + } + } + + + if (val && me.snapToIncrement) { + val = new Date(Ext.Number.snap(val.getTime(), me.increment * 60 * 1000)); + } + return val; + }, + + safeParse: function(value, format){ + var me = this, + utilDate = Ext.Date, + parsedDate, + result = null; + + if (utilDate.formatContainsDateInfo(format)) { + + result = utilDate.parse(value, format); + } else { + + parsedDate = utilDate.parse(me.initDate + ' ' + value, me.initDateFormat + ' ' + format); + if (parsedDate) { + result = parsedDate; + } + } + return result; + }, + + + getSubmitValue: function() { + var me = this, + format = me.submitFormat || me.format, + value = me.getValue(); + + return value ? Ext.Date.format(value, format) : null; + }, + + + createPicker: function() { + var me = this, + picker; + + me.listConfig = Ext.apply({ + xtype: 'timepicker', + selModel: { + mode: 'SINGLE' + }, + cls: undefined, + minValue: me.minValue, + maxValue: me.maxValue, + increment: me.increment, + format: me.format, + maxHeight: me.pickerMaxHeight + }, me.listConfig); + picker = me.callParent(); + me.store = picker.store; + return picker; + }, + + onItemClick: function(picker, record){ + + var me = this, + selected = picker.getSelectionModel().getSelection(); + + if (selected.length > 0) { + selected = selected[0]; + if (selected && Ext.Date.isEqual(record.get('date'), selected.get('date'))) { + me.collapse(); + } + } + }, + + + onListSelectionChange: function(list, recordArray) { + var me = this, + record = recordArray[0], + val = record ? record.get('date') : null; + + if (!me.ignoreSelection) { + me.skipSync = true; + me.setValue(val); + me.skipSync = false; + me.fireEvent('select', me, val); + me.picker.clearHighlight(); + me.collapse(); + me.inputEl.focus(); + } + }, + + + syncSelection: function() { + var me = this, + picker = me.picker, + toSelect, + selModel, + value, + data, d, dLen, rec; + + if (picker && !me.skipSync) { + picker.clearHighlight(); + value = me.getValue(); + selModel = picker.getSelectionModel(); + + me.ignoreSelection++; + if (value === null) { + selModel.deselectAll(); + } else if(Ext.isDate(value)) { + + data = picker.store.data.items; + dLen = data.length; + + for (d = 0; d < dLen; d++) { + rec = data[d]; + + if (Ext.Date.isEqual(rec.get('date'), value)) { + toSelect = rec; + break; + } + } + + selModel.select(toSelect); + } + me.ignoreSelection--; + } + }, + + postBlur: function() { + var me = this; + + me.callParent(arguments); + me.setRawValue(me.formatDate(me.getValue())); + }, + + setValue: function() { + + + this.getPicker(); + + this.callParent(arguments); + }, + + getValue: function() { + return this.parseDate(this.callParent(arguments)); + } +}); + + +Ext.define('Ext.grid.CellEditor', { + extend: 'Ext.Editor', + constructor: function(config) { + config = Ext.apply({}, config); + + if (config.field) { + config.field.monitorTab = false; + } + this.callParent([config]); + }, + + + onShow: function() { + var me = this, + innerCell = me.boundEl.first(), + lastChild, + textNode; + + if (innerCell) { + lastChild = innerCell.dom.lastChild; + if(lastChild && lastChild.nodeType === 3) { + + textNode = me.cellTextNode = innerCell.dom.lastChild; + + me.cellTextValue = textNode.nodeValue; + + + textNode.nodeValue = '\u00a0'; + } + } + me.callParent(arguments); + }, + + + onHide: function() { + var me = this, + innerCell = me.boundEl.first(); + + if (innerCell && me.cellTextNode) { + me.cellTextNode.nodeValue = me.cellTextValue; + delete me.cellTextNode; + delete me.cellTextValue; + } + me.callParent(arguments); + }, + + + afterRender: function() { + var me = this, + field = me.field; + + me.callParent(arguments); + if (field.isXType('checkboxfield')) { + field.mon(field.inputEl, { + mousedown: me.onCheckBoxMouseDown, + click: me.onCheckBoxClick, + scope: me + }); + } + }, + + + onCheckBoxMouseDown: function() { + this.completeEdit = Ext.emptyFn; + }, + + + onCheckBoxClick: function() { + delete this.completeEdit; + this.field.focus(false, 10); + }, + + + realign: function(autoSize) { + var me = this, + boundEl = me.boundEl, + innerCell = boundEl.first(), + children = innerCell.dom.childNodes, + childCount = children.length, + offsets = Ext.Array.clone(me.offsets), + inputEl = me.field.inputEl, + lastChild, leftBound, rightBound, width; + + + + + + + if(me.isForTree && (childCount > 1 || (childCount === 1 && children[0].nodeType !== 3))) { + + lastChild = innerCell.last(); + + leftBound = lastChild.getOffsetsTo(innerCell)[0] + lastChild.getWidth(); + + + + rightBound = innerCell.getWidth(); + + + width = rightBound - leftBound; + + + if(!me.editingPlugin.grid.columnLines) { + width --; + } + + offsets[0] += leftBound; + + me.addCls(Ext.baseCSSPrefix + 'grid-editor-on-text-node'); + } else { + width = boundEl.getWidth() - 1; + } + + if (autoSize === true) { + me.field.setWidth(width); + } + + me.alignTo(boundEl, me.alignment, offsets); + }, + + onEditorTab: function(e){ + var field = this.field; + if (field.onEditorTab) { + field.onEditorTab(e); + } + }, + + alignment: "tl-tl", + hideEl : false, + cls: Ext.baseCSSPrefix + "small-editor " + Ext.baseCSSPrefix + "grid-editor", + shim: false, + shadow: false +}); + + +Ext.define('Ext.grid.ColumnComponentLayout', { + extend: 'Ext.layout.component.Auto', + alias: 'layout.columncomponent', + + type: 'columncomponent', + + setWidthInDom: true, + + getContentHeight : function(ownerContext) { + + return this.owner.isGroupHeader ? ownerContext.getProp('contentHeight') : this.callParent(arguments); + }, + + calculateOwnerHeightFromContentHeight: function (ownerContext, contentHeight) { + var result = this.callParent(arguments); + if (this.owner.isGroupHeader) { + result += this.owner.titleEl.dom.offsetHeight; + } + return result; + }, + + getContentWidth : function(ownerContext) { + + return this.owner.isGroupHeader ? ownerContext.getProp('contentWidth') : this.callParent(arguments); + }, + + calculateOwnerWidthFromContentWidth: function (ownerContext, contentWidth) { + return contentWidth + ownerContext.getPaddingInfo().width; + } +}); + + +Ext.define('Ext.grid.ColumnLayout', { + extend: 'Ext.layout.container.HBox', + alias: 'layout.gridcolumn', + type : 'gridcolumn', + + reserveOffset: false, + + firstHeaderCls: Ext.baseCSSPrefix + 'column-header-first', + lastHeaderCls: Ext.baseCSSPrefix + 'column-header-last', + + initLayout: function() { + this.grid = this.owner.up('[scrollerOwner]'); + this.callParent(); + }, + + + beginLayout: function (ownerContext) { + var me = this, + grid = me.grid, + view = grid.view, + i = 0, + items = me.getVisibleItems(), + len = items.length, + item; + + ownerContext.gridContext = ownerContext.context.getCmp(me.grid); + + + + + if (grid.lockable) { + if (me.owner.up('tablepanel') === view.normalGrid) { + view = view.normalGrid.getView(); + } else { + view = null; + } + } + + me.callParent(arguments); + + + for (; i < len; i++) { + item = items[i]; + item.removeCls([me.firstHeaderCls, me.lastHeaderCls]); + item.el.setStyle({ + height: 'auto' + }); + item.titleEl.setStyle({ + height: 'auto', + paddingTop: '' + }); + } + + + if (len > 0) { + items[0].addCls(me.firstHeaderCls); + items[len - 1].addCls(me.lastHeaderCls); + } + + + + + if (!me.owner.isHeader && Ext.getScrollbarSize().width && !grid.collapsed && view && + view.table.dom && (view.autoScroll || view.overflowY)) { + ownerContext.viewContext = ownerContext.context.getCmp(view); + } + }, + + roundFlex: function(width) { + return Math.floor(width); + }, + + calculate: function(ownerContext) { + var me = this, + viewContext = ownerContext.viewContext, + tableHeight, + viewHeight; + + me.callParent(arguments); + + if (ownerContext.state.parallelDone) { + ownerContext.setProp('columnWidthsDone', true); + } + + + + + + if (viewContext && !ownerContext.state.overflowAdjust.width && !ownerContext.gridContext.heightModel.shrinkWrap) { + tableHeight = viewContext.tableContext.getProp('height'); + viewHeight = viewContext.getProp('height'); + + + if (isNaN(tableHeight + viewHeight)) { + me.done = false; + } + + + else if (tableHeight >= viewHeight) { + ownerContext.gridContext.invalidate({ + after: function() { + ownerContext.state.overflowAdjust = { + width: Ext.getScrollbarSize().width, + height: 0 + }; + } + }); + } + } + }, + + completeLayout: function(ownerContext) { + var me = this, + owner = me.owner, + state = ownerContext.state, + needsInvalidate = false, + calculated = me.sizeModels.calculated, + childItems, len, i, childContext, item; + + me.callParent(arguments); + + + + + if (!state.flexesCalculated && owner.forceFit && !owner.isHeader) { + childItems = ownerContext.childItems; + len = childItems.length; + + for (i = 0; i < len; i++) { + childContext = childItems[i]; + item = childContext.target; + + + + if (item.width) { + item.flex = ownerContext.childItems[i].flex = item.width; + delete item.width; + childContext.widthModel = calculated; + needsInvalidate = true; + } + } + + + + if (needsInvalidate) { + me.cacheFlexes(ownerContext); + ownerContext.invalidate({ + state: { + flexesCalculated: true + } + }); + } + } + }, + + finalizeLayout: function() { + var me = this, + i = 0, + items, + len, + itemsHeight, + owner = me.owner, + titleEl = owner.titleEl; + + + items = me.getVisibleItems(); + len = items.length; + + itemsHeight = owner.el.getViewSize().height; + if (titleEl) { + + + itemsHeight -= titleEl.getHeight(); + } + for (; i < len; i++) { + items[i].setPadding(itemsHeight); + } + }, + + + + publishInnerCtSize: function(ownerContext) { + var me = this, + size = ownerContext.state.boxPlan.targetSize, + cw = ownerContext.peek('contentWidth'), + view; + + + if ((cw != null) && !me.owner.isHeader) { + size.width = cw; + + + view = me.owner.ownerCt.view; + if (view.autoScroll || view.overflowY) { + size.width += Ext.getScrollbarSize().width; + } + } + + return me.callParent(arguments); + } +}); + + +Ext.define('Ext.grid.LockingView', { + + mixins: { + observable: 'Ext.util.Observable' + }, + + eventRelayRe: /^(beforeitem|beforecontainer|item|container|cell)/, + + constructor: function(config){ + var me = this, + eventNames = [], + eventRe = me.eventRelayRe, + locked = config.locked.getView(), + normal = config.normal.getView(), + events, + event; + + Ext.apply(me, { + lockedView: locked, + normalView: normal, + lockedGrid: config.locked, + normalGrid: config.normal, + panel: config.panel + }); + me.mixins.observable.constructor.call(me, config); + + + events = locked.events; + for (event in events) { + if (events.hasOwnProperty(event) && eventRe.test(event)) { + eventNames.push(event); + } + } + me.relayEvents(locked, eventNames); + me.relayEvents(normal, eventNames); + + normal.on({ + scope: me, + itemmouseleave: me.onItemMouseLeave, + itemmouseenter: me.onItemMouseEnter + }); + + locked.on({ + scope: me, + itemmouseleave: me.onItemMouseLeave, + itemmouseenter: me.onItemMouseEnter + }); + }, + + getGridColumns: function() { + var cols = this.lockedGrid.headerCt.getGridColumns(); + return cols.concat(this.normalGrid.headerCt.getGridColumns()); + }, + + getEl: function(column){ + return this.getViewForColumn(column).getEl(); + }, + + getViewForColumn: function(column) { + var view = this.lockedView, + inLocked; + + view.headerCt.cascade(function(col){ + if (col === column) { + inLocked = true; + return false; + } + }); + + return inLocked ? view : this.normalView; + }, + + onItemMouseEnter: function(view, record){ + var me = this, + locked = me.lockedView, + other = me.normalView, + item; + + if (view.trackOver) { + if (view !== locked) { + other = locked; + } + item = other.getNode(record); + other.highlightItem(item); + } + }, + + onItemMouseLeave: function(view, record){ + var me = this, + locked = me.lockedView, + other = me.normalView; + + if (view.trackOver) { + if (view !== locked) { + other = locked; + } + other.clearHighlight(); + } + }, + + relayFn: function(name, args){ + args = args || []; + + var view = this.lockedView; + view[name].apply(view, args || []); + view = this.normalView; + view[name].apply(view, args || []); + }, + + getSelectionModel: function(){ + return this.panel.getSelectionModel(); + }, + + getStore: function(){ + return this.panel.store; + }, + + getNode: function(nodeInfo){ + + return this.normalView.getNode(nodeInfo); + }, + + getCell: function(record, column){ + var view = this.getViewForColumn(column), + row; + + row = view.getNode(record); + return Ext.fly(row).down(column.getCellSelector()); + }, + + getRecord: function(node){ + var result = this.lockedView.getRecord(node); + if (!node) { + result = this.normalView.getRecord(node); + } + return result; + }, + + addElListener: function(eventName, fn, scope){ + this.relayFn('addElListener', arguments); + }, + + refreshNode: function(){ + this.relayFn('refreshNode', arguments); + }, + + refresh: function(){ + this.relayFn('refresh', arguments); + }, + + bindStore: function(){ + this.relayFn('bindStore', arguments); + }, + + addRowCls: function(){ + this.relayFn('addRowCls', arguments); + }, + + removeRowCls: function(){ + this.relayFn('removeRowCls', arguments); + } + +}); + + +Ext.define('Ext.view.TableLayout', { + extend: 'Ext.layout.component.Auto', + + alias: ['layout.tableview'], + type: 'tableview', + + beginLayout: function(ownerContext) { + var me = this; + + me.callParent(arguments); + + + if (me.owner.table.dom) { + ownerContext.tableContext = ownerContext.getEl(me.owner.table); + + + ownerContext.headerContext = ownerContext.context.getCmp(me.headerCt); + } + }, + + calculate: function(ownerContext) { + var me = this; + + me.callParent(arguments); + + if (ownerContext.tableContext) { + if (ownerContext.state.columnWidthsSynced) { + if (ownerContext.hasProp('columnWidthsFlushed')) { + ownerContext.tableContext.setHeight(ownerContext.tableContext.el.dom.offsetHeight, false); + } else { + me.done = false; + } + } else { + if (ownerContext.headerContext.hasProp('columnWidthsDone')) { + ownerContext.context.queueFlush(me); + ownerContext.state.columnWidthsSynced = true; + } + + + + + me.done = false; + } + } + }, + + measureContentHeight: function(ownerContext) { + + if (!ownerContext.headerContext || ownerContext.hasProp('columnWidthsFlushed')) { + return this.callParent(arguments); + } + }, + + flush: function() { + var me = this, + context = me.ownerContext.context, + columns = me.headerCt.getGridColumns(), + i = 0, len = columns.length, + el = me.owner.el, + tableWidth = 0, + colWidth; + + + context.currentLayout = me; + + + for (i = 0; i < len; i++) { + colWidth = columns[i].hidden ? 0 : context.getCmp(columns[i]).props.width; + tableWidth += colWidth; + + + + + el.select(me.getColumnSelector(columns[i])).setWidth(colWidth); + } + el.select('table.' + Ext.baseCSSPrefix + 'grid-table-resizer').setWidth(tableWidth); + + + me.ownerContext.setProp('columnWidthsFlushed', true); + }, + + finishedLayout: function(){ + var me = this, + first; + + me.callParent(arguments); + + + + if (Ext.isGecko) { + first = me.headerCt.getGridColumns()[0]; + if (first) { + first = me.owner.el.down(me.getColumnSelector(first)); + if (first) { + first.setStyle('display', 'none'); + first.dom.scrollWidth; + first.setStyle('display', ''); + } + } + } + }, + + getColumnSelector: function(column) { + return 'th.' + Ext.baseCSSPrefix + 'grid-col-resizer-' + column.id; + } +}); + + +Ext.define('Ext.view.Table', { + extend: 'Ext.view.View', + alias: 'widget.tableview', + uses: [ + 'Ext.view.TableLayout', + 'Ext.view.TableChunker', + 'Ext.util.DelayedTask', + 'Ext.util.MixedCollection' + ], + + componentLayout: 'tableview', + + baseCls: Ext.baseCSSPrefix + 'grid-view', + + + itemSelector: 'tr.' + Ext.baseCSSPrefix + 'grid-row', + + cellSelector: 'td.' + Ext.baseCSSPrefix + 'grid-cell', + + + rowSelector: 'tr.' + Ext.baseCSSPrefix + 'grid-row', + + + firstCls: Ext.baseCSSPrefix + 'grid-cell-first', + + + lastCls: Ext.baseCSSPrefix + 'grid-cell-last', + + headerRowSelector: 'tr.' + Ext.baseCSSPrefix + 'grid-header-row', + + selectedItemCls: Ext.baseCSSPrefix + 'grid-row-selected', + selectedCellCls: Ext.baseCSSPrefix + 'grid-cell-selected', + focusedItemCls: Ext.baseCSSPrefix + 'grid-row-focused', + overItemCls: Ext.baseCSSPrefix + 'grid-row-over', + altRowCls: Ext.baseCSSPrefix + 'grid-row-alt', + rowClsRe: new RegExp('(?:^|\\s*)' + Ext.baseCSSPrefix + 'grid-row-(first|last|alt)(?:\\s+|$)', 'g'), + cellRe: new RegExp(Ext.baseCSSPrefix + 'grid-cell-([^\\s]+) ', ''), + + + trackOver: true, + + + getRowClass: null, + + + stripeRows: true, + + + markDirty : true, + + + + + initialTpl: '
', + + initComponent: function() { + var me = this, + scroll = me.scroll; + + + me.table = new Ext.dom.Element.Fly(); + me.table.id = me.id + 'gridTable'; + + + + me.autoScroll = undefined; + + + if (scroll === true || scroll === 'both') { + me.autoScroll = true; + } else if (scroll === 'horizontal') { + me.overflowX = 'auto'; + } else if (scroll === 'vertical') { + me.overflowY = 'auto'; + } + me.selModel.view = me; + me.headerCt.view = me; + me.headerCt.markDirty = me.markDirty; + + + me.initFeatures(me.grid); + delete me.grid; + + + me.tpl = me.getTpl('initialTpl'); + me.callParent(); + }, + + + moveColumn: function(fromIdx, toIdx, colsToMove) { + var me = this, + fragment = (colsToMove > 1) ? document.createDocumentFragment() : undefined, + destinationCellIdx = toIdx, + colCount = me.getGridColumns().length, + lastIdx = colCount - 1, + doFirstLastClasses = (me.firstCls || me.lastCls) && (toIdx === 0 || toIdx == colCount || fromIdx === 0 || fromIdx == lastIdx), + i, + j, + rows, len, tr, headerRows; + + if (me.rendered) { + + + headerRows = me.el.query(me.headerRowSelector); + rows = me.el.query(me.rowSelector); + + if (toIdx > fromIdx && fragment) { + destinationCellIdx -= colsToMove; + } + + + for (i = 0, len = headerRows.length; i < len; ++i) { + tr = headerRows[i]; + if (fragment) { + for (j = 0; j < colsToMove; j++) { + fragment.appendChild(tr.cells[fromIdx]); + } + tr.insertBefore(fragment, tr.cells[destinationCellIdx] || null); + } else { + tr.insertBefore(tr.cells[fromIdx], tr.cells[destinationCellIdx] || null); + } + } + + for (i = 0, len = rows.length; i < len; i++) { + tr = rows[i]; + + + if (doFirstLastClasses) { + + if (fromIdx === 0) { + Ext.fly(tr.cells[0]).removeCls(me.firstCls); + Ext.fly(tr.cells[1]).addCls(me.firstCls); + } else if (fromIdx === lastIdx) { + Ext.fly(tr.cells[lastIdx]).removeCls(me.lastCls); + Ext.fly(tr.cells[lastIdx - 1]).addCls(me.lastCls); + } + if (toIdx === 0) { + Ext.fly(tr.cells[0]).removeCls(me.firstCls); + Ext.fly(tr.cells[fromIdx]).addCls(me.firstCls); + } else if (toIdx === colCount) { + Ext.fly(tr.cells[lastIdx]).removeCls(me.lastCls); + Ext.fly(tr.cells[fromIdx]).addCls(me.lastCls); + } + } + + if (fragment) { + for (j = 0; j < colsToMove; j++) { + fragment.appendChild(tr.cells[fromIdx]); + } + tr.insertBefore(fragment, tr.cells[destinationCellIdx] || null); + } else { + tr.insertBefore(tr.cells[fromIdx], tr.cells[destinationCellIdx] || null); + } + } + me.setNewTemplate(); + } + }, + + + scrollToTop: Ext.emptyFn, + + + addElListener: function(eventName, fn, scope){ + this.mon(this, eventName, fn, scope, { + element: 'el' + }); + }, + + + getGridColumns: function() { + return this.headerCt.getGridColumns(); + }, + + + getHeaderAtIndex: function(index) { + return this.headerCt.getHeaderAtIndex(index); + }, + + + getCell: function(record, column) { + var row = this.getNode(record); + return Ext.fly(row).down(column.getCellSelector()); + }, + + + getFeature: function(id) { + var features = this.featuresMC; + if (features) { + return features.get(id); + } + }, + + + initFeatures: function(grid) { + var me = this, + i, + features, + feature, + len; + + me.featuresMC = new Ext.util.MixedCollection(); + features = me.features = me.constructFeatures(); + len = features ? features.length : 0; + for (i = 0; i < len; i++) { + feature = features[i]; + + + feature.view = me; + feature.grid = grid; + me.featuresMC.add(feature); + feature.init(); + } + }, + + + constructFeatures: function() { + var me = this, + features = me.features, + feature, + result, + i = 0, len; + + if (features) { + result = []; + len = features.length; + for (; i < len; i++) { + feature = features[i]; + if (!feature.isFeature) { + feature = Ext.create('feature.' + feature.ftype, feature); + } + result[i] = feature; + } + } + return result; + }, + + + attachEventsForFeatures: function() { + var features = this.features, + ln = features.length, + i = 0; + + for (; i < ln; i++) { + if (features[i].isFeature) { + features[i].attachEvents(); + } + } + }, + + afterRender: function() { + var me = this; + me.callParent(); + + if (!me.enableTextSelection) { + me.el.unselectable(); + } + me.attachEventsForFeatures(); + }, + + + onViewScroll: function(e, t) { + this.callParent(arguments); + this.fireEvent('bodyscroll', e, t); + }, + + + prepareData: function(data, idx, record) { + var me = this, + result = me.headerCt.prepareData(data, idx, record, me, me.ownerCt), + features = me.features, + ln = features.length, + i = 0, + feature; + + for (; i < ln; i++) { + feature = features[i]; + if (feature.isFeature) { + Ext.apply(result, feature.getAdditionalData(data, idx, record, result, me)); + } + } + + return result; + }, + + + collectData: function(records, startIndex) { + var me = this, + preppedRecords = me.callParent(arguments), + headerCt = me.headerCt, + fullWidth = headerCt.getFullWidth(), + features = me.features, + ln = features.length, + o = { + rows: preppedRecords, + fullWidth: fullWidth + }, + i = 0, + feature, + j = 0, + jln, + rowParams, + rec, + cls; + + jln = preppedRecords.length; + + + if (me.getRowClass) { + for (; j < jln; j++) { + rowParams = {}; + rec = preppedRecords[j]; + cls = rec.rowCls || ''; + rec.rowCls = this.getRowClass(records[j], j, rowParams, me.store) + ' ' + cls; + } + } + + + for (; i < ln; i++) { + feature = features[i]; + if (feature.isFeature && feature.collectData && !feature.disabled) { + o = feature.collectData(records, preppedRecords, startIndex, fullWidth, o); + break; + } + } + return o; + }, + + + + + + + + refreshSize: function() { + var me = this, + cmp; + + + me.table.attach(me.el.child('table', true)); + + if (!me.hasLoadingHeight) { + cmp = me.up('tablepanel'); + + + + Ext.suspendLayouts(); + + me.callParent(); + + + + if (cmp && Ext.getScrollbarSize().width && (me.autoScroll || me.overflowY)) { + cmp.updateLayout(); + } + + Ext.resumeLayouts(true); + } + }, + + + setNewTemplate: function() { + var me = this, + columns = me.headerCt.getColumnsForTpl(true); + + + me.tpl = me.getTableChunker().getTableTpl({ + rowCount: me.store.getCount(), + columns: columns, + features: me.features, + enableTextSelection: me.enableTextSelection + }); + }, + + + getTableChunker: function() { + return this.chunker || Ext.view.TableChunker; + }, + + + addRowCls: function(rowInfo, cls) { + var row = this.getNode(rowInfo); + if (row) { + Ext.fly(row).addCls(cls); + } + }, + + + removeRowCls: function(rowInfo, cls) { + var row = this.getNode(rowInfo); + if (row) { + Ext.fly(row).removeCls(cls); + } + }, + + + onRowSelect : function(rowIdx) { + this.addRowCls(rowIdx, this.selectedItemCls); + }, + + + onRowDeselect : function(rowIdx) { + var me = this; + + me.removeRowCls(rowIdx, me.selectedItemCls); + me.removeRowCls(rowIdx, me.focusedItemCls); + }, + + onCellSelect: function(position) { + var cell = this.getCellByPosition(position, true); + if (cell) { + Ext.fly(cell).addCls(this.selectedCellCls); + } + }, + + onCellDeselect: function(position) { + var cell = this.getCellByPosition(position, true); + if (cell) { + Ext.fly(cell).removeCls(this.selectedCellCls); + } + + }, + + onCellFocus: function(position) { + this.focusCell(position); + }, + + getCellByPosition: function(position, returnDom) { + if (position) { + var node = this.getNode(position.row), + header = this.headerCt.getHeaderAtIndex(position.column); + + if (header && node) { + return Ext.fly(node).down(header.getCellSelector(), returnDom); + } + } + return false; + }, + + + + onRowFocus: function(rowIdx, highlight, supressFocus) { + var me = this; + + if (highlight) { + me.addRowCls(rowIdx, me.focusedItemCls); + if (!supressFocus) { + me.focusRow(rowIdx); + } + + } else { + me.removeRowCls(rowIdx, me.focusedItemCls); + } + }, + + + focusRow: function(rowIdx) { + var me = this, + row = me.getNode(rowIdx), + el = me.el, + adjustment = 0, + panel = me.ownerCt, + rowRegion, + elTop, + elBottom, + record; + + if (row && el) { + + + elTop = el.getY(); + elBottom = elTop + el.dom.clientHeight; + rowRegion = Ext.fly(row).getRegion(); + + if (rowRegion.top < elTop) { + adjustment = rowRegion.top - elTop; + + } else if (rowRegion.bottom > elBottom) { + adjustment = rowRegion.bottom - elBottom; + } + record = me.getRecord(row); + rowIdx = me.store.indexOf(record); + + if (adjustment) { + panel.scrollByDeltaY(adjustment); + } + me.fireEvent('rowfocus', record, row, rowIdx); + } + }, + + focusCell: function(position) { + var me = this, + cell = me.getCellByPosition(position), + el = me.el, + adjustmentY = 0, + adjustmentX = 0, + elRegion = el.getRegion(), + panel = me.ownerCt, + cellRegion, + record; + + + + elRegion.bottom = elRegion.top + el.dom.clientHeight; + elRegion.right = elRegion.left + el.dom.clientWidth; + if (cell) { + cellRegion = cell.getRegion(); + + if (cellRegion.top < elRegion.top) { + adjustmentY = cellRegion.top - elRegion.top; + + } else if (cellRegion.bottom > elRegion.bottom) { + adjustmentY = cellRegion.bottom - elRegion.bottom; + } + + + if (cellRegion.left < elRegion.left) { + adjustmentX = cellRegion.left - elRegion.left; + + } else if (cellRegion.right > elRegion.right) { + adjustmentX = cellRegion.right - elRegion.right; + } + + if (adjustmentY) { + panel.scrollByDeltaY(adjustmentY); + } + if (adjustmentX) { + panel.scrollByDeltaX(adjustmentX); + } + el.focus(); + me.fireEvent('cellfocus', record, cell, position); + } + }, + + + scrollByDelta: function(delta, dir) { + dir = dir || 'scrollTop'; + var elDom = this.el.dom; + elDom[dir] = (elDom[dir] += delta); + }, + + + onUpdate : function(store, record, operation, changedFieldNames) { + var me = this, + index, + newRow, newAttrs, attLen, i, attName, oldRow, oldRowDom, + oldCells, newCells, len, i, + columns, overItemCls, + isHovered, row, + + isEditing = me.editingPlugin && me.editingPlugin.editing; + + if (me.viewReady) { + + index = me.store.indexOf(record); + columns = me.headerCt.getGridColumns(); + overItemCls = me.overItemCls; + + + + if (columns.length && index > -1) { + newRow = me.bufferRender([record], index)[0]; + oldRow = me.all.item(index); + if (oldRow) { + oldRowDom = oldRow.dom; + isHovered = oldRow.hasCls(overItemCls); + + + if (oldRowDom.mergeAttributes) { + oldRowDom.mergeAttributes(newRow, true); + } else { + newAttrs = newRow.attributes; + attLen = newAttrs.length; + for (i = 0; i < attLen; i++) { + attName = newAttrs[i].name; + if (attName !== 'id') { + oldRowDom.setAttribute(attName, newAttrs[i].value); + } + } + } + + if (isHovered) { + oldRow.addCls(overItemCls); + } + + + oldCells = oldRow.query(me.cellSelector); + newCells = Ext.fly(newRow).query(me.cellSelector); + len = newCells.length; + + row = oldCells[0].parentNode; + for (i = 0; i < len; i++) { + + + if (me.shouldUpdateCell(columns[i], changedFieldNames)) { + + if (isEditing) { + Ext.fly(oldCells[i]).syncContent(newCells[i]); + } + + else { + row.insertBefore(newCells[i], oldCells[i]); + row.removeChild(oldCells[i]); + } + } + } + } + me.fireEvent('itemupdate', record, index, newRow); + } + } + }, + + shouldUpdateCell: function(column, changedFieldNames){ + + + if (column.hasCustomRenderer) { + return true; + } + return !changedFieldNames || Ext.Array.contains(changedFieldNames, column.dataIndex); + }, + + + refresh: function() { + var me = this; + me.setNewTemplate(); + me.callParent(arguments); + me.doStripeRows(0); + me.headerCt.setSortState(); + }, + + clearViewEl: function() { + this.callParent(); + delete this.table.dom; + }, + + processItemEvent: function(record, row, rowIndex, e) { + var me = this, + cell = e.getTarget(me.cellSelector, row), + cellIndex = cell ? cell.cellIndex : -1, + map = me.statics().EventMap, + selModel = me.getSelectionModel(), + type = e.type, + result; + + if (type == 'keydown' && !cell && selModel.getCurrentPosition) { + + cell = me.getCellByPosition(selModel.getCurrentPosition()); + if (cell) { + cell = cell.dom; + cellIndex = cell.cellIndex; + } + } + + result = me.fireEvent('uievent', type, me, cell, rowIndex, cellIndex, e, record, row); + + if (result === false || me.callParent(arguments) === false) { + return false; + } + + + if (type == 'mouseover' || type == 'mouseout') { + return true; + } + + if(!cell) { + + + return true; + } + + return !( + + (me['onBeforeCell' + map[type]](cell, cellIndex, record, row, rowIndex, e) === false) || + (me.fireEvent('beforecell' + type, me, cell, cellIndex, record, row, rowIndex, e) === false) || + (me['onCell' + map[type]](cell, cellIndex, record, row, rowIndex, e) === false) || + (me.fireEvent('cell' + type, me, cell, cellIndex, record, row, rowIndex, e) === false) + ); + }, + + processSpecialEvent: function(e) { + var me = this, + map = me.statics().EventMap, + features = me.features, + ln = features.length, + type = e.type, + i, feature, prefix, featureTarget, + beforeArgs, args, + panel = me.ownerCt; + + me.callParent(arguments); + + if (type == 'mouseover' || type == 'mouseout') { + return; + } + + for (i = 0; i < ln; i++) { + feature = features[i]; + if (feature.hasFeatureEvent) { + featureTarget = e.getTarget(feature.eventSelector, me.getTargetEl()); + if (featureTarget) { + prefix = feature.eventPrefix; + + + beforeArgs = feature.getFireEventArgs('before' + prefix + type, me, featureTarget, e); + args = feature.getFireEventArgs(prefix + type, me, featureTarget, e); + + if ( + + (me.fireEvent.apply(me, beforeArgs) === false) || + + (panel.fireEvent.apply(panel, beforeArgs) === false) || + + (me.fireEvent.apply(me, args) === false) || + + (panel.fireEvent.apply(panel, args) === false) + ) { + return false; + } + } + } + } + return true; + }, + + onCellMouseDown: Ext.emptyFn, + onCellMouseUp: Ext.emptyFn, + onCellClick: Ext.emptyFn, + onCellDblClick: Ext.emptyFn, + onCellContextMenu: Ext.emptyFn, + onCellKeyDown: Ext.emptyFn, + onBeforeCellMouseDown: Ext.emptyFn, + onBeforeCellMouseUp: Ext.emptyFn, + onBeforeCellClick: Ext.emptyFn, + onBeforeCellDblClick: Ext.emptyFn, + onBeforeCellContextMenu: Ext.emptyFn, + onBeforeCellKeyDown: Ext.emptyFn, + + + expandToFit: function(header) { + if (header) { + var maxWidth = this.getMaxContentWidth(header); + delete header.flex; + header.setWidth(maxWidth); + } + }, + + + getMaxContentWidth: function(header) { + var cellSelector = header.getCellInnerSelector(), + cells = this.el.query(cellSelector), + i = 0, + ln = cells.length, + maxWidth = header.el.dom.scrollWidth, + scrollWidth; + + for (; i < ln; i++) { + scrollWidth = cells[i].scrollWidth; + if (scrollWidth > maxWidth) { + maxWidth = scrollWidth; + } + } + return maxWidth; + }, + + getPositionByEvent: function(e) { + var me = this, + cellNode = e.getTarget(me.cellSelector), + rowNode = e.getTarget(me.itemSelector), + record = me.getRecord(rowNode), + header = me.getHeaderByCell(cellNode); + + return me.getPosition(record, header); + }, + + getHeaderByCell: function(cell) { + if (cell) { + var m = cell.className.match(this.cellRe); + if (m && m[1]) { + return Ext.getCmp(m[1]); + } + } + return false; + }, + + + walkCells: function(pos, direction, e, preventWrap, verifierFn, scope) { + + + + if (!pos) { + return; + } + + var me = this, + row = pos.row, + column = pos.column, + rowCount = me.store.getCount(), + firstCol = me.getFirstVisibleColumnIndex(), + lastCol = me.getLastVisibleColumnIndex(), + newPos = {row: row, column: column}, + activeHeader = me.headerCt.getHeaderAtIndex(column); + + + if (!activeHeader || activeHeader.hidden) { + return false; + } + + e = e || {}; + direction = direction.toLowerCase(); + switch (direction) { + case 'right': + + if (column === lastCol) { + + if (preventWrap || row === rowCount - 1) { + return false; + } + if (!e.ctrlKey) { + + newPos.row = row + 1; + newPos.column = firstCol; + } + + } else { + if (!e.ctrlKey) { + newPos.column = column + me.getRightGap(activeHeader); + } else { + newPos.column = lastCol; + } + } + break; + + case 'left': + + if (column === firstCol) { + + if (preventWrap || row === 0) { + return false; + } + if (!e.ctrlKey) { + + newPos.row = row - 1; + newPos.column = lastCol; + } + + } else { + if (!e.ctrlKey) { + newPos.column = column + me.getLeftGap(activeHeader); + } else { + newPos.column = firstCol; + } + } + break; + + case 'up': + + if (row === 0) { + return false; + + } else { + if (!e.ctrlKey) { + newPos.row = row - 1; + } else { + newPos.row = 0; + } + } + break; + + case 'down': + + if (row === rowCount - 1) { + return false; + + } else { + if (!e.ctrlKey) { + newPos.row = row + 1; + } else { + newPos.row = rowCount - 1; + } + } + break; + } + + if (verifierFn && verifierFn.call(scope || window, newPos) !== true) { + return false; + } else { + return newPos; + } + }, + getFirstVisibleColumnIndex: function() { + var firstVisibleHeader = this.getHeaderCt().getVisibleGridColumns()[0]; + + return firstVisibleHeader ? firstVisibleHeader.getIndex() : -1; + }, + + getLastVisibleColumnIndex: function() { + var visHeaders = this.getHeaderCt().getVisibleGridColumns(), + lastHeader = visHeaders[visHeaders.length - 1]; + + return lastHeader.getIndex(); + }, + + getHeaderCt: function() { + return this.headerCt; + }, + + + getPosition: function(record, header) { + var me = this, + store = me.store, + gridCols = me.headerCt.getGridColumns(); + + return { + row: store.indexOf(record), + column: Ext.Array.indexOf(gridCols, header) + }; + }, + + + getRightGap: function(activeHeader) { + var headerCt = this.getHeaderCt(), + headers = headerCt.getGridColumns(), + activeHeaderIdx = Ext.Array.indexOf(headers, activeHeader), + i = activeHeaderIdx + 1, + nextIdx; + + for (; i <= headers.length; i++) { + if (!headers[i].hidden) { + nextIdx = i; + break; + } + } + + return nextIdx - activeHeaderIdx; + }, + + beforeDestroy: function() { + if (this.rendered) { + this.el.removeAllListeners(); + } + this.callParent(arguments); + }, + + + getLeftGap: function(activeHeader) { + var headerCt = this.getHeaderCt(), + headers = headerCt.getGridColumns(), + activeHeaderIdx = Ext.Array.indexOf(headers, activeHeader), + i = activeHeaderIdx - 1, + prevIdx; + + for (; i >= 0; i--) { + if (!headers[i].hidden) { + prevIdx = i; + break; + } + } + + return prevIdx - activeHeaderIdx; + }, + + + onAdd: function(ds, records, index) { + this.callParent(arguments); + this.doStripeRows(index); + }, + + + onRemove: function(ds, records, index) { + this.callParent(arguments); + this.doStripeRows(index); + }, + + + doStripeRows: function(startRow, endRow) { + var me = this, + rows, + rowsLn, + i, + row; + + + if (me.rendered && me.stripeRows) { + rows = me.getNodes(startRow, endRow); + + for (i = 0, rowsLn = rows.length; i < rowsLn; i++) { + row = rows[i]; + + row.className = row.className.replace(me.rowClsRe, ' '); + startRow++; + + if (startRow % 2 === 0) { + row.className += (' ' + me.altRowCls); + } + } + } + } + +}); + + +Ext.define('Ext.grid.Lockable', { + + requires: [ + 'Ext.grid.LockingView', + 'Ext.view.Table' + ], + + + syncRowHeight: true, + + + + + + + + headerCounter: 0, + + + scrollDelta: 40, + + + + + + + + unlockText: 'Unlock', + + + lockText: 'Lock', + + + determineXTypeToCreate: function() { + var me = this, + typeToCreate, + xtypes, xtypesLn, xtype, superxtype; + + if (me.subGridXType) { + typeToCreate = me.subGridXType; + } else { + xtypes = this.getXTypes().split('/'); + xtypesLn = xtypes.length; + xtype = xtypes[xtypesLn - 1]; + superxtype = xtypes[xtypesLn - 2]; + + if (superxtype !== 'tablepanel') { + typeToCreate = superxtype; + } else { + typeToCreate = xtype; + } + } + + return typeToCreate; + }, + + + + injectLockable: function() { + + this.lockable = true; + + + this.hasView = true; + + var me = this, + + scrollLocked = Ext.getScrollbarSize().width === 0, + store = me.store = Ext.StoreManager.lookup(me.store), + + + + xtype = me.determineXTypeToCreate(), + + selModel = me.getSelectionModel(), + lockedFeatures, + normalFeatures, + lockedPlugins, + normalPlugins, + lockedGrid, + normalGrid, + i, len, + columns, + lockedHeaderCt, + normalHeaderCt, + lockedView, + normalView, + listeners; + + lockedFeatures = me.constructFeatures(); + + + me.cloneFeatures(); + normalFeatures = me.constructFeatures(); + + lockedPlugins = me.constructPlugins(); + + + me.clonePlugins(); + normalPlugins = me.constructPlugins(); + + + delete me.features; + delete me.plugins; + + + for (i = 0, len = (lockedFeatures ? lockedFeatures.length : 0); i < len; i++) { + lockedFeatures[i].lockingPartner = normalFeatures[i]; + normalFeatures[i].lockingPartner = lockedFeatures[i]; + } + + lockedGrid = Ext.apply({ + xtype: xtype, + store: store, + scrollerOwner: false, + + enableAnimations: false, + scroll: scrollLocked ? 'vertical' : false, + selModel: selModel, + border: false, + cls: Ext.baseCSSPrefix + 'grid-inner-locked', + isLayoutRoot: function() { + return false; + }, + features: lockedFeatures, + plugins: lockedPlugins + }, me.lockedGridConfig); + + normalGrid = Ext.apply({ + xtype: xtype, + store: store, + scrollerOwner: false, + enableAnimations: false, + selModel: selModel, + border: false, + isLayoutRoot: function() { + return false; + }, + features: normalFeatures, + plugins: normalPlugins + }, me.normalGridConfig); + + me.addCls(Ext.baseCSSPrefix + 'grid-locked'); + + + + + Ext.copyTo(normalGrid, me, me.bothCfgCopy); + Ext.copyTo(lockedGrid, me, me.bothCfgCopy); + Ext.copyTo(normalGrid, me, me.normalCfgCopy); + Ext.copyTo(lockedGrid, me, me.lockedCfgCopy); + for (i = 0; i < me.normalCfgCopy.length; i++) { + delete me[me.normalCfgCopy[i]]; + } + for (i = 0; i < me.lockedCfgCopy.length; i++) { + delete me[me.lockedCfgCopy[i]]; + } + + me.addEvents( + + 'lockcolumn', + + + 'unlockcolumn' + ); + + me.addStateEvents(['lockcolumn', 'unlockcolumn']); + + me.lockedHeights = []; + me.normalHeights = []; + + columns = me.processColumns(me.columns); + + lockedGrid.width = columns.lockedWidth + Ext.num(selModel.headerWidth, 0); + lockedGrid.columns = columns.locked; + normalGrid.columns = columns.normal; + + + normalGrid.flex = 1; + lockedGrid.viewConfig = me.lockedViewConfig || {}; + lockedGrid.viewConfig.loadingUseMsg = false; + normalGrid.viewConfig = me.normalViewConfig || {}; + + Ext.applyIf(lockedGrid.viewConfig, me.viewConfig); + Ext.applyIf(normalGrid.viewConfig, me.viewConfig); + + me.lockedGrid = Ext.ComponentManager.create(lockedGrid); + lockedView = me.lockedGrid.getView(); + + normalGrid.viewConfig.lockingPartner = lockedView; + me.normalGrid = Ext.ComponentManager.create(normalGrid); + normalView = me.normalGrid.getView(); + + me.view = new Ext.grid.LockingView({ + locked: me.lockedGrid, + normal: me.normalGrid, + panel: me + }); + + + listeners = { + scroll: { + fn: me.onLockedViewScroll, + element: 'el', + scope: me + } + }; + + if (!scrollLocked) { + listeners.mousewheel = { + fn: me.onLockedViewMouseWheel, + element: 'el', + scope: me + }; + } + if (me.syncRowHeight) { + listeners.refresh = me.onLockedViewRefresh; + listeners.itemupdate = me.onLockedViewItemUpdate; + listeners.scope = me; + } + lockedView.on(listeners); + + + listeners = { + scroll: { + fn: me.onNormalViewScroll, + element: 'el', + scope: me + }, + refresh: me.syncRowHeight ? me.onNormalViewRefresh : me.updateSpacer, + scope: me + }; + normalView.on(listeners); + + lockedHeaderCt = me.lockedGrid.headerCt; + normalHeaderCt = me.normalGrid.headerCt; + + lockedHeaderCt.lockedCt = true; + lockedHeaderCt.lockableInjected = true; + normalHeaderCt.lockableInjected = true; + + lockedHeaderCt.on({ + columnshow: me.onLockedHeaderShow, + columnhide: me.onLockedHeaderHide, + columnmove: me.onLockedHeaderMove, + sortchange: me.onLockedHeaderSortChange, + columnresize: me.onLockedHeaderResize, + scope: me + }); + + normalHeaderCt.on({ + columnmove: me.onNormalHeaderMove, + sortchange: me.onNormalHeaderSortChange, + scope: me + }); + + me.modifyHeaderCt(); + me.items = [me.lockedGrid, me.normalGrid]; + + me.relayHeaderCtEvents(lockedHeaderCt); + me.relayHeaderCtEvents(normalHeaderCt); + + me.layout = { + type: 'hbox', + align: 'stretch' + }; + }, + + processColumns: function(columns){ + + var i = 0, + len = columns.length, + lockedWidth = 0, + lockedHeaders = [], + normalHeaders = [], + column; + + for (; i < len; ++i) { + column = columns[i]; + + + if (!column.isComponent) { + column = Ext.apply({}, columns[i]); + } + + + + column.processed = true; + if (column.locked) { + if (!column.hidden) { + lockedWidth += column.width || Ext.grid.header.Container.prototype.defaultWidth; + } + lockedHeaders.push(column); + } else { + normalHeaders.push(column); + } + if (!column.headerId) { + column.headerId = (column.initialConfig || column).id || ('L' + (++this.headerCounter)); + } + } + return { + lockedWidth: lockedWidth, + locked: { + items: lockedHeaders, + itemId: 'lockedHeaderCt', + stretchMaxPartner: '^^>>#normalHeaderCt' + }, + normal: { + items: normalHeaders, + itemId: 'normalHeaderCt', + stretchMaxPartner: '^^>>#lockedHeaderCt' + } + }; + }, + + + onLockedViewMouseWheel: function(e) { + var me = this, + scrollDelta = -me.scrollDelta, + deltaY = scrollDelta * e.getWheelDeltas().y, + vertScrollerEl = me.lockedGrid.getView().el.dom, + verticalCanScrollDown, verticalCanScrollUp; + + if (vertScrollerEl) { + verticalCanScrollDown = vertScrollerEl.scrollTop !== vertScrollerEl.scrollHeight - vertScrollerEl.clientHeight; + verticalCanScrollUp = vertScrollerEl.scrollTop !== 0; + } + + if ((deltaY < 0 && verticalCanScrollUp) || (deltaY > 0 && verticalCanScrollDown)) { + e.stopEvent(); + + + + + me.scrolling = true; + vertScrollerEl.scrollTop += deltaY; + me.normalGrid.getView().el.dom.scrollTop = vertScrollerEl.scrollTop; + me.scrolling = false; + + + me.onNormalViewScroll(); + } + }, + + onLockedViewScroll: function() { + var me = this, + lockedView = me.lockedGrid.getView(), + normalView = me.normalGrid.getView(), + normalTable, + lockedTable; + + + if (!me.scrolling) { + me.scrolling = true; + normalView.el.dom.scrollTop = lockedView.el.dom.scrollTop; + + + if (me.store.buffered) { + lockedTable = lockedView.el.child('table', true); + normalTable = normalView.el.child('table', true); + lockedTable.style.position = 'absolute'; + } + me.scrolling = false; + } + }, + + onNormalViewScroll: function() { + var me = this, + lockedView = me.lockedGrid.getView(), + normalView = me.normalGrid.getView(), + normalTable, + lockedTable; + + + if (!me.scrolling) { + me.scrolling = true; + lockedView.el.dom.scrollTop = normalView.el.dom.scrollTop; + + + if (me.store.buffered) { + lockedTable = lockedView.el.child('table', true); + normalTable = normalView.el.child('table', true); + lockedTable.style.position = 'absolute'; + lockedTable.style.top = normalTable.style.top; + } + me.scrolling = false; + } + }, + + + onLockedHeaderMove: function() { + if (this.syncRowHeight) { + this.onNormalViewRefresh(); + } + }, + + + onNormalHeaderMove: function() { + if (this.syncRowHeight) { + this.onLockedViewRefresh(); + } + }, + + + + + + updateSpacer: function() { + var me = this, + + + lockedViewEl = me.lockedGrid.getView().el, + normalViewEl = me.normalGrid.getView().el.dom, + spacerId = lockedViewEl.dom.id + '-spacer', + spacerHeight = (normalViewEl.offsetHeight - normalViewEl.clientHeight) + 'px'; + + me.spacerEl = Ext.getDom(spacerId); + if (me.spacerEl) { + me.spacerEl.style.height = spacerHeight; + } else { + Ext.core.DomHelper.append(lockedViewEl, { + id: spacerId, + style: 'height: ' + spacerHeight + }); + } + }, + + + onLockedViewRefresh: function() { + + + if (this.normalGrid.headerCt.getGridColumns().length) { + var me = this, + view = me.lockedGrid.getView(), + el = view.el, + rowEls = el.query(view.getItemSelector()), + ln = rowEls.length, + i = 0; + + + me.lockedHeights = []; + + for (; i < ln; i++) { + me.lockedHeights[i] = rowEls[i].offsetHeight; + } + me.syncRowHeights(); + me.updateSpacer(); + } + }, + + + onNormalViewRefresh: function() { + + + if (this.lockedGrid.headerCt.getGridColumns().length) { + var me = this, + view = me.normalGrid.getView(), + el = view.el, + rowEls = el.query(view.getItemSelector()), + ln = rowEls.length, + i = 0; + + + me.normalHeights = []; + + for (; i < ln; i++) { + me.normalHeights[i] = rowEls[i].offsetHeight; + } + me.syncRowHeights(); + me.updateSpacer(); + } + }, + + + onLockedViewItemUpdate: function(record, index, node) { + + + if (this.normalGrid.headerCt.getGridColumns().length) { + this.lockedHeights[index] = node.offsetHeight; + this.syncRowHeights(); + } + }, + + + onNormalViewItemUpdate: function(record, index, node) { + + + if (this.lockedGrid.headerCt.getGridColumns().length) { + this.normalHeights[index] = node.offsetHeight; + this.syncRowHeights(); + } + }, + + + syncRowHeights: function() { + var me = this, + lockedHeights = me.lockedHeights, + normalHeights = me.normalHeights, + ln = lockedHeights.length, + i = 0, + lockedView, normalView, + lockedRowEls, normalRowEls, + scrollTop; + + + + if (lockedHeights.length && normalHeights.length) { + lockedView = me.lockedGrid.getView(); + normalView = me.normalGrid.getView(); + lockedRowEls = lockedView.el.query(lockedView.getItemSelector()); + normalRowEls = normalView.el.query(normalView.getItemSelector()); + + + for (; i < ln; i++) { + + if (!isNaN(lockedHeights[i]) && !isNaN(normalHeights[i])) { + if (lockedHeights[i] > normalHeights[i]) { + Ext.fly(normalRowEls[i]).setHeight(lockedHeights[i]); + } else if (lockedHeights[i] < normalHeights[i]) { + Ext.fly(lockedRowEls[i]).setHeight(normalHeights[i]); + } + } + } + + + scrollTop = normalView.el.dom.scrollTop; + normalView.el.dom.scrollTop = scrollTop; + lockedView.el.dom.scrollTop = scrollTop; + + + me.lockedHeights = []; + me.normalHeights = []; + } + }, + + + modifyHeaderCt: function() { + var me = this; + me.lockedGrid.headerCt.getMenuItems = me.getMenuItems(me.lockedGrid.headerCt.getMenuItems, true); + me.normalGrid.headerCt.getMenuItems = me.getMenuItems(me.normalGrid.headerCt.getMenuItems, false); + }, + + onUnlockMenuClick: function() { + this.unlock(); + }, + + onLockMenuClick: function() { + this.lock(); + }, + + getMenuItems: function(getMenuItems, locked) { + var me = this, + unlockText = me.unlockText, + lockText = me.lockText, + unlockCls = Ext.baseCSSPrefix + 'hmenu-unlock', + lockCls = Ext.baseCSSPrefix + 'hmenu-lock', + unlockHandler = Ext.Function.bind(me.onUnlockMenuClick, me), + lockHandler = Ext.Function.bind(me.onLockMenuClick, me); + + + return function() { + + + + var o = getMenuItems.call(this); + o.push('-', { + cls: unlockCls, + text: unlockText, + handler: unlockHandler, + disabled: !locked + }); + o.push({ + cls: lockCls, + text: lockText, + handler: lockHandler, + disabled: locked + }); + return o; + }; + }, + + + + lock: function(activeHd, toIdx) { + var me = this, + normalGrid = me.normalGrid, + lockedGrid = me.lockedGrid, + normalHCt = normalGrid.headerCt, + lockedHCt = lockedGrid.headerCt; + + activeHd = activeHd || normalHCt.getMenu().activeHeader; + + + + if (activeHd.flex) { + activeHd.width = activeHd.getWidth(); + delete activeHd.flex; + } + + Ext.suspendLayouts(); + activeHd.ownerCt.remove(activeHd, false); + activeHd.locked = true; + if (Ext.isDefined(toIdx)) { + lockedHCt.insert(toIdx, activeHd); + } else { + lockedHCt.add(activeHd); + } + me.syncLockedSection(); + Ext.resumeLayouts(true); + me.updateSpacer(); + + me.fireEvent('lockcolumn', me, activeHd); + }, + + syncLockedSection: function() { + var me = this; + me.syncLockedWidth(); + me.lockedGrid.getView().refresh(); + me.normalGrid.getView().refresh(); + }, + + + + syncLockedWidth: function() { + var me = this, + locked = me.lockedGrid, + width = locked.headerCt.getFullWidth(true); + + Ext.suspendLayouts(); + if (width > 0) { + locked.setWidth(width); + locked.show(); + } else { + locked.hide(); + } + Ext.resumeLayouts(true); + + return width > 0; + }, + + onLockedHeaderResize: function() { + this.syncLockedWidth(); + }, + + onLockedHeaderHide: function() { + this.syncLockedWidth(); + }, + + onLockedHeaderShow: function() { + this.syncLockedWidth(); + }, + + onLockedHeaderSortChange: function(headerCt, header, sortState) { + if (sortState) { + + + this.normalGrid.headerCt.clearOtherSortStates(null, true); + } + }, + + onNormalHeaderSortChange: function(headerCt, header, sortState) { + if (sortState) { + + + this.lockedGrid.headerCt.clearOtherSortStates(null, true); + } + }, + + + + unlock: function(activeHd, toIdx) { + var me = this, + normalGrid = me.normalGrid, + lockedGrid = me.lockedGrid, + normalHCt = normalGrid.headerCt, + lockedHCt = lockedGrid.headerCt, + refreshLocked = false; + + if (!Ext.isDefined(toIdx)) { + toIdx = 0; + } + activeHd = activeHd || lockedHCt.getMenu().activeHeader; + + Ext.suspendLayouts(); + activeHd.ownerCt.remove(activeHd, false); + if (me.syncLockedWidth()) { + refreshLocked = true; + } + activeHd.locked = false; + + + normalHCt.insert(toIdx, activeHd); + me.normalGrid.getView().refresh(); + + if (refreshLocked) { + me.lockedGrid.getView().refresh(); + } + Ext.resumeLayouts(true); + + me.fireEvent('unlockcolumn', me, activeHd); + }, + + applyColumnsState: function (columns) { + var me = this, + lockedGrid = me.lockedGrid, + lockedHeaderCt = lockedGrid.headerCt, + normalHeaderCt = me.normalGrid.headerCt, + lockedCols = Ext.Array.toMap(lockedHeaderCt.items, 'headerId'), + normalCols = Ext.Array.toMap(normalHeaderCt.items, 'headerId'), + locked = [], + normal = [], + lockedWidth = 1, + length = columns.length, + i, existing, + lockedDefault, + col; + + for (i = 0; i < length; i++) { + col = columns[i]; + + lockedDefault = lockedCols[col.id]; + existing = lockedDefault || normalCols[col.id]; + + if (existing) { + if (existing.applyColumnState) { + existing.applyColumnState(col); + } + if (existing.locked === undefined) { + existing.locked = !!lockedDefault; + } + if (existing.locked) { + locked.push(existing); + if (!existing.hidden && typeof existing.width == 'number') { + lockedWidth += existing.width; + } + } else { + normal.push(existing); + } + } + } + + + if (locked.length + normal.length == lockedHeaderCt.items.getCount() + normalHeaderCt.items.getCount()) { + lockedHeaderCt.removeAll(false); + normalHeaderCt.removeAll(false); + + lockedHeaderCt.add(locked); + normalHeaderCt.add(normal); + + lockedGrid.setWidth(lockedWidth); + } + }, + + getColumnsState: function () { + var me = this, + locked = me.lockedGrid.headerCt.getColumnsState(), + normal = me.normalGrid.headerCt.getColumnsState(); + + return locked.concat(normal); + }, + + + reconfigureLockable: function(store, columns) { + var me = this, + lockedGrid = me.lockedGrid, + normalGrid = me.normalGrid; + + if (columns) { + Ext.suspendLayouts(); + lockedGrid.headerCt.removeAll(); + normalGrid.headerCt.removeAll(); + + columns = me.processColumns(columns); + lockedGrid.setWidth(columns.lockedWidth); + lockedGrid.headerCt.add(columns.locked.items); + normalGrid.headerCt.add(columns.normal.items); + Ext.resumeLayouts(true); + } + + if (store) { + store = Ext.data.StoreManager.lookup(store); + me.store = store; + lockedGrid.bindStore(store); + normalGrid.bindStore(store); + } else { + lockedGrid.getView().refresh(); + normalGrid.getView().refresh(); + } + }, + + + cloneFeatures: function() { + var me = this, + features = me.features, + feature, + i = 0, len; + + if (features) { + len = features.length; + for (; i < len; i++) { + feature = features[i]; + if (feature.isFeature) { + features[i] = feature.clone(); + } + } + } + }, + + + clonePlugins: function() { + var me = this, + plugins = me.plugins, + plugin, + i = 0, len; + + if (plugins) { + len = plugins.length; + for (; i < len; i++) { + plugin = plugins[i]; + if (typeof plugin.init === 'function') { + plugins[i] = plugin.clone(); + } + } + } + } +}, function() { + this.borrow(Ext.view.Table, ['constructFeatures']); + this.borrow(Ext.AbstractComponent, ['constructPlugins', 'constructPlugin']); +}); + + +Ext.define('Ext.grid.PagingScroller', { + + + percentageFromEdge: 0.35, + + + numFromEdge: 2, + + + trailingBufferZone: 5, + + + leadingBufferZone: 15, + + + scrollToLoadBuffer: 200, + + + viewSize: 0, + + rowHeight: 21, + + tableStart: 0, + tableEnd: 0, + + constructor: function(config) { + var me = this; + me.variableRowHeight = config.variableRowHeight; + me.bindView(config.view); + Ext.apply(me, config); + me.callParent(arguments); + }, + + bindView: function(view) { + var me = this, + viewListeners = { + scroll: { + fn: me.onViewScroll, + element: 'el', + scope: me + }, + render: me.onViewRender, + resize: me.onViewResize, + boxready: { + fn: me.onViewResize, + scope: me, + single: true + }, + + + + + beforerefresh: me.beforeViewRefresh, + + refresh: me.onViewRefresh, + scope: me + }, + storeListeners = { + guaranteedrange: me.onGuaranteedRange, + scope: me + }, + gridListeners = { + reconfigure: me.onGridReconfigure, + scope: me + }, partner; + + + if (me.view) { + if (me.view.el) { + me.view.el.un('scroll', me.onViewScroll, me); + } + + partner = view.lockingPartner; + if (partner) { + partner.un('refresh', me.onLockRefresh, me); + } + + me.view.un(viewListeners); + me.store.un(storeListeners); + if (me.grid) { + me.grid.un(gridListeners); + } + delete me.view.refreshSize; + } + + me.view = view; + me.grid = me.view.up('tablepanel'); + me.store = view.store; + if (view.rendered) { + me.viewSize = me.store.viewSize = Math.ceil(view.getHeight() / me.rowHeight) + me.trailingBufferZone + (me.numFromEdge * 2) + me.leadingBufferZone; + } + + partner = view.lockingPartner; + if (partner) { + partner.on('refresh', me.onLockRefresh, me); + } + + me.view.mon(me.store.pageMap, { + scope: me, + clear: me.onCacheClear + }); + + + + + me.view.refreshSize = Ext.Function.createInterceptor(me.view.refreshSize, me.beforeViewrefreshSize, me); + + + me.position = 0; + + + if (me.grid) { + me.grid.on(gridListeners); + } else { + me.view.on({ + added: function() { + me.grid = me.view.up('tablepanel'); + me.grid.on(gridListeners); + }, + single: true + }); + } + + me.view.on(me.viewListeners = viewListeners); + me.store.on(storeListeners); + }, + + onCacheClear: function() { + var me = this; + + + if (me.view.rendered && !me.store.isDestroyed) { + + + me.ignoreNextScrollEvent = me.view.el.dom.scrollTop !== 0; + + me.view.el.dom.scrollTop = 0; + delete me.lastScrollDirection; + delete me.scrollOffset; + delete me.scrollProportion; + } + }, + + onGridReconfigure: function (grid) { + this.bindView(grid.view); + }, + + + onViewRender: function() { + var me = this, + view = me.view, + el = me.view.el, + stretcher; + + me.stretcher = me.createStretcher(view); + + view = view.lockingPartner; + if (view) { + stretcher = me.stretcher; + me.stretcher = new Ext.CompositeElement(stretcher); + me.stretcher.add(me.createStretcher(view)); + } + }, + + createStretcher: function(view) { + var el = view.el; + el.setStyle('position', 'relative'); + + return el.createChild({ + style:{ + position: 'absolute', + width: '1px', + height: 0, + top: 0, + left: 0 + } + }, el.dom.firstChild); + }, + + onViewResize: function(view, width, height) { + var me = this, + newViewSize; + + newViewSize = Math.ceil(height / me.rowHeight) + me.trailingBufferZone + (me.numFromEdge * 2) + me.leadingBufferZone; + if (newViewSize > me.viewSize) { + me.viewSize = me.store.viewSize = newViewSize; + me.handleViewScroll(me.lastScrollDirection || 1); + } + }, + + + beforeViewRefresh: function() { + var me = this, + view = me.view, + rows, + direction; + + + me.focusOnRefresh = Ext.Element.getActiveElement === view.el.dom; + + + if (me.variableRowHeight) { + direction = me.lastScrollDirection; + me.commonRecordIndex = undefined; + + + + + if (direction && (me.previousStart !== undefined) && (me.scrollProportion === undefined) && (rows = view.getNodes()).length) { + + + if (direction === 1) { + + + if (me.tableStart <= me.previousEnd) { + me.commonRecordIndex = rows.length - 1; + + } + } + + else if (direction === -1) { + + + if (me.tableEnd >= me.previousStart) { + me.commonRecordIndex = 0; + } + } + + me.scrollOffset = -view.el.getOffsetsTo(rows[me.commonRecordIndex])[1]; + + + me.commonRecordIndex -= (me.tableStart - me.previousStart); + } else { + me.scrollOffset = undefined; + } + } + }, + + onLockRefresh: function(view) { + view.table.dom.style.position = 'absolute'; + }, + + + + onViewRefresh: function() { + var me = this, + store = me.store, + newScrollHeight, + view = me.view, + viewEl = view.el, + viewDom = viewEl.dom, + rows, + newScrollOffset, + scrollDelta, + table = view.table.dom, + tableTop, + scrollTop; + + + if (me.focusOnRefresh) { + viewEl.focus(); + me.focusOnRefresh = false; + } + + + me.disabled = true; + + + + + + + if (store.getCount() === store.getTotalCount() || (store.isFiltered() && !store.remoteFilter)) { + me.stretcher.setHeight(0); + me.position = viewDom.scrollTop = 0; + + + + me.setTablePosition('absolute'); + + + return; + } + + me.stretcher.setHeight(newScrollHeight = me.getScrollHeight()); + + scrollTop = viewDom.scrollTop; + + + me.isScrollRefresh = (scrollTop > 0); + + + + if (me.scrollProportion !== undefined) { + me.setTablePosition('absolute'); + me.setTableTop((me.scrollProportion ? (newScrollHeight * me.scrollProportion) - (table.offsetHeight * me.scrollProportion) : 0) + 'px'); + } else { + me.setTablePosition('absolute'); + me.setTableTop((tableTop = (me.tableStart||0) * me.rowHeight) + 'px'); + + + if (me.scrollOffset) { + rows = view.getNodes(); + newScrollOffset = -viewEl.getOffsetsTo(rows[me.commonRecordIndex])[1]; + scrollDelta = newScrollOffset - me.scrollOffset; + me.position = (viewDom.scrollTop += scrollDelta); + } + + + + + + + + else if ((tableTop > scrollTop) || ((tableTop + table.offsetHeight) < scrollTop + viewDom.clientHeight)) { + me.lastScrollDirection = -1; + me.position = viewDom.scrollTop = tableTop; + } + } + + + me.disabled = false; + }, + + setTablePosition: function(position) { + this.setViewTableStyle(this.view, 'position', position); + }, + + setTableTop: function(top){ + this.setViewTableStyle(this.view, 'top', top); + }, + + setViewTableStyle: function(view, prop, value) { + view.el.child('table', true).style[prop] = value; + view = view.lockingPartner; + + if (view) { + view.el.child('table', true).style[prop] = value; + } + }, + + beforeViewrefreshSize: function() { + + if (this.isScrollRefresh) { + + this.view.table.attach(this.view.el.child('table', true)); + return (this.isScrollRefresh = false); + } + }, + + onGuaranteedRange: function(range, start, end) { + var me = this, + ds = me.store; + + + if (range.length && me.visibleStart < range[0].index) { + return; + } + + + + me.previousStart = me.tableStart; + me.previousEnd = me.tableEnd; + + me.tableStart = start; + me.tableEnd = end; + ds.loadRecords(range, { + start: start + }); + }, + + onViewScroll: function(e, t) { + var me = this, + view = me.view, + lastPosition = me.position; + + me.position = view.el.dom.scrollTop; + + + + if (me.ignoreNextScrollEvent) { + me.ignoreNextScrollEvent = false; + return; + } + + + + if (!me.disabled) { + me.lastScrollDirection = me.position > lastPosition ? 1 : -1; + + if (lastPosition !== me.position) { + me.handleViewScroll(me.lastScrollDirection); + } + } + }, + + handleViewScroll: function(direction) { + var me = this, + store = me.store, + view = me.view, + viewSize = me.viewSize, + totalCount = store.getTotalCount(), + highestStartPoint = totalCount - viewSize, + visibleStart = me.getFirstVisibleRowIndex(), + visibleEnd = me.getLastVisibleRowIndex(), + el = view.el.dom, + requestStart, + requestEnd; + + + if (totalCount >= viewSize) { + + + + + + me.scrollProportion = undefined; + + + if (direction == -1) { + + + if (me.tableStart) { + if (visibleStart !== undefined) { + if (visibleStart < (me.tableStart + me.numFromEdge)) { + requestStart = Math.max(0, visibleEnd + me.trailingBufferZone - viewSize); + } + } + + + + else { + + me.scrollProportion = el.scrollTop / (el.scrollHeight - el.clientHeight); + requestStart = Math.max(0, totalCount * me.scrollProportion - (viewSize / 2) - me.numFromEdge - ((me.leadingBufferZone + me.trailingBufferZone) / 2)); + } + } + } + + else { + if (visibleStart !== undefined) { + if (visibleEnd > (me.tableEnd - me.numFromEdge)) { + requestStart = Math.max(0, visibleStart - me.trailingBufferZone); + } + } + + + + else { + + me.scrollProportion = el.scrollTop / (el.scrollHeight - el.clientHeight); + requestStart = totalCount * me.scrollProportion - (viewSize / 2) - me.numFromEdge - ((me.leadingBufferZone + me.trailingBufferZone) / 2); + } + } + + + if (requestStart !== undefined) { + + if (requestStart > highestStartPoint) { + requestStart = highestStartPoint & ~1; + requestEnd = totalCount - 1; + } + + else { + requestStart = requestStart & ~1; + requestEnd = requestStart + viewSize - 1; + } + + + if (store.rangeCached(requestStart, requestEnd)) { + me.cancelLoad(); + store.guaranteeRange(requestStart, requestEnd); + } + + + + else { + me.attemptLoad(requestStart, requestEnd); + } + } + } + }, + + getFirstVisibleRowIndex: function() { + var me = this, + view = me.view, + scrollTop = view.el.dom.scrollTop, + rows, + count, + i, + rowBottom; + + if (me.variableRowHeight) { + rows = view.getNodes(); + count = rows.length; + if (!count) { + return; + } + rowBottom = Ext.fly(rows[0]).getOffsetsTo(view.el)[1]; + for (i = 0; i < count; i++) { + rowBottom += rows[i].offsetHeight; + + + if (rowBottom > view.el.dom.clientHeight) { + return; + } + + + + if (rowBottom > 0) { + return view.getRecord(rows[i]).index; + } + } + } else { + return Math.floor(scrollTop / me.rowHeight); + } + }, + + getLastVisibleRowIndex: function() { + var me = this, + store = me.store, + view = me.view, + clientHeight = view.el.dom.clientHeight, + rows, + count, + i, + rowTop; + + if (me.variableRowHeight) { + rows = view.getNodes(); + if (!rows.length) { + return; + } + count = store.getCount() - 1; + rowTop = Ext.fly(rows[count]).getOffsetsTo(view.el)[1] + rows[count].offsetHeight; + for (i = count; i >= 0; i--) { + rowTop -= rows[i].offsetHeight; + + + if (rowTop < 0) { + return; + } + + + + if (rowTop < clientHeight) { + return view.getRecord(rows[i]).index; + } + } + } else { + return me.getFirstVisibleRowIndex() + Math.ceil(clientHeight / me.rowHeight) + 1; + } + }, + + getScrollHeight: function() { + var me = this, + view = me.view, + table, + firstRow, + store = me.store, + deltaHeight = 0, + doCalcHeight = !me.hasOwnProperty('rowHeight'); + + if (me.variableRowHeight) { + table = me.view.table.dom; + if (doCalcHeight) { + me.initialTableHeight = table.offsetHeight; + me.rowHeight = me.initialTableHeight / me.store.getCount(); + } else { + deltaHeight = table.offsetHeight - me.initialTableHeight; + + + if (store.getCount() > me.viewSize) { + deltaHeight -= me.rowHeight; + } + } + } else if (doCalcHeight) { + firstRow = view.el.down(view.getItemSelector()); + if (firstRow) { + me.rowHeight = firstRow.getHeight(false, true); + } + } + + return Math.floor(store.getTotalCount() * me.rowHeight) + deltaHeight; + }, + + attemptLoad: function(start, end) { + var me = this; + if (me.scrollToLoadBuffer) { + if (!me.loadTask) { + me.loadTask = new Ext.util.DelayedTask(me.doAttemptLoad, me, []); + } + me.loadTask.delay(me.scrollToLoadBuffer, me.doAttemptLoad, me, [start, end]); + } else { + me.store.guaranteeRange(start, end); + } + }, + + cancelLoad: function() { + if (this.loadTask) { + this.loadTask.cancel(); + } + }, + + doAttemptLoad: function(start, end) { + this.store.guaranteeRange(start, end); + }, + + destroy: function() { + var me = this, + scrollListener = me.viewListeners.scroll; + + me.store.un({ + guaranteedrange: me.onGuaranteedRange, + scope: me + }); + me.view.un(me.viewListeners); + if (me.view.rendered) { + me.stretcher.remove(); + me.view.el.un('scroll', scrollListener.fn, scrollListener.scope); + } + } +}); + + +Ext.define('Ext.layout.container.Fit', { + + + extend: 'Ext.layout.container.Container', + alternateClassName: 'Ext.layout.FitLayout', + + alias: 'layout.fit', + + + + itemCls: Ext.baseCSSPrefix + 'fit-item', + targetCls: Ext.baseCSSPrefix + 'layout-fit', + type: 'fit', + + + defaultMargins: { + top: 0, + right: 0, + bottom: 0, + left: 0 + }, + + manageMargins: true, + + sizePolicies: { + 0: { setsWidth: 0, setsHeight: 0 }, + 1: { setsWidth: 1, setsHeight: 0 }, + 2: { setsWidth: 0, setsHeight: 1 }, + 3: { setsWidth: 1, setsHeight: 1 } + }, + + getItemSizePolicy: function (item, ownerSizeModel) { + + var sizeModel = ownerSizeModel || this.owner.getSizeModel(), + mode = (sizeModel.width.shrinkWrap ? 0 : 1) | + (sizeModel.height.shrinkWrap ? 0 : 2); + + return this.sizePolicies[mode]; + }, + + beginLayoutCycle: function (ownerContext, firstCycle) { + var me = this, + + resetHeight = me.lastHeightModel && me.lastHeightModel.calculated, + resetWidth = me.lastWidthModel && me.lastWidthModel.calculated, + resetSizes = resetWidth || resetHeight, + maxChildMinHeight = 0, maxChildMinWidth = 0, + c, childItems, i, item, length, margins, minHeight, minWidth, style, undef; + + me.callParent(arguments); + + + + + + if (resetSizes && ownerContext.targetContext.el.dom.tagName.toUpperCase() != 'TD') { + resetSizes = resetWidth = resetHeight = false; + } + + childItems = ownerContext.childItems; + length = childItems.length; + + for (i = 0; i < length; ++i) { + item = childItems[i]; + + + + + if (firstCycle) { + c = item.target; + minHeight = c.minHeight; + minWidth = c.minWidth; + + if (minWidth || minHeight) { + margins = item.marginInfo || item.getMarginInfo(); + + + minHeight += margins.height; + minWidth += margins.height; + + + + if (maxChildMinHeight < minHeight) { + maxChildMinHeight = minHeight; + } + if (maxChildMinWidth < minWidth) { + maxChildMinWidth = minWidth; + } + } + } + + if (resetSizes) { + style = item.el.dom.style; + + if (resetHeight) { + style.height = ''; + } + if (resetWidth) { + style.width = ''; + } + } + } + + if (firstCycle) { + ownerContext.maxChildMinHeight = maxChildMinHeight; + ownerContext.maxChildMinWidth = maxChildMinWidth; + } + + + + + c = ownerContext.target; + ownerContext.overflowX = (!ownerContext.widthModel.shrinkWrap && + ownerContext.maxChildMinWidth && + (c.autoScroll || c.overflowX)) || undef; + + ownerContext.overflowY = (!ownerContext.heightModel.shrinkWrap && + ownerContext.maxChildMinHeight && + (c.autoScroll || c.overflowY)) || undef; + }, + + calculate : function (ownerContext) { + var me = this, + childItems = ownerContext.childItems, + length = childItems.length, + containerSize = me.getContainerSize(ownerContext), + info = { + length: length, + ownerContext: ownerContext, + targetSize: containerSize + }, + shrinkWrapWidth = ownerContext.widthModel.shrinkWrap, + shrinkWrapHeight = ownerContext.heightModel.shrinkWrap, + overflowX = ownerContext.overflowX, + overflowY = ownerContext.overflowY, + scrollbars, scrollbarSize, padding, i, contentWidth, contentHeight; + + if (overflowX || overflowY) { + + + + scrollbars = me.getScrollbarsNeeded( + overflowX && containerSize.width, overflowY && containerSize.height, + ownerContext.maxChildMinWidth, ownerContext.maxChildMinHeight); + + if (scrollbars) { + scrollbarSize = Ext.getScrollbarSize(); + if (scrollbars & 1) { + containerSize.height -= scrollbarSize.height; + } + if (scrollbars & 2) { + containerSize.width -= scrollbarSize.width; + } + } + } + + + for (i = 0; i < length; ++i) { + info.index = i; + me.fitItem(childItems[i], info); + } + + if (shrinkWrapHeight || shrinkWrapWidth) { + padding = ownerContext.targetContext.getPaddingInfo(); + + if (shrinkWrapWidth) { + if (overflowY && !containerSize.gotHeight) { + + + + me.done = false; + } else { + contentWidth = info.contentWidth + padding.width; + + + + if (scrollbars & 2) { + contentWidth += scrollbarSize.width; + } + if (!ownerContext.setContentWidth(contentWidth)) { + me.done = false; + } + } + } + + if (shrinkWrapHeight) { + if (overflowX && !containerSize.gotWidth) { + + + + me.done = false; + } else { + contentHeight = info.contentHeight + padding.height; + + + + if (scrollbars & 1) { + contentHeight += scrollbarSize.height; + } + if (!ownerContext.setContentHeight(contentHeight)) { + me.done = false; + } + } + } + } + }, + + fitItem: function (itemContext, info) { + var me = this; + + if (itemContext.invalid) { + me.done = false; + return; + } + + info.margins = itemContext.getMarginInfo(); + info.needed = info.got = 0; + + me.fitItemWidth(itemContext, info); + me.fitItemHeight(itemContext, info); + + + if (info.got != info.needed) { + me.done = false; + } + }, + + fitItemWidth: function (itemContext, info) { + var contentWidth, width; + + if (info.ownerContext.widthModel.shrinkWrap) { + + width = itemContext.getProp('width') + info.margins.width; + + + contentWidth = info.contentWidth; + if (contentWidth === undefined) { + info.contentWidth = width; + } else { + info.contentWidth = Math.max(contentWidth, width); + } + } else if (itemContext.widthModel.calculated) { + ++info.needed; + if (info.targetSize.gotWidth) { + ++info.got; + this.setItemWidth(itemContext, info); + } + } + + this.positionItemX(itemContext, info); + }, + + fitItemHeight: function (itemContext, info) { + var contentHeight, height; + if (info.ownerContext.heightModel.shrinkWrap) { + + height = itemContext.getProp('height') + info.margins.height; + + + contentHeight = info.contentHeight; + if (contentHeight === undefined) { + info.contentHeight = height; + } else { + info.contentHeight = Math.max(contentHeight, height); + } + } else if (itemContext.heightModel.calculated) { + ++info.needed; + if (info.targetSize.gotHeight) { + ++info.got; + this.setItemHeight(itemContext, info); + } + } + + this.positionItemY(itemContext, info); + }, + + positionItemX: function (itemContext, info) { + var margins = info.margins; + + + + if (info.index || margins.left) { + itemContext.setProp('x', margins.left); + } + + if (margins.width) { + + itemContext.setProp('margin-right', margins.width); + } + }, + + positionItemY: function (itemContext, info) { + var margins = info.margins; + + if (info.index || margins.top) { + itemContext.setProp('y', margins.top); + } + + if (margins.height) { + + itemContext.setProp('margin-bottom', margins.height); + } + }, + + setItemHeight: function (itemContext, info) { + itemContext.setHeight(info.targetSize.height - info.margins.height); + }, + + setItemWidth: function (itemContext, info) { + itemContext.setWidth(info.targetSize.width - info.margins.width); + } +}); + + +Ext.define('Ext.panel.Table', { + extend: 'Ext.panel.Panel', + + alias: 'widget.tablepanel', + + uses: [ + 'Ext.selection.RowModel', + 'Ext.selection.CellModel', + 'Ext.selection.CheckboxModel', + 'Ext.grid.PagingScroller', + 'Ext.grid.header.Container', + 'Ext.grid.Lockable' + ], + + extraBaseCls: Ext.baseCSSPrefix + 'grid', + extraBodyCls: Ext.baseCSSPrefix + 'grid-body', + + layout: 'fit', + + hasView: false, + + + + viewType: null, + + + + + + + selType: 'rowmodel', + + + + + + + + + + + scroll: true, + + + + + + + + + + + + + + deferRowRender: true, + + + sortableColumns: true, + + + enableLocking: false, + + + + scrollerOwner: true, + + + enableColumnMove: true, + + + sealedColumns: false, + + + enableColumnResize: true, + + + enableColumnHide: true, + + + + + rowLines: true, + + + + + + + + + + initComponent: function() { + + var me = this, + scroll = me.scroll, + vertical = false, + horizontal = false, + headerCtCfg = me.columns || me.colModel, + view, + border = me.border, + i, len; + + if (me.columnLines) { + me.addCls(Ext.baseCSSPrefix + 'grid-with-col-lines'); + } + + if (me.rowLines) { + me.addCls(Ext.baseCSSPrefix + 'grid-with-row-lines'); + } + + + me.store = Ext.data.StoreManager.lookup(me.store || 'ext-empty-store'); + + + + + if (headerCtCfg instanceof Ext.grid.header.Container) { + me.headerCt = headerCtCfg; + me.headerCt.border = border; + me.columns = me.headerCt.items.items; + } else { + if (Ext.isArray(headerCtCfg)) { + headerCtCfg = { + items: headerCtCfg, + border: border + }; + } + Ext.apply(headerCtCfg, { + forceFit: me.forceFit, + sortable: me.sortableColumns, + enableColumnMove: me.enableColumnMove, + enableColumnResize: me.enableColumnResize, + enableColumnHide: me.enableColumnHide, + border: border, + sealed: me.sealedColumns + }); + me.columns = headerCtCfg.items; + + + + if (me.enableLocking || Ext.ComponentQuery.query('{locked !== undefined}{processed != true}', me.columns).length) { + me.self.mixin('lockable', Ext.grid.Lockable); + me.injectLockable(); + } + } + + me.scrollTask = new Ext.util.DelayedTask(me.syncHorizontalScroll, me); + + me.addEvents( + + 'reconfigure', + + 'viewready' + ); + + me.bodyCls = me.bodyCls || ''; + me.bodyCls += (' ' + me.extraBodyCls); + + me.cls = me.cls || ''; + me.cls += (' ' + me.extraBaseCls); + + + delete me.autoScroll; + + + + if (!me.hasView) { + + + + if (!me.headerCt) { + me.headerCt = new Ext.grid.header.Container(headerCtCfg); + } + + + me.columns = me.headerCt.items.items; + + + if (me.store.buffered && !me.store.remoteSort) { + for (i = 0, len = me.columns.length; i < len; i++) { + me.columns[i].sortable = false; + } + } + + if (me.hideHeaders) { + me.headerCt.height = 0; + me.headerCt.addCls(Ext.baseCSSPrefix + 'grid-header-ct-hidden'); + me.addCls(Ext.baseCSSPrefix + 'grid-header-hidden'); + + + if (Ext.isIEQuirks) { + me.headerCt.style = { + display: 'none' + }; + } + } + + + if (scroll === true || scroll === 'both') { + vertical = horizontal = true; + } else if (scroll === 'horizontal') { + horizontal = true; + } else if (scroll === 'vertical') { + vertical = true; + } + + me.relayHeaderCtEvents(me.headerCt); + me.features = me.features || []; + if (!Ext.isArray(me.features)) { + me.features = [me.features]; + } + me.dockedItems = [].concat(me.dockedItems || []); + me.dockedItems.unshift(me.headerCt); + me.viewConfig = me.viewConfig || {}; + + + if (me.store && me.store.buffered) { + me.viewConfig.preserveScrollOnRefresh = true; + } else if (me.invalidateScrollerOnRefresh !== undefined) { + me.viewConfig.preserveScrollOnRefresh = !me.invalidateScrollerOnRefresh; + } + + + + view = me.getView(); + + me.items = [view]; + me.hasView = true; + + if (vertical) { + + + if (me.store.buffered) { + me.verticalScroller = new Ext.grid.PagingScroller(Ext.apply({ + panel: me, + store: me.store, + view: me.view + }, me.verticalScroller)); + } + } + + if (horizontal) { + + + if (!me.hideHeaders) { + view.on({ + scroll: { + fn: me.onHorizontalScroll, + element: 'el', + scope: me + } + }); + } + } + + me.mon(view.store, { + load: me.onStoreLoad, + scope: me + }); + me.mon(view, { + viewready: me.onViewReady, + refresh: me.onRestoreHorzScroll, + scope: me + }); + } + + + this.relayEvents(me.view, [ + + 'beforeitemmousedown', + + 'beforeitemmouseup', + + 'beforeitemmouseenter', + + 'beforeitemmouseleave', + + 'beforeitemclick', + + 'beforeitemdblclick', + + 'beforeitemcontextmenu', + + 'itemmousedown', + + 'itemmouseup', + + 'itemmouseenter', + + 'itemmouseleave', + + 'itemclick', + + 'itemdblclick', + + 'itemcontextmenu', + + 'beforecontainermousedown', + + 'beforecontainermouseup', + + 'beforecontainermouseover', + + 'beforecontainermouseout', + + 'beforecontainerclick', + + 'beforecontainerdblclick', + + 'beforecontainercontextmenu', + + 'containermouseup', + + 'containermouseover', + + 'containermouseout', + + 'containerclick', + + 'containerdblclick', + + 'containercontextmenu', + + 'selectionchange', + + 'beforeselect', + + 'select', + + 'beforedeselect', + + 'deselect' + ]); + + me.callParent(arguments); + me.addStateEvents(['columnresize', 'columnmove', 'columnhide', 'columnshow', 'sortchange']); + + if (me.headerCt) { + me.headerCt.on('afterlayout', me.onRestoreHorzScroll, me); + } + }, + + relayHeaderCtEvents: function (headerCt) { + this.relayEvents(headerCt, [ + + 'columnresize', + + 'columnmove', + + 'columnhide', + + 'columnshow', + + 'sortchange' + ]); + }, + + getState: function(){ + var me = this, + state = me.callParent(), + sorter = me.store.sorters.first(); + + state = me.addPropertyToState(state, 'columns', (me.headerCt || me).getColumnsState()); + + if (sorter) { + state = me.addPropertyToState(state, 'sort', { + property: sorter.property, + direction: sorter.direction, + root: sorter.root + }); + } + return state; + }, + + applyState: function(state) { + var me = this, + sorter = state.sort, + store = me.store, + columns = state.columns; + + delete state.columns; + + + + me.callParent(arguments); + + if (columns) { + (me.headerCt || me).applyColumnsState(columns); + } + + if (sorter) { + if (store.remoteSort) { + + store.sort({ + property: sorter.property, + direction: sorter.direction, + root: sorter.root + }, null, false); + } else { + store.sort(sorter.property, sorter.direction); + } + } + }, + + + getStore: function(){ + return this.store; + }, + + + getView: function() { + var me = this, + sm; + + if (!me.view) { + sm = me.getSelectionModel(); + me.view = Ext.widget(Ext.apply({}, me.viewConfig, { + + + grid: me, + deferInitialRefresh: me.deferRowRender !== false, + scroll: me.scroll, + xtype: me.viewType, + store: me.store, + headerCt: me.headerCt, + selModel: sm, + features: me.features, + panel: me, + emptyText : me.emptyText ? '
' + me.emptyText + '
' : '' + })); + + + me.view.getComponentLayout().headerCt = me.headerCt; + + me.mon(me.view, { + uievent: me.processEvent, + scope: me + }); + sm.view = me.view; + me.headerCt.view = me.view; + me.relayEvents(me.view, [ + + 'cellclick', + + 'celldblclick' + ]); + } + return me.view; + }, + + + setAutoScroll: Ext.emptyFn, + + + processEvent: function(type, view, cell, recordIndex, cellIndex, e) { + var me = this, + header; + + if (cellIndex !== -1) { + header = me.headerCt.getGridColumns()[cellIndex]; + return header.processEvent.apply(header, arguments); + } + }, + + + determineScrollbars: function () { + }, + + + invalidateScroller: function () { + }, + + scrollByDeltaY: function(yDelta, animate) { + this.getView().scrollBy(0, yDelta, animate); + }, + + scrollByDeltaX: function(xDelta, animate) { + this.getView().scrollBy(xDelta, 0, animate); + }, + + afterCollapse: function() { + var me = this; + me.saveScrollPos(); + me.saveScrollPos(); + me.callParent(arguments); + }, + + afterExpand: function() { + var me = this; + me.callParent(arguments); + me.restoreScrollPos(); + me.restoreScrollPos(); + }, + + saveScrollPos: Ext.emptyFn, + + restoreScrollPos: Ext.emptyFn, + + onHeaderResize: function(){ + this.delayScroll(); + }, + + + onHeaderMove: function(headerCt, header, colsToMove, fromIdx, toIdx) { + var me = this; + + + + if (me.optimizedColumnMove === false) { + me.view.refresh(); + } + + + else { + me.view.moveColumn(fromIdx, toIdx, colsToMove); + } + me.delayScroll(); + }, + + + onHeaderHide: function(headerCt, header) { + this.delayScroll(); + }, + + onHeaderShow: function(headerCt, header) { + this.delayScroll(); + }, + + delayScroll: function(){ + var target = this.getScrollTarget().el; + if (target) { + this.scrollTask.delay(10, null, null, [target.dom.scrollLeft]); + } + }, + + + onViewReady: function() { + this.fireEvent('viewready', this); + }, + + + onRestoreHorzScroll: function() { + var left = this.scrollLeftPos; + if (left) { + + this.syncHorizontalScroll(left, true); + } + }, + + getScrollerOwner: function() { + var rootCmp = this; + if (!this.scrollerOwner) { + rootCmp = this.up('[scrollerOwner]'); + } + return rootCmp; + }, + + + getLhsMarker: function() { + var me = this; + return me.lhsMarker || (me.lhsMarker = Ext.DomHelper.append(me.el, { + cls: Ext.baseCSSPrefix + 'grid-resize-marker' + }, true)); + }, + + + getRhsMarker: function() { + var me = this; + + return me.rhsMarker || (me.rhsMarker = Ext.DomHelper.append(me.el, { + cls: Ext.baseCSSPrefix + 'grid-resize-marker' + }, true)); + }, + + + getSelectionModel: function(){ + if (!this.selModel) { + this.selModel = {}; + } + + var mode = 'SINGLE', + type; + if (this.simpleSelect) { + mode = 'SIMPLE'; + } else if (this.multiSelect) { + mode = 'MULTI'; + } + + Ext.applyIf(this.selModel, { + allowDeselect: this.allowDeselect, + mode: mode + }); + + if (!this.selModel.events) { + type = this.selModel.selType || this.selType; + this.selModel = Ext.create('selection.' + type, this.selModel); + } + + if (!this.selModel.hasRelaySetup) { + this.relayEvents(this.selModel, [ + 'selectionchange', 'beforeselect', 'beforedeselect', 'select', 'deselect' + ]); + this.selModel.hasRelaySetup = true; + } + + + + if (this.disableSelection) { + this.selModel.locked = true; + } + return this.selModel; + }, + + getScrollTarget: function(){ + var owner = this.getScrollerOwner(), + items = owner.query('tableview'); + + return items[1] || items[0]; + }, + + onHorizontalScroll: function(event, target) { + this.syncHorizontalScroll(target.scrollLeft); + }, + + syncHorizontalScroll: function(left, setBody) { + var me = this, + scrollTarget; + + setBody = setBody === true; + + + if (me.rendered && (setBody || left !== me.scrollLeftPos)) { + + + if (setBody) { + scrollTarget = me.getScrollTarget(); + scrollTarget.el.dom.scrollLeft = left; + } + me.headerCt.el.dom.scrollLeft = left; + me.scrollLeftPos = left; + } + }, + + + onStoreLoad: Ext.emptyFn, + + getEditorParent: function() { + return this.body; + }, + + bindStore: function(store) { + var me = this; + me.store = store; + me.getView().bindStore(store); + }, + + beforeDestroy: function(){ + Ext.destroy(this.verticalScroller); + this.callParent(); + }, + + + reconfigure: function(store, columns) { + var me = this, + headerCt = me.headerCt; + + if (me.lockable) { + me.reconfigureLockable(store, columns); + } else { + Ext.suspendLayouts(); + if (columns) { + + delete me.scrollLeftPos; + headerCt.removeAll(); + headerCt.add(columns); + } + if (store) { + store = Ext.StoreManager.lookup(store); + me.bindStore(store); + } else { + me.getView().refresh(); + } + headerCt.setSortState(); + Ext.resumeLayouts(true); + } + me.fireEvent('reconfigure', me, store, columns); + } +}); + + +Ext.define('Ext.grid.View', { + extend: 'Ext.view.Table', + alias: 'widget.gridview', + + + stripeRows: true, + + autoScroll: true +}); + + +Ext.define('Ext.grid.Panel', { + extend: 'Ext.panel.Table', + requires: ['Ext.grid.View'], + alias: ['widget.gridpanel', 'widget.grid'], + alternateClassName: ['Ext.list.ListView', 'Ext.ListView', 'Ext.grid.GridPanel'], + viewType: 'gridview', + + lockable: false, + + + + bothCfgCopy: [ + 'invalidateScrollerOnRefresh', + 'hideHeaders', + 'enableColumnHide', + 'enableColumnMove', + 'enableColumnResize', + 'sortableColumns' + ], + normalCfgCopy: [ + 'verticalScroller', + 'verticalScrollDock', + 'verticalScrollerType', + 'scroll' + ], + lockedCfgCopy: [], + + + rowLines: true + + + + + + + +}); + + + + + + + + + + +Ext.define('Ext.grid.RowEditor', { + extend: 'Ext.form.Panel', + requires: [ + 'Ext.tip.ToolTip', + 'Ext.util.HashMap', + 'Ext.util.KeyNav' + ], + + + saveBtnText : 'Update', + + + cancelBtnText: 'Cancel', + + + errorsText: 'Errors', + + + dirtyText: 'You need to commit or cancel your changes', + + + lastScrollLeft: 0, + lastScrollTop: 0, + + border: false, + + + + hideMode: 'offsets', + + initComponent: function() { + var me = this, + form; + + me.cls = Ext.baseCSSPrefix + 'grid-row-editor'; + + me.layout = { + type: 'hbox', + align: 'middle' + }; + + + + me.columns = new Ext.util.HashMap(); + me.columns.getKey = function(columnHeader) { + var f; + if (columnHeader.getEditor) { + f = columnHeader.getEditor(); + if (f) { + return f.id; + } + } + return columnHeader.id; + }; + me.mon(me.columns, { + add: me.onFieldAdd, + remove: me.onFieldRemove, + replace: me.onFieldReplace, + scope: me + }); + + me.callParent(arguments); + + if (me.fields) { + me.setField(me.fields); + delete me.fields; + } + + me.mon(Ext.container.Container.hierarchyEventSource, { + scope: me, + show: me.repositionIfVisible + }); + + form = me.getForm(); + form.trackResetOnLoad = true; + }, + + onFieldChange: function() { + var me = this, + form = me.getForm(), + valid = form.isValid(); + if (me.errorSummary && me.isVisible()) { + me[valid ? 'hideToolTip' : 'showToolTip'](); + } + me.updateButton(valid); + me.isValid = valid; + }, + + updateButton: function(valid){ + var buttons = this.floatingButtons; + if (buttons) { + buttons.child('#update').setDisabled(!valid); + } + }, + + afterRender: function() { + var me = this, + plugin = me.editingPlugin; + + me.callParent(arguments); + me.mon(me.renderTo, 'scroll', me.onCtScroll, me, { buffer: 100 }); + + + me.mon(me.el, { + click: Ext.emptyFn, + stopPropagation: true + }); + + me.el.swallowEvent([ + 'keypress', + 'keydown' + ]); + + me.keyNav = new Ext.util.KeyNav(me.el, { + enter: plugin.completeEdit, + esc: plugin.onEscKey, + scope: plugin + }); + + me.mon(plugin.view, { + beforerefresh: me.onBeforeViewRefresh, + refresh: me.onViewRefresh, + itemremove: me.onViewItemRemove, + scope: me + }); + }, + + onBeforeViewRefresh: function(view) { + var me = this, + viewDom = view.el.dom; + + if (me.el.dom.parentNode === viewDom) { + viewDom.removeChild(me.el.dom); + } + }, + + onViewRefresh: function(view) { + var me = this, + viewDom = view.el.dom, + context = me.context, + idx; + + viewDom.appendChild(me.el.dom); + + + if (context && (idx = context.store.indexOf(context.record)) >= 0) { + context.row = view.getNode(idx); + me.reposition(); + if (me.tooltip && me.tooltip.isVisible()) { + me.tooltip.setTarget(context.row); + } + } else { + me.editingPlugin.cancelEdit(); + } + }, + + onViewItemRemove: function(record, index) { + var context = this.context; + if (context && record === context.record) { + + this.editingPlugin.cancelEdit(); + } + }, + + onCtScroll: function(e, target) { + var me = this, + scrollTop = target.scrollTop, + scrollLeft = target.scrollLeft; + + if (scrollTop !== me.lastScrollTop) { + me.lastScrollTop = scrollTop; + if ((me.tooltip && me.tooltip.isVisible()) || me.hiddenTip) { + me.repositionTip(); + } + } + if (scrollLeft !== me.lastScrollLeft) { + me.lastScrollLeft = scrollLeft; + me.reposition(); + } + }, + + onColumnAdd: function(column) { + if (!column.isGroupHeader) { + this.setField(column); + } + }, + + onColumnRemove: function(column) { + this.columns.remove(column); + }, + + onColumnResize: function(column, width) { + if (!column.isGroupHeader) { + column.getEditor().setWidth(width - 2); + this.repositionIfVisible(); + } + }, + + onColumnHide: function(column) { + if (!column.isGroupHeader) { + column.getEditor().hide(); + this.repositionIfVisible(); + } + }, + + onColumnShow: function(column) { + var field = column.getEditor(); + field.setWidth(column.getWidth() - 2).show(); + this.repositionIfVisible(); + }, + + onColumnMove: function(column, fromIdx, toIdx) { + if (!column.isGroupHeader) { + var field = column.getEditor(); + if (this.items.indexOf(field) != toIdx) { + this.move(fromIdx, toIdx); + } + } + }, + + onFieldAdd: function(map, fieldId, column) { + var me = this, + colIdx, + field; + + if (!column.isGroupHeader) { + colIdx = me.editingPlugin.grid.headerCt.getHeaderIndex(column); + field = column.getEditor({ xtype: 'displayfield' }); + me.insert(colIdx, field); + } + }, + + onFieldRemove: function(map, fieldId, column) { + var me = this, + field, + fieldEl; + + if (!column.isGroupHeader) { + field = column.getEditor(); + fieldEl = field.el; + me.remove(field, false); + if (fieldEl) { + fieldEl.remove(); + } + } + }, + + onFieldReplace: function(map, fieldId, column, oldColumn) { + this.onFieldRemove(map, fieldId, oldColumn); + }, + + clearFields: function() { + var map = this.columns, + key; + + for (key in map) { + if (map.hasOwnProperty(key)) { + map.removeAtKey(key); + } + } + }, + + getFloatingButtons: function() { + var me = this, + cssPrefix = Ext.baseCSSPrefix, + btnsCss = cssPrefix + 'grid-row-editor-buttons', + plugin = me.editingPlugin, + minWidth = Ext.panel.Panel.prototype.minButtonWidth, + btns; + + if (!me.floatingButtons) { + btns = me.floatingButtons = new Ext.Container({ + renderTpl: [ + '
', + '
', + '
', + '
', + '
', + '{%this.renderContainer(out,values)%}' + ], + width: 200, + renderTo: me.el, + baseCls: btnsCss, + layout: { + type: 'hbox', + align: 'middle' + }, + defaults: { + flex: 1, + margins: '0 1 0 1' + }, + items: [{ + itemId: 'update', + xtype: 'button', + handler: plugin.completeEdit, + scope: plugin, + text: me.saveBtnText, + minWidth: minWidth + }, { + xtype: 'button', + handler: plugin.cancelEdit, + scope: plugin, + text: me.cancelBtnText, + minWidth: minWidth + }] + }); + + + me.mon(btns.el, { + + + mousedown: Ext.emptyFn, + click: Ext.emptyFn, + stopEvent: true + }); + } + return me.floatingButtons; + }, + + repositionIfVisible: function(c){ + var me = this, + view = me.view; + + + + if (c && (c == me || !view.isDescendantOf(c))) { + return; + } + + if (me.isVisible() && view.isVisible(true)) { + me.reposition(); + } + }, + + reposition: function(animateConfig) { + var me = this, + context = me.context, + row = context && Ext.get(context.row), + btns = me.getFloatingButtons(), + btnEl = btns.el, + grid = me.editingPlugin.grid, + viewEl = grid.view.el, + + + + mainBodyWidth = grid.headerCt.getFullWidth(), + scrollerWidth = grid.getWidth(), + + + + width = Math.min(mainBodyWidth, scrollerWidth), + scrollLeft = grid.view.el.dom.scrollLeft, + btnWidth = btns.getWidth(), + left = (width - btnWidth) / 2 + scrollLeft, + y, rowH, newHeight, + + invalidateScroller = function() { + btnEl.scrollIntoView(viewEl, false); + if (animateConfig && animateConfig.callback) { + animateConfig.callback.call(animateConfig.scope || me); + } + }, + + animObj; + + + if (row && Ext.isElement(row.dom)) { + + + row.scrollIntoView(viewEl, false); + + + + + y = row.getXY()[1] - 5; + rowH = row.getHeight(); + newHeight = rowH + (me.editingPlugin.grid.rowLines ? 9 : 10); + + + if (me.getHeight() != newHeight) { + me.setHeight(newHeight); + me.el.setLeft(0); + } + + if (animateConfig) { + animObj = { + to: { + y: y + }, + duration: animateConfig.duration || 125, + listeners: { + afteranimate: function() { + invalidateScroller(); + y = row.getXY()[1] - 5; + } + } + }; + me.el.animate(animObj); + } else { + me.el.setY(y); + invalidateScroller(); + } + } + if (me.getWidth() != mainBodyWidth) { + me.setWidth(mainBodyWidth); + } + btnEl.setLeft(left); + }, + + getEditor: function(fieldInfo) { + var me = this; + + if (Ext.isNumber(fieldInfo)) { + + + + return me.query('>[isFormField]')[fieldInfo]; + } else if (fieldInfo.isHeader && !fieldInfo.isGroupHeader) { + return fieldInfo.getEditor(); + } + }, + + removeField: function(field) { + var me = this; + + + field = me.getEditor(field); + me.mun(field, 'validitychange', me.onValidityChange, me); + + + + me.columns.removeAtKey(field.id); + Ext.destroy(field); + }, + + setField: function(column) { + var me = this, + i, + length, field; + + if (Ext.isArray(column)) { + length = column.length; + + for (i = 0; i < length; i++) { + me.setField(column[i]); + } + + return; + } + + + field = column.getEditor(null, { + xtype: 'displayfield', + + + getModelData: function() { + return null; + } + }); + field.margins = '0 0 0 2'; + me.mon(field, 'change', me.onFieldChange, me); + + if (me.isVisible() && me.context) { + if (field.is('displayfield')) { + me.renderColumnData(field, me.context.record, column); + } else { + field.suspendEvents(); + field.setValue(me.context.record.get(column.dataIndex)); + field.resumeEvents(); + } + } + + + + + me.columns.add(field.id, column); + if (column.hidden) { + me.onColumnHide(column); + } else if (column.rendered) { + + me.onColumnShow(column); + } + }, + + loadRecord: function(record) { + var me = this, + form = me.getForm(), + fields = form.getFields(), + items = fields.items, + length = items.length, + i, displayFields, + isValid; + + + for (i = 0; i < length; i++) { + items[i].suspendEvents(); + } + + form.loadRecord(record); + + for (i = 0; i < length; i++) { + items[i].resumeEvents(); + } + + isValid = form.isValid(); + if (me.errorSummary) { + if (isValid) { + me.hideToolTip(); + } else { + me.showToolTip(); + } + } + + me.updateButton(isValid); + + + displayFields = me.query('>displayfield'); + length = displayFields.length; + + for (i = 0; i < length; i++) { + me.renderColumnData(displayFields[i], record); + } + }, + + renderColumnData: function(field, record, activeColumn) { + var me = this, + grid = me.editingPlugin.grid, + headerCt = grid.headerCt, + view = grid.view, + store = view.store, + column = activeColumn || me.columns.get(field.id), + value = record.get(column.dataIndex), + renderer = column.editRenderer || column.renderer, + metaData, + rowIdx, + colIdx; + + + if (renderer) { + metaData = { tdCls: '', style: '' }; + rowIdx = store.indexOf(record); + colIdx = headerCt.getHeaderIndex(column); + + value = renderer.call( + column.scope || headerCt.ownerCt, + value, + metaData, + record, + rowIdx, + colIdx, + store, + view + ); + } + + field.setRawValue(value); + field.resetOriginalValue(); + }, + + beforeEdit: function() { + var me = this; + + if (me.isVisible() && me.errorSummary && !me.autoCancel && me.isDirty()) { + me.showToolTip(); + return false; + } + }, + + + startEdit: function(record, columnHeader) { + var me = this, + grid = me.editingPlugin.grid, + store = grid.store, + context = me.context = Ext.apply(me.editingPlugin.context, { + view: grid.getView(), + store: store + }); + + + context.grid.getSelectionModel().select(record); + + + me.loadRecord(record); + + if (!me.isVisible()) { + me.show(); + me.focusContextCell(); + } else { + me.reposition({ + callback: this.focusContextCell + }); + } + }, + + + focusContextCell: function() { + var field = this.getEditor(this.context.colIdx); + if (field && field.focus) { + field.focus(); + } + }, + + cancelEdit: function() { + var me = this, + form = me.getForm(), + fields = form.getFields(), + items = fields.items, + length = items.length, + i; + + me.hide(); + form.clearInvalid(); + + + for (i = 0; i < length; i++) { + items[i].suspendEvents(); + } + + form.reset(); + + for (i = 0; i < length; i++) { + items[i].resumeEvents(); + } + }, + + completeEdit: function() { + var me = this, + form = me.getForm(); + + if (!form.isValid()) { + return; + } + + form.updateRecord(me.context.record); + me.hide(); + return true; + }, + + onShow: function() { + this.callParent(arguments); + this.reposition(); + }, + + onHide: function() { + var me = this; + me.callParent(arguments); + if (me.tooltip) { + me.hideToolTip(); + } + if (me.context) { + me.context.view.focus(); + me.context = null; + } + }, + + isDirty: function() { + var me = this, + form = me.getForm(); + return form.isDirty(); + }, + + getToolTip: function() { + return this.tooltip || (this.tooltip = new Ext.tip.ToolTip({ + cls: Ext.baseCSSPrefix + 'grid-row-editor-errors', + title: this.errorsText, + autoHide: false, + closable: true, + closeAction: 'disable', + anchor: 'left' + })); + }, + + hideToolTip: function() { + var me = this, + tip = me.getToolTip(); + if (tip.rendered) { + tip.disable(); + } + me.hiddenTip = false; + }, + + showToolTip: function() { + var me = this, + tip = me.getToolTip(), + context = me.context, + row = Ext.get(context.row), + viewEl = context.grid.view.el; + + tip.setTarget(row); + tip.showAt([-10000, -10000]); + tip.update(me.getErrors()); + tip.mouseOffset = [viewEl.getWidth() - row.getWidth() + me.lastScrollLeft + 15, 0]; + me.repositionTip(); + tip.doLayout(); + tip.enable(); + }, + + repositionTip: function() { + var me = this, + tip = me.getToolTip(), + context = me.context, + row = Ext.get(context.row), + viewEl = context.grid.view.el, + viewHeight = viewEl.getHeight(), + viewTop = me.lastScrollTop, + viewBottom = viewTop + viewHeight, + rowHeight = row.getHeight(), + rowTop = row.dom.offsetTop, + rowBottom = rowTop + rowHeight; + + if (rowBottom > viewTop && rowTop < viewBottom) { + tip.show(); + me.hiddenTip = false; + } else { + tip.hide(); + me.hiddenTip = true; + } + }, + + getErrors: function() { + var me = this, + dirtyText = !me.autoCancel && me.isDirty() ? me.dirtyText + '
' : '', + errors = [], + fields = me.query('>[isFormField]'), + length = fields.length, + i; + + function createListItem(e) { + return '
  • ' + e + '
  • '; + } + + for (i = 0; i < length; i++) { + errors = errors.concat( + Ext.Array.map(fields[i].getErrors(), createListItem) + ); + } + + return dirtyText + '
      ' + errors.join('') + '
    '; + }, + + beforeDestroy: function(){ + Ext.destroy(this.floatingButtons, this.tooltip); + this.callParent(); + } +}); + + +Ext.define('Ext.grid.plugin.HeaderResizer', { + extend: 'Ext.AbstractPlugin', + requires: ['Ext.dd.DragTracker', 'Ext.util.Region'], + alias: 'plugin.gridheaderresizer', + + disabled: false, + + config: { + + dynamic: false + }, + + colHeaderCls: Ext.baseCSSPrefix + 'column-header', + + minColWidth: 40, + maxColWidth: 1000, + wResizeCursor: 'col-resize', + eResizeCursor: 'col-resize', + + + + + + init: function(headerCt) { + this.headerCt = headerCt; + headerCt.on('render', this.afterHeaderRender, this, {single: true}); + }, + + + destroy: function() { + if (this.tracker) { + this.tracker.destroy(); + } + }, + + afterHeaderRender: function() { + var headerCt = this.headerCt, + el = headerCt.el; + + headerCt.mon(el, 'mousemove', this.onHeaderCtMouseMove, this); + + this.tracker = new Ext.dd.DragTracker({ + disabled: this.disabled, + onBeforeStart: Ext.Function.bind(this.onBeforeStart, this), + onStart: Ext.Function.bind(this.onStart, this), + onDrag: Ext.Function.bind(this.onDrag, this), + onEnd: Ext.Function.bind(this.onEnd, this), + tolerance: 3, + autoStart: 300, + el: el + }); + }, + + + + + onHeaderCtMouseMove: function(e, t) { + var me = this, + prevSiblings, + headerEl, overHeader, resizeHeader, resizeHeaderOwnerGrid, ownerGrid; + + if (me.headerCt.dragging) { + if (me.activeHd) { + me.activeHd.el.dom.style.cursor = ''; + delete me.activeHd; + } + } else { + headerEl = e.getTarget('.' + me.colHeaderCls, 3, true); + + if (headerEl){ + overHeader = Ext.getCmp(headerEl.id); + + + if (overHeader.isOnLeftEdge(e)) { + resizeHeader = overHeader.previousNode('gridcolumn:not([hidden]):not([isGroupHeader])') + + if (resizeHeader) { + + ownerGrid = me.headerCt.up('tablepanel'); + resizeHeaderOwnerGrid = resizeHeader.up('tablepanel'); + + + + + if (!((resizeHeaderOwnerGrid === ownerGrid) || ((ownerGrid.ownerCt.isXType('tablepanel')) && ownerGrid.ownerCt.view.lockedGrid === resizeHeaderOwnerGrid))) { + resizeHeader = null; + } + } + } + + else if (overHeader.isOnRightEdge(e)) { + resizeHeader = overHeader; + } + + else { + resizeHeader = null; + } + + + if (resizeHeader) { + + + + if (resizeHeader.isGroupHeader) { + prevSiblings = resizeHeader.getGridColumns(); + resizeHeader = prevSiblings[prevSiblings.length - 1]; + } + + + + if (resizeHeader && !(resizeHeader.fixed || (resizeHeader.resizable === false) || me.disabled)) { + me.activeHd = resizeHeader; + overHeader.el.dom.style.cursor = me.eResizeCursor; + } + + } else { + overHeader.el.dom.style.cursor = ''; + delete me.activeHd; + } + } + } + }, + + + onBeforeStart : function(e){ + var t = e.getTarget(); + + this.dragHd = this.activeHd; + + if (!!this.dragHd && !Ext.fly(t).hasCls(Ext.baseCSSPrefix + 'column-header-trigger') && !this.headerCt.dragging) { + + this.tracker.constrainTo = this.getConstrainRegion(); + return true; + } else { + this.headerCt.dragging = false; + return false; + } + }, + + + getConstrainRegion: function() { + var me = this, + dragHdEl = me.dragHd.el, + region = Ext.util.Region.getRegion(dragHdEl), + nextHd; + + + + if (me.headerCt.forceFit) { + nextHd = me.dragHd.nextNode('gridcolumn:not([hidden]):not([isGroupHeader])'); + } + + return region.adjust( + 0, + me.headerCt.forceFit ? (nextHd ? nextHd.getWidth() - me.minColWidth : 0) : me.maxColWidth - dragHdEl.getWidth(), + 0, + me.minColWidth + ); + }, + + + + onStart: function(e){ + var me = this, + dragHd = me.dragHd, + dragHdEl = dragHd.el, + width = dragHdEl.getWidth(), + headerCt = me.headerCt, + t = e.getTarget(), + xy, gridSection, dragHct, firstSection, lhsMarker, rhsMarker, el, offsetLeft, offsetTop, topLeft, markerHeight, top; + + if (me.dragHd && !Ext.fly(t).hasCls(Ext.baseCSSPrefix + 'column-header-trigger')) { + headerCt.dragging = true; + } + + me.origWidth = width; + + + if (!me.dynamic) { + xy = dragHdEl.getXY(); + gridSection = headerCt.up('[scrollerOwner]'); + dragHct = me.dragHd.up(':not([isGroupHeader])'); + firstSection = dragHct.up(); + lhsMarker = gridSection.getLhsMarker(); + rhsMarker = gridSection.getRhsMarker(); + el = rhsMarker.parent(); + offsetLeft = el.getLocalX(); + offsetTop = el.getLocalY(); + topLeft = el.translatePoints(xy); + markerHeight = firstSection.body.getHeight() + headerCt.getHeight(); + top = topLeft.top - offsetTop; + + lhsMarker.setTop(top); + rhsMarker.setTop(top); + lhsMarker.setHeight(markerHeight); + rhsMarker.setHeight(markerHeight); + lhsMarker.setLeft(topLeft.left - offsetLeft); + rhsMarker.setLeft(topLeft.left + width - offsetLeft); + } + }, + + + onDrag: function(e){ + if (!this.dynamic) { + var xy = this.tracker.getXY('point'), + gridSection = this.headerCt.up('[scrollerOwner]'), + rhsMarker = gridSection.getRhsMarker(), + el = rhsMarker.parent(), + topLeft = el.translatePoints(xy), + offsetLeft = el.getLocalX(); + + rhsMarker.setLeft(topLeft.left - offsetLeft); + + } else { + this.doResize(); + } + }, + + onEnd: function(e){ + this.headerCt.dragging = false; + if (this.dragHd) { + if (!this.dynamic) { + var dragHd = this.dragHd, + gridSection = this.headerCt.up('[scrollerOwner]'), + lhsMarker = gridSection.getLhsMarker(), + rhsMarker = gridSection.getRhsMarker(), + offscreen = -9999; + + + lhsMarker.setLeft(offscreen); + rhsMarker.setLeft(offscreen); + } + this.doResize(); + } + }, + + doResize: function() { + if (this.dragHd) { + var dragHd = this.dragHd, + nextHd, + offset = this.tracker.getOffset('point'); + + + if (dragHd.flex) { + delete dragHd.flex; + } + + Ext.suspendLayouts(); + + + dragHd.setWidth(this.origWidth + offset[0]); + + + + if (this.headerCt.forceFit) { + nextHd = dragHd.nextNode('gridcolumn:not([hidden]):not([isGroupHeader])'); + if (nextHd) { + delete nextHd.flex; + nextHd.setWidth(nextHd.getWidth() - offset[0]); + } + } + + + Ext.resumeLayouts(true); + } + }, + + disable: function() { + this.disabled = true; + if (this.tracker) { + this.tracker.disable(); + } + }, + + enable: function() { + this.disabled = false; + if (this.tracker) { + this.tracker.enable(); + } + } +}); + + +Ext.define('Ext.grid.header.DragZone', { + extend: 'Ext.dd.DragZone', + colHeaderCls: Ext.baseCSSPrefix + 'column-header', + maxProxyWidth: 120, + + constructor: function(headerCt) { + this.headerCt = headerCt; + this.ddGroup = this.getDDGroup(); + this.callParent([headerCt.el]); + this.proxy.el.addCls(Ext.baseCSSPrefix + 'grid-col-dd'); + }, + + getDDGroup: function() { + return 'header-dd-zone-' + this.headerCt.up('[scrollerOwner]').id; + }, + + getDragData: function(e) { + var header = e.getTarget('.'+this.colHeaderCls), + headerCmp, + ddel; + + if (header) { + headerCmp = Ext.getCmp(header.id); + if (!this.headerCt.dragging && headerCmp.draggable && !(headerCmp.isOnLeftEdge(e) || headerCmp.isOnRightEdge(e))) { + ddel = document.createElement('div'); + ddel.innerHTML = Ext.getCmp(header.id).text; + return { + ddel: ddel, + header: headerCmp + }; + } + } + return false; + }, + + onBeforeDrag: function() { + return !(this.headerCt.dragging || this.disabled); + }, + + onInitDrag: function() { + this.headerCt.dragging = true; + this.callParent(arguments); + }, + + onDragDrop: function() { + this.headerCt.dragging = false; + this.callParent(arguments); + }, + + afterRepair: function() { + this.callParent(); + this.headerCt.dragging = false; + }, + + getRepairXY: function() { + return this.dragData.header.el.getXY(); + }, + + disable: function() { + this.disabled = true; + }, + + enable: function() { + this.disabled = false; + } +}); + + +Ext.define('Ext.grid.header.DropZone', { + extend: 'Ext.dd.DropZone', + colHeaderCls: Ext.baseCSSPrefix + 'column-header', + proxyOffsets: [-4, -9], + + constructor: function(headerCt){ + this.headerCt = headerCt; + this.ddGroup = this.getDDGroup(); + this.callParent([headerCt.el]); + }, + + getDDGroup: function() { + return 'header-dd-zone-' + this.headerCt.up('[scrollerOwner]').id; + }, + + getTargetFromEvent : function(e){ + return e.getTarget('.' + this.colHeaderCls); + }, + + getTopIndicator: function() { + if (!this.topIndicator) { + this.topIndicator = Ext.DomHelper.append(Ext.getBody(), { + cls: "col-move-top", + html: " " + }, true); + } + return this.topIndicator; + }, + + getBottomIndicator: function() { + if (!this.bottomIndicator) { + this.bottomIndicator = Ext.DomHelper.append(Ext.getBody(), { + cls: "col-move-bottom", + html: " " + }, true); + } + return this.bottomIndicator; + }, + + getLocation: function(e, t) { + var x = e.getXY()[0], + region = Ext.fly(t).getRegion(), + pos, header; + + if ((region.right - x) <= (region.right - region.left) / 2) { + pos = "after"; + } else { + pos = "before"; + } + return { + pos: pos, + header: Ext.getCmp(t.id), + node: t + }; + }, + + positionIndicator: function(draggedHeader, node, e){ + var location = this.getLocation(e, node), + header = location.header, + pos = location.pos, + nextHd = draggedHeader.nextSibling('gridcolumn:not([hidden])'), + prevHd = draggedHeader.previousSibling('gridcolumn:not([hidden])'), + topIndicator, bottomIndicator, topAnchor, bottomAnchor, + topXY, bottomXY, headerCtEl, minX, maxX, + allDropZones, ln, i, dropZone; + + + if (!header.draggable && header.getIndex() === 0) { + return false; + } + + this.lastLocation = location; + + if ((draggedHeader !== header) && + ((pos === "before" && nextHd !== header) || + (pos === "after" && prevHd !== header)) && + !header.isDescendantOf(draggedHeader)) { + + + + + allDropZones = Ext.dd.DragDropManager.getRelated(this); + ln = allDropZones.length; + i = 0; + + for (; i < ln; i++) { + dropZone = allDropZones[i]; + if (dropZone !== this && dropZone.invalidateDrop) { + dropZone.invalidateDrop(); + } + } + + + this.valid = true; + topIndicator = this.getTopIndicator(); + bottomIndicator = this.getBottomIndicator(); + if (pos === 'before') { + topAnchor = 'tl'; + bottomAnchor = 'bl'; + } else { + topAnchor = 'tr'; + bottomAnchor = 'br'; + } + topXY = header.el.getAnchorXY(topAnchor); + bottomXY = header.el.getAnchorXY(bottomAnchor); + + + headerCtEl = this.headerCt.el; + minX = headerCtEl.getLeft(); + maxX = headerCtEl.getRight(); + + topXY[0] = Ext.Number.constrain(topXY[0], minX, maxX); + bottomXY[0] = Ext.Number.constrain(bottomXY[0], minX, maxX); + + + + topXY[0] -= 4; + topXY[1] -= 9; + bottomXY[0] -= 4; + + + topIndicator.setXY(topXY); + bottomIndicator.setXY(bottomXY); + topIndicator.show(); + bottomIndicator.show(); + + } else { + this.invalidateDrop(); + } + }, + + invalidateDrop: function() { + this.valid = false; + this.hideIndicators(); + }, + + onNodeOver: function(node, dragZone, e, data) { + var me = this, + header = me.headerCt, + doPosition = true, + from = data.header, + to; + + if (data.header.el.dom === node) { + doPosition = false; + } else { + to = me.getLocation(e, node).header; + doPosition = (from.ownerCt === to.ownerCt) || (!from.ownerCt.sealed && !to.ownerCt.sealed); + } + + if (doPosition) { + me.positionIndicator(data.header, node, e); + } else { + me.valid = false; + } + return me.valid ? me.dropAllowed : me.dropNotAllowed; + }, + + hideIndicators: function() { + this.getTopIndicator().hide(); + this.getBottomIndicator().hide(); + }, + + onNodeOut: function() { + this.hideIndicators(); + }, + + onNodeDrop: function(node, dragZone, e, data) { + if (this.valid) { + var dragHeader = data.header, + lastLocation = this.lastLocation, + targetHeader = lastLocation.header, + fromCt = dragHeader.ownerCt, + fromHeader = dragHeader.up('headercontainer:not(gridcolumn)'), + localFromIdx = fromCt.items.indexOf(dragHeader), + toCt = targetHeader.ownerCt, + toHeader = targetHeader.up('headercontainer:not(gridcolumn)'), + localToIdx = toCt.items.indexOf(targetHeader), + headerCt = this.headerCt, + fromIdx = headerCt.getHeaderIndex(dragHeader), + colsToMove = dragHeader.isGroupHeader ? dragHeader.query(':not([isGroupHeader])').length : 1, + toIdx = headerCt.getHeaderIndex(targetHeader), + groupCt, + scrollerOwner; + + + if (lastLocation.pos === 'after') { + localToIdx++; + toIdx += targetHeader.isGroupHeader ? targetHeader.query(':not([isGroupHeader])').length : 1; + } + + + + + if (fromHeader !== toHeader && fromHeader.lockableInjected && toHeader.lockableInjected && toHeader.lockedCt) { + scrollerOwner = fromCt.up('[scrollerOwner]'); + scrollerOwner.lock(dragHeader, localToIdx); + + + this.onNodeDrop(node, dragZone, e, data); + } else if (fromHeader !== toHeader && fromHeader.lockableInjected && toHeader.lockableInjected && fromHeader.lockedCt) { + scrollerOwner = fromCt.up('[scrollerOwner]'); + scrollerOwner.unlock(dragHeader, localToIdx); + + + this.onNodeDrop(node, dragZone, e, data); + } + + + else { + this.invalidateDrop(); + + + + if ((fromCt === toCt) && (localToIdx > localFromIdx)) { + + + localToIdx -= 1; + } + + + Ext.suspendLayouts(); + + + if (fromCt !== toCt) { + fromCt.remove(dragHeader, false); + + + if (fromCt.isGroupHeader) { + if (!fromCt.items.getCount()) { + groupCt = fromCt.ownerCt; + groupCt.remove(fromCt, false); + fromCt.el.dom.parentNode.removeChild(fromCt.el.dom); + } + } + } + + + if (fromCt === toCt) { + toCt.move(localFromIdx, localToIdx); + } else { + toCt.insert(localToIdx, dragHeader); + } + + + + + if (toCt.isGroupHeader) { + + if (toCt !== fromCt) { + dragHeader.savedFlex = dragHeader.flex; + delete dragHeader.flex; + dragHeader.width = dragHeader.getWidth(); + } + } else { + if (dragHeader.savedFlex) { + dragHeader.flex = dragHeader.savedFlex; + delete dragHeader.width; + } + } + + + headerCt.purgeCache(); + Ext.resumeLayouts(true); + headerCt.onHeaderMoved(dragHeader, colsToMove, fromIdx, toIdx); + + + if (!fromCt.items.getCount()) { + fromCt.destroy(); + } + } + } + } +}); + + +Ext.define('Ext.grid.plugin.HeaderReorderer', { + extend: 'Ext.AbstractPlugin', + requires: ['Ext.grid.header.DragZone', 'Ext.grid.header.DropZone'], + alias: 'plugin.gridheaderreorderer', + + init: function(headerCt) { + this.headerCt = headerCt; + headerCt.on({ + render: this.onHeaderCtRender, + single: true, + scope: this + }); + }, + + + destroy: function() { + Ext.destroy(this.dragZone, this.dropZone); + }, + + onHeaderCtRender: function() { + var me = this; + + me.dragZone = new Ext.grid.header.DragZone(me.headerCt); + me.dropZone = new Ext.grid.header.DropZone(me.headerCt); + if (me.disabled) { + me.dragZone.disable(); + } + }, + + enable: function() { + this.disabled = false; + if (this.dragZone) { + this.dragZone.enable(); + } + }, + + disable: function() { + this.disabled = true; + if (this.dragZone) { + this.dragZone.disable(); + } + } +}); + + +Ext.define('Ext.grid.header.Container', { + extend: 'Ext.container.Container', + requires: [ + 'Ext.grid.ColumnLayout', + 'Ext.grid.plugin.HeaderResizer', + 'Ext.grid.plugin.HeaderReorderer' + ], + uses: [ + 'Ext.grid.column.Column', + 'Ext.menu.Menu', + 'Ext.menu.CheckItem', + 'Ext.menu.Separator' + ], + border: true, + + alias: 'widget.headercontainer', + + baseCls: Ext.baseCSSPrefix + 'grid-header-ct', + dock: 'top', + + + weight: 100, + + defaultType: 'gridcolumn', + + detachOnRemove: false, + + + defaultWidth: 100, + + + + + sortAscText: 'Sort Ascending', + + + sortDescText: 'Sort Descending', + + + sortClearText: 'Clear Sort', + + + columnsText: 'Columns', + + + headerOpenCls: Ext.baseCSSPrefix + 'column-header-open', + + + triStateSort: false, + + ddLock: false, + + dragging: false, + + + + + sortable: true, + + initComponent: function() { + var me = this; + + me.headerCounter = 0; + me.plugins = me.plugins || []; + + + + + + + if (!me.isHeader) { + if (me.enableColumnResize) { + me.resizer = new Ext.grid.plugin.HeaderResizer(); + me.plugins.push(me.resizer); + } + if (me.enableColumnMove) { + me.reorderer = new Ext.grid.plugin.HeaderReorderer(); + me.plugins.push(me.reorderer); + } + } + + + if (me.isHeader && !me.items) { + me.layout = me.layout || 'auto'; + } + + else { + me.layout = Ext.apply({ + type: 'gridcolumn', + align: 'stretchmax' + }, me.initialConfig.layout); + } + me.defaults = me.defaults || {}; + Ext.applyIf(me.defaults, { + triStateSort: me.triStateSort, + sortable: me.sortable + }); + + me.menuTask = new Ext.util.DelayedTask(me.updateMenuDisabledState, me); + me.callParent(); + me.addEvents( + + 'columnresize', + + + 'headerclick', + + + 'headertriggerclick', + + + 'columnmove', + + 'columnhide', + + 'columnshow', + + 'sortchange', + + 'menucreate' + ); + }, + + onDestroy: function() { + var me = this; + + me.menuTask.cancel(); + Ext.destroy(me.resizer, me.reorderer); + me.callParent(); + }, + + applyColumnsState: function(columns) { + if (!columns || !columns.length) { + return; + } + + var me = this, + items = me.items.items, + count = items.length, + i = 0, + length = columns.length, + c, col, columnState, index; + + for (c = 0; c < length; c++) { + columnState = columns[c]; + + for (index = count; index--; ) { + col = items[index]; + if (col.getStateId && col.getStateId() == columnState.id) { + + + + + if (i !== index) { + me.moveHeader(index, i); + } + + if (col.applyColumnState) { + col.applyColumnState(columnState); + } + ++i; + break; + } + } + } + }, + + getColumnsState: function () { + var me = this, + columns = [], + state; + + me.items.each(function (col) { + state = col.getColumnState && col.getColumnState(); + if (state) { + columns.push(state); + } + }); + + return columns; + }, + + + + + onAdd: function(c) { + var me = this, + headerCt = me.isHeader ? me.getOwnerHeaderCt() : me; + + if (!c.headerId) { + c.headerId = c.initialConfig.id || Ext.id(null, 'header-'); + } + + if (!c.stateId) { + + + + + c.stateId = c.initialConfig.id || ('h' + (++me.headerCounter)); + } + + me.callParent(arguments); + + + if (headerCt) { + headerCt.purgeCache(); + } + }, + + + + + onRemove: function(c) { + var me = this, + headerCt = me.isHeader ? me.getOwnerHeaderCt() : me; + + me.callParent(arguments); + + + + if (headerCt) { + me.purgeCache(); + } + }, + + + applyDefaults: function(config) { + var ret; + + if (config && !config.isComponent && config.xtype == 'rownumberer') { + ret = config; + } else { + ret = this.callParent(arguments); + + + if (!config.isGroupHeader && !('width' in ret) && !ret.flex) { + ret.width = this.defaultWidth; + } + } + return ret; + }, + + afterRender: function() { + this.callParent(); + this.setSortState(); + + }, + + setSortState: function(){ + var store = this.up('[store]').store, + + + first = store.getFirstSorter(), + hd; + + if (first) { + hd = this.down('gridcolumn[dataIndex=' + first.property +']'); + if (hd) { + hd.setSortState(first.direction, false, true); + } + } else { + this.clearOtherSortStates(null); + } + }, + + getHeaderMenu: function(){ + var menu = this.getMenu(), + item; + + if (menu) { + item = menu.child('#columnItem'); + if (item) { + return item.menu; + } + } + return null; + }, + + onHeaderVisibilityChange: function(header, visible){ + var me = this, + menu = me.getHeaderMenu(), + item; + + if (menu) { + + item = me.getMenuItemForHeader(menu, header); + if (item) { + item.setChecked(visible, true); + } + + me.menuTask.delay(50); + } + }, + + + getLeafMenuItems: function() { + var me = this, + columns = me.getGridColumns(), + items = [], + i = 0, + count = 0, + len = columns.length, + menu = me.getMenu(), + item; + + for (; i < len; ++i) { + item = columns[i]; + if (item.hideable) { + item = me.getMenuItemForHeader(menu, item); + if (item) { + items.push(item); + if (item.checked) { + ++count; + } + } + } else if (!item.hidden && !item.menuDisabled) { + ++count; + } + } + + return { + items: items, + checkedCount: count + }; + }, + + updateMenuDisabledState: function(){ + var me = this, + result = me.getLeafMenuItems(), + total = result.checkedCount, + items = result.items, + len = items.length, + i = 0, + rootItem = me.getMenu().child('#columnItem'); + + if (total <= 1) { + + me.disableMenuItems(rootItem, Ext.ComponentQuery.query('[checked=true]', items)[0]); + } else { + + for (; i < len; ++i) { + me.setMenuItemState(total, rootItem, items[i]); + } + } + }, + + disableMenuItems: function(rootItem, item){ + while (item && item != rootItem) { + item.disableCheckChange(); + item = item.parentMenu.ownerItem; + } + }, + + setMenuItemState: function(total, rootItem, item){ + var parentMenu, + checkedChildren; + + while (item && item != rootItem) { + parentMenu = item.parentMenu; + checkedChildren = item.parentMenu.query('[checked=true]:not([menu])').length; + item.enableCheckChange(); + item = parentMenu.ownerItem; + if (checkedChildren === total) { + + break; + } + } + + + this.disableMenuItems(rootItem, item); + }, + + getMenuItemForHeader: function(menu, header){ + return header ? menu.down('menucheckitem[headerId=' + header.id + ']') : null; + }, + + onHeaderShow: function(header) { + + var me = this, + gridSection = me.ownerCt; + + me.onHeaderVisibilityChange(header, true); + + + + if (!header.isGroupHeader) { + if (gridSection) { + gridSection.onHeaderShow(me, header); + } + } + me.fireEvent('columnshow', me, header); + }, + + onHeaderHide: function(header) { + + var me = this, + gridSection = me.ownerCt; + + me.onHeaderVisibilityChange(header, false); + + + if (!header.isGroupHeader) { + if (gridSection) { + gridSection.onHeaderHide(me, header); + } + } + me.fireEvent('columnhide', me, header); + }, + + + tempLock: function() { + this.ddLock = true; + Ext.Function.defer(function() { + this.ddLock = false; + }, 200, this); + }, + + onHeaderResize: function(header, w, suppressFocus) { + var me = this, + view = me.view, + gridSection = me.ownerCt; + + + if (view && view.table.dom) { + me.tempLock(); + if (gridSection) { + gridSection.onHeaderResize(me, header, w); + } + } + me.fireEvent('columnresize', this, header, w); + }, + + onHeaderClick: function(header, e, t) { + header.fireEvent('headerclick', this, header, e, t); + this.fireEvent("headerclick", this, header, e, t); + }, + + onHeaderTriggerClick: function(header, e, t) { + + var me = this; + if (header.fireEvent('headertriggerclick', me, header, e, t) !== false && me.fireEvent("headertriggerclick", me, header, e, t) !== false) { + me.showMenuBy(t, header); + } + }, + + showMenuBy: function(t, header) { + var menu = this.getMenu(), + ascItem = menu.down('#ascItem'), + descItem = menu.down('#descItem'), + sortableMth; + + menu.activeHeader = menu.ownerCt = header; + menu.setFloatParent(header); + + header.titleEl.addCls(this.headerOpenCls); + + + sortableMth = header.sortable ? 'enable' : 'disable'; + if (ascItem) { + ascItem[sortableMth](); + } + if (descItem) { + descItem[sortableMth](); + } + menu.showBy(t); + }, + + + onMenuDeactivate: function() { + var menu = this.getMenu(); + + menu.activeHeader.titleEl.removeCls(this.headerOpenCls); + }, + + moveHeader: function(fromIdx, toIdx) { + + + this.tempLock(); + this.onHeaderMoved(this.move(fromIdx, toIdx), 1, fromIdx, toIdx); + }, + + purgeCache: function() { + var me = this; + + delete me.gridDataColumns; + delete me.hideableColumns; + + + if (me.menu) { + + me.menu.hide(); + me.menu.destroy(); + delete me.menu; + } + }, + + onHeaderMoved: function(header, colsToMove, fromIdx, toIdx) { + var me = this, + gridSection = me.ownerCt; + + if (gridSection && gridSection.onHeaderMove) { + gridSection.onHeaderMove(me, header, colsToMove, fromIdx, toIdx); + } + me.fireEvent("columnmove", me, header, fromIdx, toIdx); + }, + + + getMenu: function() { + var me = this; + + if (!me.menu) { + me.menu = new Ext.menu.Menu({ + hideOnParentHide: false, + items: me.getMenuItems(), + listeners: { + deactivate: me.onMenuDeactivate, + scope: me + } + }); + me.updateMenuDisabledState(); + me.fireEvent('menucreate', me, me.menu); + } + return me.menu; + }, + + + getMenuItems: function() { + var me = this, + menuItems = [], + hideableColumns = me.enableColumnHide ? me.getColumnMenu(me) : null; + + if (me.sortable) { + menuItems = [{ + itemId: 'ascItem', + text: me.sortAscText, + cls: Ext.baseCSSPrefix + 'hmenu-sort-asc', + handler: me.onSortAscClick, + scope: me + },{ + itemId: 'descItem', + text: me.sortDescText, + cls: Ext.baseCSSPrefix + 'hmenu-sort-desc', + handler: me.onSortDescClick, + scope: me + }]; + } + if (hideableColumns && hideableColumns.length) { + menuItems.push('-', { + itemId: 'columnItem', + text: me.columnsText, + cls: Ext.baseCSSPrefix + 'cols-icon', + menu: hideableColumns + }); + } + return menuItems; + }, + + + onSortAscClick: function() { + var menu = this.getMenu(), + activeHeader = menu.activeHeader; + + activeHeader.setSortState('ASC'); + }, + + + onSortDescClick: function() { + var menu = this.getMenu(), + activeHeader = menu.activeHeader; + + activeHeader.setSortState('DESC'); + }, + + + getColumnMenu: function(headerContainer) { + var menuItems = [], + i = 0, + item, + items = headerContainer.query('>gridcolumn[hideable]'), + itemsLn = items.length, + menuItem; + + for (; i < itemsLn; i++) { + item = items[i]; + menuItem = new Ext.menu.CheckItem({ + text: item.menuText || item.text, + checked: !item.hidden, + hideOnClick: false, + headerId: item.id, + menu: item.isGroupHeader ? this.getColumnMenu(item) : undefined, + checkHandler: this.onColumnCheckChange, + scope: this + }); + menuItems.push(menuItem); + + + + item.on({ + destroy: Ext.Function.bind(menuItem.destroy, menuItem) + }); + } + return menuItems; + }, + + onColumnCheckChange: function(checkItem, checked) { + var header = Ext.getCmp(checkItem.headerId); + header[checked ? 'show' : 'hide'](); + }, + + + getColumnsForTpl: function(flushCache) { + var cols = [], + headers = this.getGridColumns(flushCache), + headersLn = headers.length, + i = 0, + header, + width; + + for (; i < headersLn; i++) { + header = headers[i]; + + if (header.hidden || header.up('headercontainer[hidden=true]')) { + width = 0; + } else { + width = header.getDesiredWidth(); + } + cols.push({ + dataIndex: header.dataIndex, + align: header.align, + width: width, + id: header.id, + cls: header.tdCls, + columnId: header.getItemId() + }); + } + return cols; + }, + + + getColumnCount: function() { + return this.getGridColumns().length; + }, + + + getFullWidth: function(flushCache) { + var fullWidth = 0, + headers = this.getVisibleGridColumns(flushCache), + headersLn = headers.length, + i = 0, + header; + + + for (; i < headersLn; i++) { + header = headers[i]; + + if (header.getDesiredWidth) { + fullWidth += header.getDesiredWidth() || 0; + + } else { + fullWidth += header.getWidth(); + } + } + return fullWidth; + }, + + + clearOtherSortStates: function(activeHeader) { + var headers = this.getGridColumns(), + headersLn = headers.length, + i = 0; + + for (; i < headersLn; i++) { + if (headers[i] !== activeHeader) { + + headers[i].setSortState(null, true); + } + } + }, + + + getVisibleGridColumns: function(refreshCache) { + return Ext.ComponentQuery.query(':not([hidden])', this.getGridColumns(refreshCache)); + }, + + + getGridColumns: function(refreshCache) { + var me = this, + result = refreshCache ? null : me.gridDataColumns; + + + if (!result) { + me.gridDataColumns = result = []; + me.cascade(function(c) { + if ((c !== me) && !c.isGroupHeader) { + result.push(c); + } + }); + } + + return result; + }, + + + getHideableColumns: function(refreshCache) { + var me = this, + result = refreshCache ? null : me.hideableColumns; + + if (!result) { + result = me.hideableColumns = me.query('[hideable]'); + } + return result; + }, + + + getHeaderIndex: function(header) { + + if (header.isGroupHeader) { + header = header.down(':not([isgroupHeader])'); + } + return Ext.Array.indexOf(this.getGridColumns(), header); + }, + + + getHeaderAtIndex: function(index) { + var columns = this.getGridColumns(); + return columns.length ? columns[index] : null; + }, + + + getVisibleHeaderClosestToIndex: function(index) { + var result = this.getHeaderAtIndex(index); + if (result && result.hidden) { + result = result.next(':not([hidden])') || result.prev(':not([hidden])'); + } + return result; + }, + + + prepareData: function(data, rowIdx, record, view, panel) { + var me = this, + obj = {}, + headers = me.gridDataColumns || me.getGridColumns(), + headersLn = headers.length, + colIdx = 0, + header, + headerId, + renderer, + value, + metaData, + store = panel.store; + + for (; colIdx < headersLn; colIdx++) { + metaData = { + tdCls: '', + style: '' + }; + header = headers[colIdx]; + headerId = header.id; + renderer = header.renderer; + value = data[header.dataIndex]; + + if (typeof renderer == "function") { + value = renderer.call( + header.scope || me.ownerCt, + value, + + + metaData, + record, + rowIdx, + colIdx, + store, + view + ); + } + + if (me.markDirty) { + obj[headerId + '-modified'] = record.isModified(header.dataIndex) ? Ext.baseCSSPrefix + 'grid-dirty-cell' : ''; + } + obj[headerId+'-tdCls'] = metaData.tdCls; + obj[headerId+'-tdAttr'] = metaData.tdAttr; + obj[headerId+'-style'] = metaData.style; + if (typeof value === 'undefined' || value === null || value === '') { + value = header.emptyCellText; + } + obj[headerId] = value; + } + return obj; + }, + + expandToFit: function(header) { + var view = this.view; + if (view) { + view.expandToFit(header); + } + } +}); + + +Ext.define('Ext.grid.column.Column', { + extend: 'Ext.grid.header.Container', + alias: 'widget.gridcolumn', + requires: ['Ext.util.KeyNav', 'Ext.grid.ColumnComponentLayout', 'Ext.grid.ColumnLayout'], + alternateClassName: 'Ext.grid.Column', + + baseCls: Ext.baseCSSPrefix + 'column-header ' + Ext.baseCSSPrefix + 'unselectable', + + + hoverCls: Ext.baseCSSPrefix + 'column-header-over', + + handleWidth: 5, + + sortState: null, + + possibleSortStates: ['ASC', 'DESC'], + + childEls: [ + 'titleEl', 'triggerEl', 'textEl' + ], + + renderTpl: + '
    ' + + '' + + '{text}' + + '' + + ''+ + '
    '+ + '
    ' + + '
    ' + + '{%this.renderContainer(out,values)%}', + + + + + + + dataIndex: null, + + + text: ' ', + + + + + menuText: null, + + + emptyCellText: ' ', + + + sortable: true, + + + + + + + + + resizable: true, + + + hideable: true, + + + menuDisabled: false, + + + renderer: false, + + + + + + + editRenderer: false, + + + align: 'left', + + + draggable: true, + + + + + tooltipType: 'qtip', + + + + initDraggable: Ext.emptyFn, + + + + + + + + + + + + + isHeader: true, + + componentLayout: 'columncomponent', + + + initResizable: Ext.emptyFn, + + initComponent: function() { + var me = this, + renderer; + + if (Ext.isDefined(me.header)) { + me.text = me.header; + delete me.header; + } + + if (!me.triStateSort) { + me.possibleSortStates.length = 2; + } + + + if (Ext.isDefined(me.columns)) { + me.isGroupHeader = true; + + + + me.items = me.columns; + delete me.columns; + delete me.flex; + delete me.width; + me.cls = (me.cls||'') + ' ' + Ext.baseCSSPrefix + 'group-header'; + me.sortable = false; + me.resizable = false; + me.align = 'center'; + } else { + + + me.isContainer = false; + + + + + if (me.flex) { + me.minWidth = me.minWidth || Ext.grid.plugin.HeaderResizer.prototype.minColWidth; + } + } + me.addCls(Ext.baseCSSPrefix + 'column-header-align-' + me.align); + + renderer = me.renderer; + if (renderer) { + + + if (typeof renderer == 'string') { + me.renderer = Ext.util.Format[renderer]; + } + me.hasCustomRenderer = true; + } else if (me.defaultRenderer) { + me.scope = me; + me.renderer = me.defaultRenderer; + } + + + me.callParent(arguments); + + me.on({ + element: 'el', + click: me.onElClick, + dblclick: me.onElDblClick, + scope: me + }); + me.on({ + element: 'titleEl', + mouseenter: me.onTitleMouseOver, + mouseleave: me.onTitleMouseOut, + scope: me + }); + }, + + onAdd: function(childHeader) { + childHeader.isSubHeader = true; + childHeader.addCls(Ext.baseCSSPrefix + 'group-sub-header'); + this.callParent(arguments); + }, + + onRemove: function(childHeader) { + childHeader.isSubHeader = false; + childHeader.removeCls(Ext.baseCSSPrefix + 'group-sub-header'); + this.callParent(arguments); + }, + + initRenderData: function() { + var me = this, + tipMarkup = '', + tip = me.tooltip, + attr = me.tooltipType == 'qtip' ? 'data-qtip' : 'title'; + + if (!Ext.isEmpty(tip)) { + tipMarkup = attr + '="' + tip + '" '; + } + + return Ext.applyIf(me.callParent(arguments), { + text: me.text, + menuDisabled: me.menuDisabled, + tipMarkup: tipMarkup + }); + }, + + applyColumnState: function (state) { + var me = this, + defined = Ext.isDefined; + + + me.applyColumnsState(state.columns); + + + + if (defined(state.hidden)) { + me.hidden = state.hidden; + } + if (defined(state.locked)) { + me.locked = state.locked; + } + if (defined(state.sortable)) { + me.sortable = state.sortable; + } + if (defined(state.width)) { + delete me.flex; + me.width = state.width; + } else if (defined(state.flex)) { + delete me.width; + me.flex = state.flex; + } + }, + + getColumnState: function () { + var me = this, + items = me.items.items, + + iLen = items ? items.length : 0, + i, + columns = [], + state = { + id: me.getStateId() + }; + + me.savePropsToState(['hidden', 'sortable', 'locked', 'flex', 'width'], state); + + if (me.isGroupHeader) { + for (i = 0; i < iLen; i++) { + columns.push(items[i].getColumnState()); + } + + if (columns.length) { + state.columns = columns; + } + } else if (me.isSubHeader && me.ownerCt.hidden) { + + delete me.hidden; + } + + if ('width' in state) { + delete state.flex; + } + return state; + }, + + getStateId: function () { + return this.stateId || this.headerId; + }, + + + setText: function(text) { + this.text = text; + if (this.rendered) { + this.textEl.update(text); + } + }, + + + + getOwnerHeaderCt: function() { + return this.up(':not([isHeader])'); + }, + + + getIndex: function() { + return this.isGroupColumn ? false : this.getOwnerHeaderCt().getHeaderIndex(this); + }, + + + getVisibleIndex: function() { + return this.isGroupColumn ? false : Ext.Array.indexOf(this.getOwnerHeaderCt().getVisibleGridColumns(), this); + }, + + beforeRender: function() { + var me = this, + grid = me.up('tablepanel'); + + me.callParent(); + + + + if (grid && (!me.sortable || grid.sortableColumns === false) && !me.groupable && + !me.lockable && (grid.enableColumnHide === false || + !me.getOwnerHeaderCt().getHideableColumns().length)) { + me.menuDisabled = true; + } + }, + + afterRender: function() { + var me = this, + el = me.el; + + me.callParent(arguments); + + if (me.overCls) { + el.addClsOnOver(me.overCls); + } + + + + if (!Ext.isIE8 || !Ext.isStrict) { + me.mon(me.getFocusEl(), { + focus: me.onTitleMouseOver, + blur: me.onTitleMouseOut, + scope: me + }); + } + + me.keyNav = new Ext.util.KeyNav(el, { + enter: me.onEnterKey, + down: me.onDownKey, + scope: me + }); + }, + + + + afterComponentLayout: function(width, height, oldWidth, oldHeight) { + var me = this, + ownerHeaderCt = me.getOwnerHeaderCt(); + + me.callParent(arguments); + + if (ownerHeaderCt && (oldWidth != null || me.flex) && width !== oldWidth) { + ownerHeaderCt.onHeaderResize(me, width, true); + } + }, + + + + + setPadding: function(headerHeight) { + var me = this, + lineHeight = parseInt(me.textEl.getStyle('line-height'), 10), + textHeight = me.textEl.dom.offsetHeight, + titleEl = me.titleEl, + availableHeight = headerHeight - me.el.getBorderWidth('tb'), + titleElHeight; + + + if (!me.isGroupHeader) { + if (titleEl.getHeight() < availableHeight) { + titleEl.setHeight(availableHeight); + + + + me.ownerCt.layout.innerCt.setHeight(headerHeight); + } + } + titleElHeight = titleEl.getViewSize().height; + + + if (textHeight) { + if(lineHeight) { + textHeight = Math.ceil(textHeight / lineHeight) * lineHeight; + } + titleEl.setStyle({ + paddingTop: Math.floor(Math.max(((titleElHeight - textHeight) / 2), 0)) + 'px' + }); + } + + + if (Ext.isIE && me.triggerEl) { + me.triggerEl.setHeight(titleElHeight); + } + }, + + onDestroy: function() { + var me = this; + + Ext.destroy(me.textEl, me.keyNav, me.field); + delete me.keyNav; + me.callParent(arguments); + }, + + onTitleMouseOver: function() { + this.titleEl.addCls(this.hoverCls); + }, + + onTitleMouseOut: function() { + this.titleEl.removeCls(this.hoverCls); + }, + + onDownKey: function(e) { + if (this.triggerEl) { + this.onElClick(e, this.triggerEl.dom || this.el.dom); + } + }, + + onEnterKey: function(e) { + this.onElClick(e, this.el.dom); + }, + + + onElDblClick: function(e, t) { + var me = this, + ownerCt = me.ownerCt; + if (ownerCt && Ext.Array.indexOf(ownerCt.items, me) !== 0 && me.isOnLeftEdge(e) ) { + ownerCt.expandToFit(me.previousSibling('gridcolumn')); + } + }, + + onElClick: function(e, t) { + + + var me = this, + ownerHeaderCt = me.getOwnerHeaderCt(); + + if (ownerHeaderCt && !ownerHeaderCt.ddLock) { + + + if (me.triggerEl && (e.target === me.triggerEl.dom || t === me.triggerEl.dom || e.within(me.triggerEl))) { + ownerHeaderCt.onHeaderTriggerClick(me, e, t); + + } else if (e.getKey() || (!me.isOnLeftEdge(e) && !me.isOnRightEdge(e))) { + me.toggleSortState(); + ownerHeaderCt.onHeaderClick(me, e, t); + } + } + }, + + + processEvent: function(type, view, cell, recordIndex, cellIndex, e) { + return this.fireEvent.apply(this, arguments); + }, + + toggleSortState: function() { + var me = this, + idx, + nextIdx; + + if (me.sortable) { + idx = Ext.Array.indexOf(me.possibleSortStates, me.sortState); + + nextIdx = (idx + 1) % me.possibleSortStates.length; + me.setSortState(me.possibleSortStates[nextIdx]); + } + }, + + doSort: function(state) { + var ds = this.up('tablepanel').store; + ds.sort({ + property: this.getSortParam(), + direction: state + }); + }, + + + getSortParam: function() { + return this.dataIndex; + }, + + + + setSortState: function(state, skipClear, initial) { + var me = this, + colSortClsPrefix = Ext.baseCSSPrefix + 'column-header-sort-', + ascCls = colSortClsPrefix + 'ASC', + descCls = colSortClsPrefix + 'DESC', + nullCls = colSortClsPrefix + 'null', + ownerHeaderCt = me.getOwnerHeaderCt(), + oldSortState = me.sortState; + + if (oldSortState !== state && me.getSortParam()) { + me.addCls(colSortClsPrefix + state); + + if (state && !initial) { + me.doSort(state); + } + switch (state) { + case 'DESC': + me.removeCls([ascCls, nullCls]); + break; + case 'ASC': + me.removeCls([descCls, nullCls]); + break; + case null: + me.removeCls([ascCls, descCls]); + break; + } + if (ownerHeaderCt && !me.triStateSort && !skipClear) { + ownerHeaderCt.clearOtherSortStates(me); + } + me.sortState = state; + + if (me.triStateSort || state != null) { + ownerHeaderCt.fireEvent('sortchange', ownerHeaderCt, me, state); + } + } + }, + + hide: function(fromOwner) { + var me = this, + ownerHeaderCt = me.getOwnerHeaderCt(), + owner = me.ownerCt, + ownerIsGroup = owner.isGroupHeader, + item, items, len, i; + + + if (ownerIsGroup && !fromOwner) { + items = owner.query('>:not([hidden])'); + + if (items.length === 1 && items[0] == me) { + me.ownerCt.hide(); + return; + } + } + + Ext.suspendLayouts(); + + if (me.isGroupHeader) { + items = me.items.items; + for (i = 0, len = items.length; i < len; i++) { + item = items[i]; + if (!item.hidden) { + item.hide(true); + } + } + } + + me.callParent(); + + ownerHeaderCt.onHeaderHide(me); + + Ext.resumeLayouts(true); + }, + + show: function(fromOwner, fromChild) { + var me = this, + ownerCt = me.ownerCt, + items, + len, i, + item; + + Ext.suspendLayouts(); + + + if (me.isSubHeader && ownerCt.hidden) { + ownerCt.show(false, true); + } + + me.callParent(arguments); + + + if (me.isGroupHeader && fromChild !== true && !me.query(':not([hidden])').length) { + items = me.query('>*'); + for (i = 0, len = items.length; i < len; i++) { + item = items[i]; + if (item.hidden) { + item.show(true); + } + } + } + + Ext.resumeLayouts(true); + + + ownerCt = me.getOwnerHeaderCt(); + if (ownerCt) { + ownerCt.onHeaderShow(me); + } + }, + + getDesiredWidth: function() { + var me = this; + if (me.rendered && me.componentLayout && me.componentLayout.lastComponentSize) { + + + + + + + return me.componentLayout.lastComponentSize.width; + + + + } + else if (me.flex) { + + return me.width; + } + else { + return me.width; + } + }, + + getCellSelector: function() { + return '.' + Ext.baseCSSPrefix + 'grid-cell-' + this.getItemId(); + }, + + getCellInnerSelector: function() { + return this.getCellSelector() + ' .' + Ext.baseCSSPrefix + 'grid-cell-inner'; + }, + + isOnLeftEdge: function(e) { + return (e.getXY()[0] - this.el.getLeft() <= this.handleWidth); + }, + + isOnRightEdge: function(e) { + return (this.el.getRight() - e.getXY()[0] <= this.handleWidth); + } + + + + + + +}); + + +Ext.define('Ext.grid.RowNumberer', { + extend: 'Ext.grid.column.Column', + alias: 'widget.rownumberer', + + + text: " ", + + + width: 23, + + + sortable: false, + + + draggable: false, + + align: 'right', + + constructor : function(config){ + + + + this.width = this.width; + + this.callParent(arguments); + if (this.rowspan) { + this.renderer = Ext.Function.bind(this.renderer, this); + } + }, + + + resizable: false, + hideable: false, + menuDisabled: true, + dataIndex: '', + cls: Ext.baseCSSPrefix + 'row-numberer', + rowspan: undefined, + + + renderer: function(value, metaData, record, rowIdx, colIdx, store) { + if (this.rowspan){ + metaData.cellAttr = 'rowspan="'+this.rowspan+'"'; + } + + metaData.tdCls = Ext.baseCSSPrefix + 'grid-cell-special'; + return store.indexOfTotal(record) + 1; + } +}); + + + +Ext.define('Ext.view.DropZone', { + extend: 'Ext.dd.DropZone', + + indicatorHtml: '
    ', + indicatorCls: Ext.baseCSSPrefix + 'grid-drop-indicator', + + constructor: function(config) { + var me = this; + Ext.apply(me, config); + + + + + + + if (!me.ddGroup) { + me.ddGroup = 'view-dd-zone-' + me.view.id; + } + + + + + me.callParent([me.view.el]); + }, + + + + fireViewEvent: function() { + var me = this, + result; + + me.lock(); + result = me.view.fireEvent.apply(me.view, arguments); + me.unlock(); + return result; + }, + + getTargetFromEvent : function(e) { + var node = e.getTarget(this.view.getItemSelector()), + mouseY, nodeList, testNode, i, len, box; + + + + if (!node) { + mouseY = e.getPageY(); + for (i = 0, nodeList = this.view.getNodes(), len = nodeList.length; i < len; i++) { + testNode = nodeList[i]; + box = Ext.fly(testNode).getBox(); + if (mouseY <= box.bottom) { + return testNode; + } + } + } + return node; + }, + + getIndicator: function() { + var me = this; + + if (!me.indicator) { + me.indicator = new Ext.Component({ + html: me.indicatorHtml, + cls: me.indicatorCls, + ownerCt: me.view, + floating: true, + shadow: false + }); + } + return me.indicator; + }, + + getPosition: function(e, node) { + var y = e.getXY()[1], + region = Ext.fly(node).getRegion(), + pos; + + if ((region.bottom - y) >= (region.bottom - region.top) / 2) { + pos = "before"; + } else { + pos = "after"; + } + return pos; + }, + + + containsRecordAtOffset: function(records, record, offset) { + if (!record) { + return false; + } + var view = this.view, + recordIndex = view.indexOf(record), + nodeBefore = view.getNode(recordIndex + offset), + recordBefore = nodeBefore ? view.getRecord(nodeBefore) : null; + + return recordBefore && Ext.Array.contains(records, recordBefore); + }, + + positionIndicator: function(node, data, e) { + var me = this, + view = me.view, + pos = me.getPosition(e, node), + overRecord = view.getRecord(node), + draggingRecords = data.records, + indicatorY; + + if (!Ext.Array.contains(draggingRecords, overRecord) && ( + pos == 'before' && !me.containsRecordAtOffset(draggingRecords, overRecord, -1) || + pos == 'after' && !me.containsRecordAtOffset(draggingRecords, overRecord, 1) + )) { + me.valid = true; + + if (me.overRecord != overRecord || me.currentPosition != pos) { + + indicatorY = Ext.fly(node).getY() - view.el.getY() - 1; + if (pos == 'after') { + indicatorY += Ext.fly(node).getHeight(); + } + me.getIndicator().setWidth(Ext.fly(view.el).getWidth()).showAt(0, indicatorY); + + + me.overRecord = overRecord; + me.currentPosition = pos; + } + } else { + me.invalidateDrop(); + } + }, + + invalidateDrop: function() { + if (this.valid) { + this.valid = false; + this.getIndicator().hide(); + } + }, + + + onNodeOver: function(node, dragZone, e, data) { + var me = this; + + if (!Ext.Array.contains(data.records, me.view.getRecord(node))) { + me.positionIndicator(node, data, e); + } + return me.valid ? me.dropAllowed : me.dropNotAllowed; + }, + + + + notifyOut: function(node, dragZone, e, data) { + var me = this; + + me.callParent(arguments); + delete me.overRecord; + delete me.currentPosition; + if (me.indicator) { + me.indicator.hide(); + } + }, + + + onContainerOver : function(dd, e, data) { + var me = this, + view = me.view, + count = view.store.getCount(); + + + if (count) { + me.positionIndicator(view.getNode(count - 1), data, e); + } + + + else { + delete me.overRecord; + delete me.currentPosition; + me.getIndicator().setWidth(Ext.fly(view.el).getWidth()).showAt(0, 0); + me.valid = true; + } + return me.dropAllowed; + }, + + onContainerDrop : function(dd, e, data) { + return this.onNodeDrop(dd, null, e, data); + }, + + onNodeDrop: function(node, dragZone, e, data) { + var me = this, + dropHandled = false, + + + + + + + dropHandlers = { + wait: false, + processDrop: function () { + me.invalidateDrop(); + me.handleNodeDrop(data, me.overRecord, me.currentPosition); + dropHandled = true; + me.fireViewEvent('drop', node, data, me.overRecord, me.currentPosition); + }, + + cancelDrop: function() { + me.invalidateDrop(); + dropHandled = true; + } + }, + performOperation = false; + + if (me.valid) { + performOperation = me.fireViewEvent('beforedrop', node, data, me.overRecord, me.currentPosition, dropHandlers); + if (dropHandlers.wait) { + return; + } + + if (performOperation !== false) { + + if (!dropHandled) { + dropHandlers.processDrop(); + } + } + } + return performOperation; + }, + + destroy: function(){ + Ext.destroy(this.indicator); + delete this.indicator; + this.callParent(); + } +}); + + +Ext.define('Ext.grid.ViewDropZone', { + extend: 'Ext.view.DropZone', + + indicatorHtml: '
    ', + indicatorCls: Ext.baseCSSPrefix + 'grid-drop-indicator', + + handleNodeDrop : function(data, record, position) { + var view = this.view, + store = view.getStore(), + index, records, i, len; + + + if (data.copy) { + records = data.records; + data.records = []; + for (i = 0, len = records.length; i < len; i++) { + data.records.push(records[i].copy(records[i].getId())); + } + } else { + + data.view.store.remove(data.records, data.view === view); + } + + index = store.indexOf(record); + + + if (position !== 'before') { + index++; + } + store.insert(index, data.records); + view.getSelectionModel().select(data.records); + } +}); + + +Ext.define('Ext.grid.column.Action', { + extend: 'Ext.grid.column.Column', + alias: ['widget.actioncolumn'], + alternateClassName: 'Ext.grid.ActionColumn', + + + + + + + + + + + + + actionIdRe: new RegExp(Ext.baseCSSPrefix + 'action-col-(\\d+)'), + + + altText: '', + + + menuText: 'Actions', + + sortable: false, + + constructor: function(config) { + var me = this, + cfg = Ext.apply({}, config), + items = cfg.items || [me], + hasGetClass, + i, + len; + + + me.origRenderer = cfg.renderer || me.renderer; + me.origScope = cfg.scope || me.scope; + + delete me.renderer; + delete me.scope; + delete cfg.renderer; + delete cfg.scope; + + + delete cfg.items; + me.callParent([cfg]); + + + me.items = items; + + for (i = 0, len = items.length; i < len; ++i) { + if (items[i].getClass) { + hasGetClass = true; + break; + } + } + + + if (me.origRenderer || hasGetClass) { + me.hasCustomRenderer = true; + } + }, + + + + defaultRenderer: function(v, meta){ + var me = this, + prefix = Ext.baseCSSPrefix, + scope = me.origScope || me, + items = me.items, + len = items.length, + i = 0, + item; + + + v = Ext.isFunction(me.origRenderer) ? me.origRenderer.apply(scope, arguments) || '' : ''; + + meta.tdCls += ' ' + Ext.baseCSSPrefix + 'action-col-cell'; + for (; i < len; i++) { + item = items[i]; + + + if (!item.hasActionConfiguration) { + + + item.stopSelection = me.stopSelection; + item.disable = Ext.Function.bind(me.disableAction, me, [i], 0); + item.enable = Ext.Function.bind(me.enableAction, me, [i], 0); + item.hasActionConfiguration = true; + } + + v += '' + (item.altText || me.altText) + ''; + } + return v; + }, + + + enableAction: function(index, silent) { + var me = this; + + if (!index) { + index = 0; + } else if (!Ext.isNumber(index)) { + index = Ext.Array.indexOf(me.items, index); + } + me.items[index].disabled = false; + me.up('tablepanel').el.select('.' + Ext.baseCSSPrefix + 'action-col-' + index).removeCls(me.disabledCls); + if (!silent) { + me.fireEvent('enable', me); + } + }, + + + disableAction: function(index, silent) { + var me = this; + + if (!index) { + index = 0; + } else if (!Ext.isNumber(index)) { + index = Ext.Array.indexOf(me.items, index); + } + me.items[index].disabled = true; + me.up('tablepanel').el.select('.' + Ext.baseCSSPrefix + 'action-col-' + index).addCls(me.disabledCls); + if (!silent) { + me.fireEvent('disable', me); + } + }, + + destroy: function() { + delete this.items; + delete this.renderer; + return this.callParent(arguments); + }, + + + processEvent : function(type, view, cell, recordIndex, cellIndex, e, record, row){ + var me = this, + target = e.getTarget(), + match, + item, fn, + key = type == 'keydown' && e.getKey(); + + + + + if (key && !Ext.fly(target).findParent(view.cellSelector)) { + target = Ext.fly(cell).down('.' + Ext.baseCSSPrefix + 'action-col-icon', true); + } + + + if (target && (match = target.className.match(me.actionIdRe))) { + item = me.items[parseInt(match[1], 10)]; + if (item) { + if (type == 'click' || (key == e.ENTER || key == e.SPACE)) { + fn = item.handler || me.handler; + if (fn && !item.disabled) { + fn.call(item.scope || me.origScope || me, view, recordIndex, cellIndex, item, e, record, row); + } + } else if (type == 'mousedown' && item.stopSelection !== false) { + return false; + } + } + } + return me.callParent(arguments); + }, + + cascade: function(fn, scope) { + fn.call(scope||this, this); + }, + + + getRefItems: function() { + return []; + } +}); + + +Ext.define('Ext.grid.column.Boolean', { + extend: 'Ext.grid.column.Column', + alias: ['widget.booleancolumn'], + alternateClassName: 'Ext.grid.BooleanColumn', + + + + trueText: 'true', + + + + + falseText: 'false', + + + + undefinedText: ' ', + + + + + defaultRenderer: function(value){ + if (value === undefined) { + return this.undefinedText; + } + + if (!value || value === 'false') { + return this.falseText; + } + return this.trueText; + } +}); + + +Ext.define('Ext.grid.column.Date', { + extend: 'Ext.grid.column.Column', + alias: ['widget.datecolumn'], + requires: ['Ext.Date'], + alternateClassName: 'Ext.grid.DateColumn', + + + + + + initComponent: function(){ + if (!this.format) { + this.format = Ext.Date.defaultFormat; + } + + this.callParent(arguments); + }, + + defaultRenderer: function(value){ + return Ext.util.Format.date(value, this.format); + } +}); + + +Ext.define('Ext.grid.column.Number', { + extend: 'Ext.grid.column.Column', + alias: ['widget.numbercolumn'], + requires: ['Ext.util.Format'], + alternateClassName: 'Ext.grid.NumberColumn', + + + + format : '0,000.00', + + + + + + defaultRenderer: function(value){ + return Ext.util.Format.number(value, this.format); + } +}); + + +Ext.define('Ext.grid.column.Template', { + extend: 'Ext.grid.column.Column', + alias: ['widget.templatecolumn'], + requires: ['Ext.XTemplate'], + alternateClassName: 'Ext.grid.TemplateColumn', + + + + + + initComponent: function(){ + var me = this; + me.tpl = (!Ext.isPrimitive(me.tpl) && me.tpl.compile) ? me.tpl : new Ext.XTemplate(me.tpl); + + + me.hasCustomRenderer = true; + me.callParent(arguments); + }, + + defaultRenderer: function(value, meta, record) { + var data = Ext.apply({}, record.data, record.getAssociatedData()); + return this.tpl.apply(data); + } +}); + + +Ext.define('Ext.grid.feature.Feature', { + extend: 'Ext.util.Observable', + alias: 'feature.feature', + + + isFeature: true, + + + disabled: false, + + + hasFeatureEvent: true, + + + eventPrefix: null, + + + eventSelector: null, + + + view: null, + + + grid: null, + + + collectData: false, + + constructor: function(config) { + this.initialConfig = config; + this.callParent(arguments); + }, + + clone: function() { + return new this.self(this.initialConfig); + }, + + init: Ext.emptyFn, + + getFeatureTpl: function() { + return ''; + }, + + + getFireEventArgs: function(eventName, view, featureTarget, e) { + return [eventName, view, featureTarget, e]; + }, + + + attachEvents: function() { + + }, + + getFragmentTpl: Ext.emptyFn, + + + mutateMetaRowTpl: Ext.emptyFn, + + + getMetaRowTplFragments: function() { + return {}; + }, + + getTableFragments: function() { + return {}; + }, + + + getAdditionalData: function(data, idx, record, orig) { + return {}; + }, + + + enable: function() { + this.disabled = false; + }, + + + disable: function() { + this.disabled = true; + } + +}); + + +Ext.define('Ext.grid.feature.AbstractSummary', { + + + + extend: 'Ext.grid.feature.Feature', + + alias: 'feature.abstractsummary', + + + + + showSummaryRow: true, + + + nestedIdRe: /\{\{id\}([\w\-]*)\}/g, + + + init: function() { + var me = this; + + + me.grid.optimizedColumnMove = false; + + me.view.mon(me.view.store, { + update: me.onStoreUpdate, + scope: me + }); + }, + + + onStoreUpdate: function() { + var v = this.view; + if (this.showSummaryRow) { + v.saveScrollState(); + v.refresh(); + v.restoreScrollState(); + } + }, + + + toggleSummaryRow: function(visible){ + this.showSummaryRow = !!visible; + }, + + + getSummaryFragments: function(){ + var fragments = {}; + if (this.showSummaryRow) { + Ext.apply(fragments, { + printSummaryRow: Ext.bind(this.printSummaryRow, this) + }); + } + return fragments; + }, + + + printSummaryRow: function(index){ + var inner = this.view.getTableChunker().metaRowTpl.join(''), + prefix = Ext.baseCSSPrefix; + + inner = inner.replace(prefix + 'grid-row', prefix + 'grid-row-summary'); + inner = inner.replace('{{id}}', '{gridSummaryValue}'); + inner = inner.replace(this.nestedIdRe, '{id$1}'); + inner = inner.replace('{[this.embedRowCls()]}', '{rowCls}'); + inner = inner.replace('{[this.embedRowAttr()]}', '{rowAttr}'); + inner = new Ext.XTemplate(inner, { + firstOrLastCls: Ext.view.TableChunker.firstOrLastCls + }); + + return inner.applyTemplate({ + columns: this.getPrintData(index) + }); + }, + + + getColumnValue: function(column, summaryData){ + var comp = Ext.getCmp(column.id), + value = summaryData[column.id], + renderer = comp.summaryRenderer; + + if (!value && value !== 0) { + value = '\u00a0'; + } + + if (renderer) { + value = renderer.call( + comp.scope || this, + value, + summaryData, + column.dataIndex + ); + } + return value; + }, + + + getSummary: function(store, type, field, group){ + if (type) { + if (Ext.isFunction(type)) { + return store.aggregate(type, null, group); + } + + switch (type) { + case 'count': + return store.count(group); + case 'min': + return store.min(field, group); + case 'max': + return store.max(field, group); + case 'sum': + return store.sum(field, group); + case 'average': + return store.average(field, group); + default: + return group ? {} : ''; + + } + } + } + +}); + + +Ext.define('Ext.grid.feature.Chunking', { + extend: 'Ext.grid.feature.Feature', + alias: 'feature.chunking', + + chunkSize: 20, + rowHeight: Ext.isIE ? 27 : 26, + visibleChunk: 0, + hasFeatureEvent: false, + attachEvents: function() { + this.view.el.on('scroll', this.onBodyScroll, this, {buffer: 300}); + }, + + onBodyScroll: function(e, t) { + var view = this.view, + top = t.scrollTop, + nextChunk = Math.floor(top / this.rowHeight / this.chunkSize); + if (nextChunk !== this.visibleChunk) { + + this.visibleChunk = nextChunk; + view.refresh(); + view.el.dom.scrollTop = top; + + view.el.dom.scrollTop = top; + } + }, + + collectData: function(records, preppedRecords, startIndex, fullWidth, o) { + + + var me = this, + recordCount = o.rows.length, + start = 0, + i = 0, + visibleChunk = me.visibleChunk, + rows, + chunkLength, + origRows = o.rows; + + delete o.rows; + o.chunks = []; + for (; start < recordCount; start += me.chunkSize, i++) { + if (start + me.chunkSize > recordCount) { + chunkLength = recordCount - start; + } else { + chunkLength = me.chunkSize; + } + + if (i >= visibleChunk - 1 && i <= visibleChunk + 1) { + rows = origRows.slice(start, start + me.chunkSize); + } else { + rows = []; + } + o.chunks.push({ + rows: rows, + fullWidth: fullWidth, + chunkHeight: chunkLength * me.rowHeight + }); + } + + return o; + }, + + getTableFragments: function() { + return { + openTableWrap: function() { + return '
    '; + }, + closeTableWrap: function() { + return '
    '; + } + }; + } +}); + + +Ext.define('Ext.grid.feature.Grouping', { + extend: 'Ext.grid.feature.Feature', + alias: 'feature.grouping', + + eventPrefix: 'group', + eventSelector: '.' + Ext.baseCSSPrefix + 'grid-group-hd', + bodySelector: '.' + Ext.baseCSSPrefix + 'grid-group-body', + + constructor: function() { + var me = this; + + me.collapsedState = {}; + me.callParent(arguments); + }, + + + + + + + + + + + + + groupHeaderTpl: '{columnName}: {name}', + + + depthToIndent: 17, + + collapsedCls: Ext.baseCSSPrefix + 'grid-group-collapsed', + hdCollapsedCls: Ext.baseCSSPrefix + 'grid-group-hd-collapsed', + hdCollapsibleCls: Ext.baseCSSPrefix + 'grid-group-hd-collapsible', + + + + groupByText : 'Group by this field', + + + + showGroupsText : 'Show in groups', + + + + hideGroupedHeader : false, + + + startCollapsed : false, + + + enableGroupingMenu : true, + + + enableNoGroups : true, + + + collapsible: true, + + enable: function() { + var me = this, + view = me.view, + store = view.store, + groupToggleMenuItem; + + me.lastGroupField = me.getGroupField(); + + if (me.lastGroupIndex) { + me.block(); + store.group(me.lastGroupIndex); + me.unblock(); + } + me.callParent(); + groupToggleMenuItem = me.view.headerCt.getMenu().down('#groupToggleMenuItem'); + groupToggleMenuItem.setChecked(true, true); + me.refreshIf(); + }, + + disable: function() { + var me = this, + view = me.view, + store = view.store, + remote = store.remoteGroup, + groupToggleMenuItem, + lastGroup; + + lastGroup = store.groupers.first(); + if (lastGroup) { + me.lastGroupIndex = lastGroup.property; + me.block(); + store.clearGrouping(); + me.unblock(); + } + + me.callParent(); + groupToggleMenuItem = me.view.headerCt.getMenu().down('#groupToggleMenuItem'); + groupToggleMenuItem.setChecked(true, true); + groupToggleMenuItem.setChecked(false, true); + me.refreshIf(); + }, + + refreshIf: function() { + var ownerCt = this.grid.ownerCt, + view = this.view; + + if (!view.store.remoteGroup && !this.blockRefresh) { + + + if (ownerCt && ownerCt.lockable) { + ownerCt.view.refresh(); + } else { + view.refresh(); + } + } + }, + + getFeatureTpl: function(values, parent, x, xcount) { + return [ + '', + + '
    {collapsed}{[this.renderGroupHeaderTpl(values, parent)]}
    ', + + '{[this.recurse(values)]}', + '
    ' + ].join(''); + }, + + getFragmentTpl: function() { + var me = this; + return { + indentByDepth: me.indentByDepth, + depthToIndent: me.depthToIndent, + renderGroupHeaderTpl: function(values, parent) { + return Ext.XTemplate.getTpl(me, 'groupHeaderTpl').apply(values, parent); + } + }; + }, + + indentByDepth: function(values) { + return 'style="padding-left:'+ ((values.depth || 0) * this.depthToIndent) + 'px;"'; + }, + + + + destroy: function() { + delete this.view; + delete this.prunedHeader; + }, + + + attachEvents: function() { + var me = this, + view = me.view; + + view.on({ + scope: me, + groupclick: me.onGroupClick, + rowfocus: me.onRowFocus + }); + + view.mon(view.store, { + scope: me, + groupchange: me.onGroupChange, + remove: me.onRemove, + add: me.onAdd, + update: me.onUpdate + }); + + if (me.enableGroupingMenu) { + me.injectGroupingMenu(); + } + + me.pruneGroupedHeader(); + + me.lastGroupField = me.getGroupField(); + me.block(); + me.onGroupChange(); + me.unblock(); + }, + + + onAdd: function(store, records){ + var me = this, + view = me.view, + groupField = me.getGroupField(), + i = 0, + len = records.length, + activeGroups, + addedGroups, + groups, + needsRefresh, + group; + + if (view.rendered) { + addedGroups = {}; + activeGroups = {}; + + for (; i < len; ++i) { + group = records[i].get(groupField); + if (addedGroups[group] === undefined) { + addedGroups[group] = 0; + } + addedGroups[group] += 1; + } + groups = store.getGroups(); + for (i = 0, len = groups.length; i < len; ++i) { + group = groups[i]; + activeGroups[group.name] = group.children.length; + } + + for (group in addedGroups) { + if (addedGroups[group] === activeGroups[group]) { + needsRefresh = true; + break; + } + } + + if (needsRefresh) { + view.refresh(); + } + } + }, + + onUpdate: function(store, record, type, changedFields){ + var view = this.view; + if (view.rendered && !changedFields || Ext.Array.contains(changedFields, this.getGroupField())) { + view.refresh(); + } + }, + + onRemove: function(store, record) { + var me = this, + groupField = me.getGroupField(), + removedGroup = record.get(groupField), + view = me.view; + + if (view.rendered) { + + if (store.findExact(groupField, removedGroup) === -1) { + me.view.refresh(); + } + } + }, + + injectGroupingMenu: function() { + var me = this, + headerCt = me.view.headerCt; + + headerCt.showMenuBy = me.showMenuBy; + headerCt.getMenuItems = me.getMenuItems(); + }, + + showMenuBy: function(t, header) { + var menu = this.getMenu(), + groupMenuItem = menu.down('#groupMenuItem'), + groupableMth = header.groupable === false ? 'disable' : 'enable'; + + groupMenuItem[groupableMth](); + Ext.grid.header.Container.prototype.showMenuBy.apply(this, arguments); + }, + + getMenuItems: function() { + var me = this, + groupByText = me.groupByText, + disabled = me.disabled || !me.getGroupField(), + showGroupsText = me.showGroupsText, + enableNoGroups = me.enableNoGroups, + getMenuItems = me.view.headerCt.getMenuItems; + + + return function() { + + + + var o = getMenuItems.call(this); + o.push('-', { + iconCls: Ext.baseCSSPrefix + 'group-by-icon', + itemId: 'groupMenuItem', + text: groupByText, + handler: me.onGroupMenuItemClick, + scope: me + }); + if (enableNoGroups) { + o.push({ + itemId: 'groupToggleMenuItem', + text: showGroupsText, + checked: !disabled, + checkHandler: me.onGroupToggleMenuItemClick, + scope: me + }); + } + return o; + }; + }, + + + onGroupMenuItemClick: function(menuItem, e) { + var me = this, + menu = menuItem.parentMenu, + hdr = menu.activeHeader, + view = me.view, + store = view.store; + + delete me.lastGroupIndex; + me.block(); + me.enable(); + store.group(hdr.dataIndex); + me.pruneGroupedHeader(); + me.unblock(); + me.refreshIf(); + }, + + block: function(){ + this.blockRefresh = this.view.blockRefresh = true; + }, + + unblock: function(){ + this.blockRefresh = this.view.blockRefresh = false; + }, + + + onGroupToggleMenuItemClick: function(menuItem, checked) { + this[checked ? 'enable' : 'disable'](); + }, + + + pruneGroupedHeader: function() { + var me = this, + header = me.getGroupedHeader(); + + if (me.hideGroupedHeader && header) { + if (me.prunedHeader) { + me.prunedHeader.show(); + } + me.prunedHeader = header; + header.hide(); + } + }, + + getGroupedHeader: function(){ + var groupField = this.getGroupField(), + headerCt = this.view.headerCt; + + return groupField ? headerCt.down('[dataIndex=' + groupField + ']') : null; + }, + + getGroupField: function(){ + var group = this.view.store.groupers.first(); + if (group) { + return group.property; + } + return ''; + }, + + + onRowFocus: function(rowIdx) { + var node = this.view.getNode(rowIdx), + groupBd = Ext.fly(node).up('.' + this.collapsedCls); + + if (groupBd) { + + + this.expand(groupBd); + } + }, + + + isExpanded: function(groupName) { + return (this.collapsedState[groupName] === false); + }, + + + expand: function(groupName, focus, preventSizeCalculation) { + var me = this, + view = me.view, + groupHeader, + groupBody, + lockingPartner = me.lockingPartner; + + + if (Ext.isString(groupName)) { + groupBody = Ext.fly(me.getGroupBodyId(groupName), '_grouping'); + } + + else { + groupBody = Ext.fly(groupName, '_grouping') + groupName = me.getGroupName(groupBody); + } + groupHeader = Ext.get(me.getGroupHeaderId(groupName)); + + + if (me.collapsedState[groupName]) { + groupBody.removeCls(me.collapsedCls); + groupBody.prev().removeCls(me.hdCollapsedCls); + + if (preventSizeCalculation !== true) { + view.refreshSize(); + } + view.fireEvent('groupexpand', view, groupHeader, groupName); + me.collapsedState[groupName] = false; + + + if (lockingPartner) { + lockingPartner.expand(groupName, focus, preventSizeCalculation); + } + if (focus) { + groupBody.scrollIntoView(view.el, null, true); + } + } + }, + + + expandAll: function(){ + var me = this, + view = me.view, + els = view.el.select(me.eventSelector).elements, + e, + eLen = els.length; + + for (e = 0; e < eLen; e++) { + me.expand(Ext.fly(els[e]).next(), false, true); + } + + view.refreshSize(); + }, + + + collapse: function(groupName, focus, preventSizeCalculation) { + var me = this, + view = me.view, + groupHeader, + groupBody, + lockingPartner = me.lockingPartner; + + + if (Ext.isString(groupName)) { + groupBody = Ext.fly(me.getGroupBodyId(groupName), '_grouping'); + } + + else { + groupBody = Ext.fly(groupName, '_grouping') + groupName = me.getGroupName(groupBody); + } + groupHeader = Ext.get(me.getGroupHeaderId(groupName)); + + + if (!me.collapsedState[groupName]) { + groupBody.addCls(me.collapsedCls); + groupBody.prev().addCls(me.hdCollapsedCls); + + if (preventSizeCalculation !== true) { + view.refreshSize(); + } + view.fireEvent('groupcollapse', view, groupHeader, groupName); + me.collapsedState[groupName] = true; + + + if (lockingPartner) { + lockingPartner.collapse(groupName, focus, preventSizeCalculation); + } + if (focus) { + groupHeader.scrollIntoView(view.el, null, true); + } + } + }, + + + collapseAll: function() { + var me = this, + view = me.view, + els = view.el.select(me.eventSelector).elements, + e, + eLen = els.length; + + for (e = 0; e < eLen; e++) { + me.collapse(Ext.fly(els[e]).next(), false, true); + } + + view.refreshSize(); + }, + + onGroupChange: function(){ + var me = this, + field = me.getGroupField(), + menuItem, + visibleGridColumns, + groupingByLastVisibleColumn; + + if (me.hideGroupedHeader) { + if (me.lastGroupField) { + menuItem = me.getMenuItem(me.lastGroupField); + if (menuItem) { + menuItem.setChecked(true); + } + } + if (field) { + visibleGridColumns = me.view.headerCt.getVisibleGridColumns(); + + + + groupingByLastVisibleColumn = ((visibleGridColumns.length === 1) && (visibleGridColumns[0].dataIndex == field)); + menuItem = me.getMenuItem(field); + if (menuItem && !groupingByLastVisibleColumn) { + menuItem.setChecked(false); + } + } + } + me.refreshIf(); + me.lastGroupField = field; + }, + + + getMenuItem: function(dataIndex){ + var view = this.view, + header = view.headerCt.down('gridcolumn[dataIndex=' + dataIndex + ']'), + menu = view.headerCt.getMenu(); + + return header ? menu.down('menuitem[headerId='+ header.id +']') : null; + }, + + + onGroupClick: function(view, rowElement, groupName, e) { + var me = this; + + if (me.collapsible) { + if (me.collapsedState[groupName]) { + me.expand(groupName); + } else { + me.collapse(groupName); + } + } + }, + + + getMetaRowTplFragments: function() { + return { + isRow: this.isRow, + closeRow: this.closeRow + }; + }, + + + + isRow: function() { + return ''; + }, + + + + closeRow: function() { + return ''; + }, + + + mutateMetaRowTpl: function(metaRowTpl) { + metaRowTpl.unshift('{[this.isRow()]}'); + metaRowTpl.push('{[this.closeRow()]}'); + }, + + + + getAdditionalData: function(data, idx, record, orig) { + var view = this.view, + hCt = view.headerCt, + col = hCt.items.getAt(0), + o = {}, + tdAttrKey; + + + + + if (col) { + tdAttrKey = col.id + '-tdAttr'; + o[tdAttrKey] = this.indentByDepth(data) + " " + (orig[tdAttrKey] ? orig[tdAttrKey] : ''); + o.collapsed = 'true'; + o.data = record.getData(); + } + return o; + }, + + + getGroupRows: function(group, records, preppedRecords, fullWidth) { + var me = this, + children = group.children, + rows = group.rows = [], + view = me.view, + header = me.getGroupedHeader(), + groupField = me.getGroupField(), + index = -1, + r, + rLen = records.length, + record; + + + if (view.store.buffered) { + me.collapsible = false; + } + + group.viewId = view.id; + + for (r = 0; r < rLen; r++) { + record = records[r]; + + if (record.get(groupField) == group.name) { + index = r; + } + if (Ext.Array.indexOf(children, record) != -1) { + rows.push(Ext.apply(preppedRecords[r], { + depth : 1 + })); + } + } + + group.groupField = groupField, + group.groupHeaderId = me.getGroupHeaderId(group.name); + group.groupBodyId = me.getGroupBodyId(group.name); + group.fullWidth = fullWidth; + group.columnName = header ? header.text : groupField; + group.groupValue = group.name; + + + + if (header && index > -1) { + group.name = group.renderedValue = preppedRecords[index][header.id]; + } + if (me.collapsedState[group.name]) { + group.collapsedCls = me.collapsedCls; + group.hdCollapsedCls = me.hdCollapsedCls; + } else { + group.collapsedCls = group.hdCollapsedCls = ''; + } + + + if (me.collapsible) { + group.collapsibleClass = me.hdCollapsibleCls; + } else { + group.collapsibleClass = ''; + } + + return group; + }, + + + getGroupHeaderId: function(groupName) { + return this.view.id + '-hd-' + groupName; + }, + + + getGroupBodyId: function(groupName) { + return this.view.id + '-bd-' + groupName; + }, + + + getGroupName: function(element) { + var me = this, + targetEl; + + + targetEl = Ext.fly(element).findParent(me.eventSelector); + if (targetEl) { + return targetEl.id.split(this.view.id + '-hd-')[1]; + } + + + targetEl = Ext.fly(element).findParent(me.bodySelector); + if (targetEl) { + return targetEl.id.split(this.view.id + '-bd-')[1]; + } + }, + + + collectData: function(records, preppedRecords, startIndex, fullWidth, o) { + var me = this, + store = me.view.store, + collapsedState = me.collapsedState, + collapseGroups, + g, + groups, gLen, group; + + if (me.startCollapsed) { + + + + me.startCollapsed = false; + collapseGroups = true; + } + + if (!me.disabled && store.isGrouped()) { + o.rows = groups = store.getGroups(); + gLen = groups.length; + + for (g = 0; g < gLen; g++) { + group = groups[g]; + + if (collapseGroups) { + collapsedState[group.name] = true; + } + + me.getGroupRows(group, records, preppedRecords, fullWidth); + } + } + return o; + }, + + + + + + getFireEventArgs: function(type, view, targetEl, e) { + return [type, view, targetEl, this.getGroupName(targetEl), e]; + } +}); + + +Ext.define('Ext.grid.feature.GroupingSummary', { + + + + extend: 'Ext.grid.feature.Grouping', + + alias: 'feature.groupingsummary', + + mixins: { + summary: 'Ext.grid.feature.AbstractSummary' + }, + + + + init: function() { + this.mixins.summary.init.call(this); + }, + + + getFeatureTpl: function() { + var tpl = this.callParent(arguments); + + if (this.showSummaryRow) { + + tpl = tpl.replace('', ''); + tpl += '{[this.printSummaryRow(xindex)]}'; + } + return tpl; + }, + + + getFragmentTpl: function() { + var me = this, + fragments = me.callParent(); + + Ext.apply(fragments, me.getSummaryFragments()); + if (me.showSummaryRow) { + + me.summaryGroups = me.view.store.getGroups(); + me.summaryData = me.generateSummaryData(); + } + return fragments; + }, + + + getPrintData: function(index){ + var me = this, + columns = me.view.headerCt.getColumnsForTpl(), + i = 0, + length = columns.length, + data = [], + name = me.summaryGroups[index - 1].name, + active = me.summaryData[name], + column; + + for (; i < length; ++i) { + column = columns[i]; + column.gridSummaryValue = this.getColumnValue(column, active); + data.push(column); + } + return data; + }, + + + generateSummaryData: function(){ + var me = this, + data = {}, + remoteData = {}, + store = me.view.store, + groupField = this.getGroupField(), + reader = store.proxy.reader, + groups = me.summaryGroups, + columns = me.view.headerCt.getColumnsForTpl(), + remote, + i, + length, + fieldData, + root, + key, + comp, + summaryRows, + s, + sLen, + convertedSummaryRow; + + for (i = 0, length = groups.length; i < length; ++i) { + data[groups[i].name] = {}; + } + + + if (me.remoteRoot && reader.rawData) { + + root = reader.root; + reader.root = me.remoteRoot; + reader.buildExtractors(true); + summaryRows = reader.getRoot(reader.rawData); + sLen = summaryRows.length; + + + if (!reader.convertRecordData) { + reader.buildExtractors(); + } + + for (s = 0; s < sLen; s++) { + convertedSummaryRow = {}; + + + reader.convertRecordData(convertedSummaryRow, summaryRows[s]); + remoteData[convertedSummaryRow[groupField]] = convertedSummaryRow; + } + + + reader.root = root; + reader.buildExtractors(true); + } + + for (i = 0, length = columns.length; i < length; ++i) { + comp = Ext.getCmp(columns[i].id); + fieldData = me.getSummary(store, comp.summaryType, comp.dataIndex, true); + + for (key in fieldData) { + if (fieldData.hasOwnProperty(key)) { + data[key][comp.id] = fieldData[key]; + } + } + + for (key in remoteData) { + if (remoteData.hasOwnProperty(key)) { + remote = remoteData[key][comp.dataIndex]; + if (remote !== undefined && data[key] !== undefined) { + data[key][comp.id] = remote; + } + } + } + } + return data; + } +}); + + +Ext.define('Ext.grid.feature.RowBody', { + extend: 'Ext.grid.feature.Feature', + alias: 'feature.rowbody', + rowBodyHiddenCls: Ext.baseCSSPrefix + 'grid-row-body-hidden', + rowBodyTrCls: Ext.baseCSSPrefix + 'grid-rowbody-tr', + rowBodyTdCls: Ext.baseCSSPrefix + 'grid-cell-rowbody', + rowBodyDivCls: Ext.baseCSSPrefix + 'grid-rowbody', + + eventPrefix: 'rowbody', + eventSelector: '.' + Ext.baseCSSPrefix + 'grid-rowbody-tr', + + getRowBody: function(values) { + return [ + '', + '', + '
    {rowBody}
    ', + '', + '' + ].join(''); + }, + + + getMetaRowTplFragments: function() { + return { + getRowBody: this.getRowBody, + rowBodyTrCls: this.rowBodyTrCls, + rowBodyTdCls: this.rowBodyTdCls, + rowBodyDivCls: this.rowBodyDivCls + }; + }, + + mutateMetaRowTpl: function(metaRowTpl) { + metaRowTpl.push('{[this.getRowBody(values)]}'); + }, + + + getAdditionalData: function(data, idx, record, orig) { + var headerCt = this.view.headerCt, + colspan = headerCt.getColumnCount(); + + return { + rowBody: "", + rowBodyCls: this.rowBodyCls, + rowBodyColspan: colspan + }; + } +}); + + +Ext.define('Ext.grid.feature.RowWrap', { + extend: 'Ext.grid.feature.Feature', + alias: 'feature.rowwrap', + + + hasFeatureEvent: false, + + init: function() { + if (!this.disabled) { + this.enable(); + } + }, + + getRowSelector: function(){ + return 'tr:has(> ' + this.view.cellSelector + ')'; + }, + + enable: function(){ + var me = this, + view = me.view; + + me.callParent(); + + me.savedRowSelector = view.rowSelector; + view.rowSelector = me.getRowSelector(); + + + + + view.getComponentLayout().getColumnSelector = me.getColumnSelector; + }, + + disable: function(){ + var me = this, + view = me.view, + saved = me.savedRowSelector; + + me.callParent(); + if (saved) { + view.rowSelector = saved; + } + delete me.savedRowSelector; + }, + + mutateMetaRowTpl: function(metaRowTpl) { + var prefix = Ext.baseCSSPrefix; + + + metaRowTpl[0] = metaRowTpl[0].replace(prefix + 'grid-row', ''); + metaRowTpl[0] = metaRowTpl[0].replace("{[this.embedRowCls()]}", ""); + + metaRowTpl.unshift(''); + + metaRowTpl.unshift('
    '); + + + metaRowTpl.push('
    '); + + metaRowTpl.push('
    '); + }, + + embedColSpan: function() { + return '{colspan}'; + }, + + embedFullWidth: function() { + return '{fullWidth}'; + }, + + getAdditionalData: function(data, idx, record, orig) { + var headerCt = this.view.headerCt, + colspan = headerCt.getColumnCount(), + fullWidth = headerCt.getFullWidth(), + items = headerCt.query('gridcolumn'), + itemsLn = items.length, + i = 0, + o = { + colspan: colspan, + fullWidth: fullWidth + }, + id, + tdClsKey, + colResizerCls; + + for (; i < itemsLn; i++) { + id = items[i].id; + tdClsKey = id + '-tdCls'; + colResizerCls = Ext.baseCSSPrefix + 'grid-col-resizer-'+id; + + + + o[tdClsKey] = colResizerCls + " " + (orig[tdClsKey] ? orig[tdClsKey] : ''); + + o[id+'-tdAttr'] = " style=\"width: " + (items[i].hidden ? 0 : items[i].getDesiredWidth()) + "px;\" "; + if (orig[id+'-tdAttr']) { + o[id+'-tdAttr'] += orig[id+'-tdAttr']; + } + } + + return o; + }, + + getMetaRowTplFragments: function() { + return { + embedFullWidth: this.embedFullWidth, + embedColSpan: this.embedColSpan + }; + }, + + getColumnSelector: function(header) { + var s = Ext.baseCSSPrefix + 'grid-col-resizer-' + header.id; + return 'th.' + s + ',td.' + s; + } +}); + + +Ext.define('Ext.grid.feature.Summary', { + + + + extend: 'Ext.grid.feature.AbstractSummary', + + alias: 'feature.summary', + + + + + getFragmentTpl: function() { + + this.summaryData = this.generateSummaryData(); + return this.getSummaryFragments(); + }, + + + getTableFragments: function(){ + if (this.showSummaryRow) { + return { + closeRows: this.closeRows + }; + } + }, + + + closeRows: function() { + return '
    {[this.printSummaryRow()]}'; + }, + + + getPrintData: function(index){ + var me = this, + columns = me.view.headerCt.getColumnsForTpl(), + i = 0, + length = columns.length, + data = [], + active = me.summaryData, + column; + + for (; i < length; ++i) { + column = columns[i]; + column.gridSummaryValue = this.getColumnValue(column, active); + data.push(column); + } + return data; + }, + + + generateSummaryData: function(){ + var me = this, + data = {}, + store = me.view.store, + columns = me.view.headerCt.getColumnsForTpl(), + i = 0, + length = columns.length, + fieldData, + key, + comp; + + for (i = 0, length = columns.length; i < length; ++i) { + comp = Ext.getCmp(columns[i].id); + data[comp.id] = me.getSummary(store, comp.summaryType, comp.dataIndex, false); + } + return data; + } +}); + + +Ext.define('Ext.grid.plugin.Editing', { + alias: 'editing.editing', + extend: 'Ext.AbstractPlugin', + + requires: [ + 'Ext.grid.column.Column', + 'Ext.util.KeyNav' + ], + + mixins: { + observable: 'Ext.util.Observable' + }, + + + clicksToEdit: 2, + + + triggerEvent: undefined, + + + defaultFieldXType: 'textfield', + + + editStyle: '', + + constructor: function(config) { + var me = this; + + me.addEvents( + + 'beforeedit', + + + 'edit', + + + 'validateedit', + + 'canceledit' + + ); + me.callParent(arguments); + me.mixins.observable.constructor.call(me); + + me.on("edit", function(editor, e) { + me.fireEvent("afteredit", editor, e); + }); + }, + + + init: function(grid) { + var me = this; + + me.grid = grid; + me.view = grid.view; + me.initEvents(); + me.mon(grid, 'reconfigure', me.onReconfigure, me); + me.onReconfigure(); + + grid.relayEvents(me, [ + + 'beforeedit', + + 'edit', + + 'validateedit', + + 'canceledit' + ]); + + + grid.isEditable = true; + grid.editingPlugin = grid.view.editingPlugin = me; + }, + + + onReconfigure: function() { + this.initFieldAccessors(this.view.getGridColumns()); + }, + + + destroy: function() { + var me = this, + grid = me.grid; + + Ext.destroy(me.keyNav); + me.removeFieldAccessors(grid.getView().getGridColumns()); + + + me.clearListeners(); + + delete me.grid.editingPlugin; + delete me.grid.view.editingPlugin; + delete me.grid; + delete me.view; + delete me.editor; + delete me.keyNav; + }, + + + getEditStyle: function() { + return this.editStyle; + }, + + + initFieldAccessors: function(columns) { + columns = [].concat(columns); + + var me = this, + c, + cLen = columns.length, + column; + + for (c = 0; c < cLen; c++) { + column = columns[c]; + + Ext.applyIf(column, { + getEditor: function(record, defaultField) { + return me.getColumnField(this, defaultField); + }, + + setEditor: function(field) { + me.setColumnField(this, field); + } + }); + } + }, + + + removeFieldAccessors: function(columns) { + columns = [].concat(columns); + + var c, + cLen = columns.length, + column; + + for (c = 0; c < cLen; c++) { + column = columns[c]; + + delete column.getEditor; + delete column.setEditor; + } + }, + + + + getColumnField: function(columnHeader, defaultField) { + var field = columnHeader.field; + + if (!field && columnHeader.editor) { + field = columnHeader.editor; + delete columnHeader.editor; + } + + if (!field && defaultField) { + field = defaultField; + } + + if (field) { + if (Ext.isString(field)) { + field = { xtype: field }; + } + if (!field.isFormField) { + field = Ext.ComponentManager.create(field, this.defaultFieldXType); + } + columnHeader.field = field; + + Ext.apply(field, { + name: columnHeader.dataIndex + }); + + return field; + } + }, + + + + setColumnField: function(column, field) { + if (Ext.isObject(field) && !field.isFormField) { + field = Ext.ComponentManager.create(field, this.defaultFieldXType); + } + column.field = field; + }, + + + initEvents: function() { + var me = this; + me.initEditTriggers(); + me.initCancelTriggers(); + }, + + + initCancelTriggers: Ext.emptyFn, + + + initEditTriggers: function() { + var me = this, + view = me.view; + + + if (me.triggerEvent == 'cellfocus') { + me.mon(view, 'cellfocus', me.onCellFocus, me); + } else if (me.triggerEvent == 'rowfocus') { + me.mon(view, 'rowfocus', me.onRowFocus, me); + } else { + + + + + + + + if (view.selModel.isCellModel) { + view.onCellFocus = Ext.Function.bind(me.beforeViewCellFocus, me); + } + + + me.mon(view, me.triggerEvent || ('cell' + (me.clicksToEdit === 1 ? 'click' : 'dblclick')), me.onCellClick, me); + } + + + + me.initAddRemoveHeaderEvents() + + view.on('render', me.initKeyNavHeaderEvents, me, {single: true}); + }, + + + beforeViewCellFocus: function(position) { + + if (this.view.selModel.keyNavigation || !this.editing || !this.isCellEditable || !this.isCellEditable(position.row, position.columnHeader)) { + this.view.focusCell.apply(this.view, arguments); + } + }, + + + onRowFocus: function(record, row, rowIdx) { + this.startEdit(row, 0); + }, + + + onCellFocus: function(record, cell, position) { + this.startEdit(position.row, position.column); + }, + + + onCellClick: function(view, cell, colIdx, record, row, rowIdx, e) { + + if(!view.expanderSelector || !e.getTarget(view.expanderSelector)) { + this.startEdit(record, view.getHeaderAtIndex(colIdx)); + } + }, + + initAddRemoveHeaderEvents: function(){ + var me = this; + me.mon(me.grid.headerCt, { + scope: me, + add: me.onColumnAdd, + remove: me.onColumnRemove + }); + }, + + initKeyNavHeaderEvents: function() { + var me = this; + + me.keyNav = Ext.create('Ext.util.KeyNav', me.view.el, { + enter: me.onEnterKey, + esc: me.onEscKey, + scope: me + }); + }, + + + onColumnAdd: function(ct, column) { + if (column.isHeader) { + this.initFieldAccessors(column); + } + }, + + + onColumnRemove: function(ct, column) { + if (column.isHeader) { + this.removeFieldAccessors(column); + } + }, + + + onEnterKey: function(e) { + var me = this, + grid = me.grid, + selModel = grid.getSelectionModel(), + record, + pos, + columnHeader = grid.headerCt.getHeaderAtIndex(0); + + + + if (selModel.getCurrentPosition) { + pos = selModel.getCurrentPosition(); + if (pos) { + record = grid.store.getAt(pos.row); + columnHeader = grid.headerCt.getHeaderAtIndex(pos.column); + } + } + + else { + record = selModel.getLastSelected(); + } + + + if (record && columnHeader) { + me.startEdit(record, columnHeader); + } + }, + + + onEscKey: function(e) { + this.cancelEdit(); + }, + + + beforeEdit: Ext.emptyFn, + + + startEdit: function(record, columnHeader) { + var me = this, + context = me.getEditingContext(record, columnHeader); + + if (context == null || me.beforeEdit(context) === false || me.fireEvent('beforeedit', me, context) === false || context.cancel || !me.grid.view.isVisible(true)) { + return false; + } + + me.context = context; + + + me.editing = true; + }, + + + + getEditingContext: function(record, columnHeader) { + var me = this, + grid = me.grid, + view = grid.getView(), + node = view.getNode(record), + rowIdx, colIdx; + + + if (!node) { + return; + } + + + columnHeader = grid.headerCt.getVisibleHeaderClosestToIndex(Ext.isNumber(columnHeader) ? columnHeader : columnHeader.getIndex()); + + + if (!columnHeader) { + return; + } + + colIdx = columnHeader.getIndex(); + + if (Ext.isNumber(record)) { + + rowIdx = record; + record = view.getRecord(node); + } else { + rowIdx = view.indexOf(node); + } + + return { + grid : grid, + record : record, + field : columnHeader.dataIndex, + value : record.get(columnHeader.dataIndex), + row : view.getNode(rowIdx), + column : columnHeader, + rowIdx : rowIdx, + colIdx : colIdx + }; + }, + + + cancelEdit: function() { + var me = this; + + me.editing = false; + me.fireEvent('canceledit', me, me.context); + }, + + + completeEdit: function() { + var me = this; + + if (me.editing && me.validateEdit()) { + me.fireEvent('edit', me, me.context); + } + + delete me.context; + me.editing = false; + }, + + + validateEdit: function() { + var me = this, + context = me.context; + + return me.fireEvent('validateedit', me, context) !== false && !context.cancel; + } +}); + + +Ext.define('Ext.grid.plugin.CellEditing', { + alias: 'plugin.cellediting', + extend: 'Ext.grid.plugin.Editing', + requires: ['Ext.grid.CellEditor', 'Ext.util.DelayedTask'], + + constructor: function() { + + + + + + this.callParent(arguments); + this.editors = new Ext.util.MixedCollection(false, function(editor) { + return editor.editorId; + }); + this.editTask = new Ext.util.DelayedTask(); + }, + + onReconfigure: function(){ + this.editors.clear(); + this.callParent(); + }, + + + destroy: function() { + var me = this; + me.editTask.cancel(); + me.editors.each(Ext.destroy, Ext); + me.editors.clear(); + me.callParent(arguments); + }, + + onBodyScroll: function() { + var me = this, + ed = me.getActiveEditor(), + scroll = me.view.el.getScroll(); + + + if (ed && ed.editing) { + + if (scroll.top !== me.scroll.top) { + if (ed.field) { + if (ed.field.triggerBlur) { + ed.field.triggerBlur(); + } else { + ed.field.blur(); + } + } + } + + else { + ed.realign(); + } + } + me.scroll = scroll; + }, + + + + initCancelTriggers: function() { + var me = this, + grid = me.grid, + view = grid.view; + + view.addElListener('mousewheel', me.cancelEdit, me); + me.mon(view, 'bodyscroll', me.onBodyScroll, me); + me.mon(grid, { + columnresize: me.cancelEdit, + columnmove: me.cancelEdit, + scope: me + }); + }, + + isCellEditable: function(record, columnHeader) { + var me = this, + context = me.getEditingContext(record, columnHeader); + + if (me.grid.view.isVisible(true) && context) { + columnHeader = context.column; + record = context.record; + if (columnHeader && me.getEditor(record, columnHeader)) { + return true; + } + } + }, + + + startEdit: function(record, columnHeader) { + var me = this, + context = me.getEditingContext(record, columnHeader), + value, ed; + + + + + me.completeEdit(); + + + if (!context || !me.grid.view.isVisible(true)) { + return false; + } + + record = context.record; + columnHeader = context.column; + + + if (columnHeader && !columnHeader.getEditor(record)) { + return false; + } + + value = record.get(columnHeader.dataIndex); + context.originalValue = context.value = value; + if (me.beforeEdit(context) === false || me.fireEvent('beforeedit', me, context) === false || context.cancel) { + return false; + } + + ed = me.getEditor(record, columnHeader); + + + me.grid.view.cancelFocus(); + me.view.focusCell({ + row: context.rowIdx, + column: context.colIdx + }); + if (ed) { + me.editTask.delay(15, me.showEditor, me, [ed, context, value]); + return true; + } + return false; + }, + + showEditor: function(ed, context, value) { + var me = this, + record = context.record, + columnHeader = context.column, + sm = me.grid.getSelectionModel(), + selection = sm.getCurrentPosition(); + + me.context = context; + me.setActiveEditor(ed); + me.setActiveRecord(record); + me.setActiveColumn(columnHeader); + + + if (sm.selectByPosition && (!selection || selection.column !== context.colIdx || selection.row !== context.rowIdx)) { + sm.selectByPosition({ + row: context.rowIdx, + column: context.colIdx + }); + } + + ed.startEdit(me.getCell(record, columnHeader), value); + me.editing = true; + me.scroll = me.view.el.getScroll(); + }, + + completeEdit: function() { + var activeEd = this.getActiveEditor(); + if (activeEd) { + activeEd.completeEdit(); + this.editing = false; + } + }, + + + setActiveEditor: function(ed) { + this.activeEditor = ed; + }, + + getActiveEditor: function() { + return this.activeEditor; + }, + + setActiveColumn: function(column) { + this.activeColumn = column; + }, + + getActiveColumn: function() { + return this.activeColumn; + }, + + setActiveRecord: function(record) { + this.activeRecord = record; + }, + + getActiveRecord: function() { + return this.activeRecord; + }, + + getEditor: function(record, column) { + var me = this, + editors = me.editors, + editorId = column.getItemId(), + editor = editors.getByKey(editorId); + + if (editor) { + return editor; + } else { + editor = column.getEditor(record); + if (!editor) { + return false; + } + + + + + if (!(editor instanceof Ext.grid.CellEditor)) { + editor = new Ext.grid.CellEditor({ + editorId: editorId, + field: editor, + ownerCt: me.grid + }); + } else { + editor.ownerCt = me.grid; + } + editor.editingPlugin = me; + editor.isForTree = me.grid.isTree; + editor.on({ + scope: me, + specialkey: me.onSpecialKey, + complete: me.onEditComplete, + canceledit: me.cancelEdit + }); + editors.add(editor); + return editor; + } + }, + + + setColumnField: function(column, field) { + var ed = this.editors.getByKey(column.getItemId()); + Ext.destroy(ed, column.field); + this.editors.removeAtKey(column.getItemId()); + this.callParent(arguments); + }, + + + getCell: function(record, column) { + return this.grid.getView().getCell(record, column); + }, + + onSpecialKey: function(ed, field, e) { + var me = this, + grid = me.grid, + sm; + + if (e.getKey() === e.TAB) { + e.stopEvent(); + + if (ed) { + + + ed.onEditorTab(e); + } + + sm = grid.getSelectionModel(); + if (sm.onEditorTab) { + sm.onEditorTab(me, e); + } + } + }, + + onEditComplete : function(ed, value, startValue) { + var me = this, + grid = me.grid, + activeColumn = me.getActiveColumn(), + sm = grid.getSelectionModel(), + record; + + if (activeColumn) { + record = me.context.record; + + me.setActiveEditor(null); + me.setActiveColumn(null); + me.setActiveRecord(null); + + if (!me.validateEdit()) { + return; + } + + + + if (!record.isEqual(value, startValue)) { + record.set(activeColumn.dataIndex, value); + } + + + if (sm.setCurrentPosition) { + sm.setCurrentPosition(sm.getCurrentPosition()); + } + grid.getView().getEl(activeColumn).focus(); + + me.context.value = value; + me.fireEvent('edit', me, me.context); + } + }, + + + cancelEdit: function() { + var me = this, + activeEd = me.getActiveEditor(), + viewEl = me.grid.getView().getEl(me.getActiveColumn()); + + me.setActiveEditor(null); + me.setActiveColumn(null); + me.setActiveRecord(null); + if (activeEd) { + activeEd.cancelEdit(); + viewEl.focus(); + me.callParent(arguments); + } + }, + + + startEditByPosition: function(position) { + + + position.column = this.view.getHeaderCt().getVisibleHeaderClosestToIndex(position.column).getIndex(); + + return this.startEdit(position.row, position.column); + } +}); + + +Ext.define('Ext.grid.plugin.DragDrop', { + extend: 'Ext.AbstractPlugin', + alias: 'plugin.gridviewdragdrop', + + uses: [ + 'Ext.view.DragZone', + 'Ext.grid.ViewDropZone' + ], + + + + + + + dragText : '{0} selected row{1}', + + + + ddGroup : "GridDD", + + + + + + + enableDrop: true, + + + enableDrag: true, + + init : function(view) { + view.on('render', this.onViewRender, this, {single: true}); + }, + + + destroy: function() { + Ext.destroy(this.dragZone, this.dropZone); + }, + + enable: function() { + var me = this; + if (me.dragZone) { + me.dragZone.unlock(); + } + if (me.dropZone) { + me.dropZone.unlock(); + } + me.callParent(); + }, + + disable: function() { + var me = this; + if (me.dragZone) { + me.dragZone.lock(); + } + if (me.dropZone) { + me.dropZone.lock(); + } + me.callParent(); + }, + + onViewRender : function(view) { + var me = this; + + if (me.enableDrag) { + me.dragZone = new Ext.view.DragZone({ + view: view, + ddGroup: me.dragGroup || me.ddGroup, + dragText: me.dragText + }); + } + + if (me.enableDrop) { + me.dropZone = new Ext.grid.ViewDropZone({ + view: view, + ddGroup: me.dropGroup || me.ddGroup + }); + } + } +}); + + +Ext.define('Ext.grid.plugin.RowEditing', { + extend: 'Ext.grid.plugin.Editing', + alias: 'plugin.rowediting', + + requires: [ + 'Ext.grid.RowEditor' + ], + + editStyle: 'row', + + + autoCancel: true, + + + + + errorSummary: true, + + constructor: function() { + var me = this; + + me.callParent(arguments); + + if (!me.clicksToMoveEditor) { + me.clicksToMoveEditor = me.clicksToEdit; + } + + me.autoCancel = !!me.autoCancel; + }, + + init: function(grid) { + this.callParent([grid]); + }, + + + destroy: function() { + var me = this; + Ext.destroy(me.editor); + me.callParent(arguments); + }, + + + startEdit: function(record, columnHeader) { + var me = this, + editor = me.getEditor(); + + if ((editor.beforeEdit() !== false) && (me.callParent(arguments) !== false)) { + editor.startEdit(me.context.record, me.context.column); + return true; + } + return false; + }, + + + cancelEdit: function() { + var me = this; + + if (me.editing) { + me.getEditor().cancelEdit(); + me.callParent(arguments); + } + }, + + + completeEdit: function() { + var me = this; + + if (me.editing && me.validateEdit()) { + me.editing = false; + me.fireEvent('edit', me, me.context); + } + }, + + + validateEdit: function() { + var me = this, + editor = me.editor, + context = me.context, + record = context.record, + newValues = {}, + originalValues = {}, + editors = editor.items.items, + e, + eLen = editors.length, + name, item; + + for (e = 0; e < eLen; e++) { + item = editors[e]; + name = item.name; + + newValues[name] = item.getValue(); + originalValues[name] = record.get(name); + } + + Ext.apply(context, { + newValues : newValues, + originalValues : originalValues + }); + + return me.callParent(arguments) && me.getEditor().completeEdit(); + }, + + + getEditor: function() { + var me = this; + + if (!me.editor) { + me.editor = me.initEditor(); + } + return me.editor; + }, + + + initEditor: function() { + var me = this, + grid = me.grid, + view = me.view, + headerCt = grid.headerCt, + btns = ['saveBtnText', 'cancelBtnText', 'errorsText', 'dirtyText'], + b, + bLen = btns.length, + cfg = { + autoCancel: me.autoCancel, + errorSummary: me.errorSummary, + fields: headerCt.getGridColumns(), + hidden: true, + view: view, + + editingPlugin: me, + renderTo: view.el + }, + item; + + for (b = 0; b < bLen; b++) { + item = btns[b]; + + if (Ext.isDefined(me[item])) { + cfg[item] = me[item]; + } + } + + return Ext.create('Ext.grid.RowEditor', cfg); + }, + + + initEditTriggers: function() { + var me = this, + view = me.view, + moveEditorEvent = me.clicksToMoveEditor === 1 ? 'click' : 'dblclick'; + + me.callParent(arguments); + + if (me.clicksToMoveEditor !== me.clicksToEdit) { + me.mon(view, 'cell' + moveEditorEvent, me.moveEditorByClick, me); + } + + view.on({ + render: function() { + me.mon(me.grid.headerCt, { + scope: me, + columnresize: me.onColumnResize, + columnhide: me.onColumnHide, + columnshow: me.onColumnShow, + columnmove: me.onColumnMove + }); + }, + single: true + }); + }, + + startEditByClick: function() { + var me = this; + if (!me.editing || me.clicksToMoveEditor === me.clicksToEdit) { + me.callParent(arguments); + } + }, + + moveEditorByClick: function() { + var me = this; + if (me.editing) { + me.superclass.onCellClick.apply(me, arguments); + } + }, + + + onColumnAdd: function(ct, column) { + if (column.isHeader) { + var me = this, + editor; + + me.initFieldAccessors(column); + + + + editor = me.editor; + if (editor && editor.onColumnAdd) { + editor.onColumnAdd(column); + } + } + }, + + + onColumnRemove: function(ct, column) { + if (column.isHeader) { + var me = this, + editor = me.getEditor(); + + if (editor && editor.onColumnRemove) { + editor.onColumnRemove(column); + } + me.removeFieldAccessors(column); + } + }, + + + onColumnResize: function(ct, column, width) { + if (column.isHeader) { + var me = this, + editor = me.getEditor(); + + if (editor && editor.onColumnResize) { + editor.onColumnResize(column, width); + } + } + }, + + + onColumnHide: function(ct, column) { + + var me = this, + editor = me.getEditor(); + + if (editor && editor.onColumnHide) { + editor.onColumnHide(column); + } + }, + + + onColumnShow: function(ct, column) { + + var me = this, + editor = me.getEditor(); + + if (editor && editor.onColumnShow) { + editor.onColumnShow(column); + } + }, + + + onColumnMove: function(ct, column, fromIdx, toIdx) { + + var me = this, + editor = me.getEditor(); + + if (editor && editor.onColumnMove) { + + + editor.onColumnMove(column, fromIdx, toIdx - (toIdx > fromIdx ? 1 : 0)); + } + }, + + + setColumnField: function(column, field) { + var me = this, + editor = me.getEditor(); + + editor.removeField(column); + me.callParent(arguments); + me.getEditor().setField(column); + } +}); + + +Ext.define('Ext.grid.property.Grid', { + + extend: 'Ext.grid.Panel', + + alias: 'widget.propertygrid', + + alternateClassName: 'Ext.grid.PropertyGrid', + + uses: [ + 'Ext.grid.plugin.CellEditing', + 'Ext.grid.property.Store', + 'Ext.grid.property.HeaderContainer', + 'Ext.XTemplate', + 'Ext.grid.CellEditor', + 'Ext.form.field.Date', + 'Ext.form.field.Text', + 'Ext.form.field.Number', + 'Ext.form.field.ComboBox' + ], + + + + + + + + + + + valueField: 'value', + + + nameField: 'name', + + + + + enableColumnMove: false, + columnLines: true, + stripeRows: false, + trackMouseOver: false, + clicksToEdit: 1, + enableHdMenu: false, + + + initComponent : function(){ + var me = this; + + me.addCls(Ext.baseCSSPrefix + 'property-grid'); + me.plugins = me.plugins || []; + + + me.plugins.push(new Ext.grid.plugin.CellEditing({ + clicksToEdit: me.clicksToEdit, + + + startEdit: function(record, column) { + + return this.self.prototype.startEdit.call(this, record, me.headerCt.child('#' + me.valueField)); + } + })); + + me.selModel = { + selType: 'cellmodel', + onCellSelect: function(position) { + if (position.column != 1) { + position.column = 1; + } + return this.self.prototype.onCellSelect.call(this, position); + } + }; + me.customRenderers = me.customRenderers || {}; + me.customEditors = me.customEditors || {}; + + + if (!me.store) { + me.propStore = me.store = new Ext.grid.property.Store(me, me.source); + } + + if (me.sortableColumns) { + me.store.sort('name', 'ASC'); + } + me.columns = new Ext.grid.property.HeaderContainer(me, me.store); + + me.addEvents( + + 'beforepropertychange', + + 'propertychange' + ); + me.callParent(); + + + me.getView().walkCells = this.walkCells; + + + me.editors = { + 'date' : new Ext.grid.CellEditor({ field: new Ext.form.field.Date({selectOnFocus: true})}), + 'string' : new Ext.grid.CellEditor({ field: new Ext.form.field.Text({selectOnFocus: true})}), + 'number' : new Ext.grid.CellEditor({ field: new Ext.form.field.Number({selectOnFocus: true})}), + 'boolean' : new Ext.grid.CellEditor({ field: new Ext.form.field.ComboBox({ + editable: false, + store: [[ true, me.headerCt.trueText ], [false, me.headerCt.falseText ]] + })}) + }; + + + me.store.on('update', me.onUpdate, me); + }, + + + onUpdate : function(store, record, operation) { + var me = this, + v, oldValue; + + if (me.rendered && operation == Ext.data.Model.EDIT) { + v = record.get(me.valueField); + oldValue = record.modified.value; + if (me.fireEvent('beforepropertychange', me.source, record.getId(), v, oldValue) !== false) { + if (me.source) { + me.source[record.getId()] = v; + } + record.commit(); + me.fireEvent('propertychange', me.source, record.getId(), v, oldValue); + } else { + record.reject(); + } + } + }, + + + walkCells: function(pos, direction, e, preventWrap, verifierFn, scope) { + if (direction == 'left') { + direction = 'up'; + } else if (direction == 'right') { + direction = 'down'; + } + pos = Ext.view.Table.prototype.walkCells.call(this, pos, direction, e, preventWrap, verifierFn, scope); + if (!pos.column) { + pos.column = 1; + } + return pos; + }, + + + + getCellEditor : function(record, column) { + var me = this, + propName = record.get(me.nameField), + val = record.get(me.valueField), + editor = me.customEditors[propName]; + + + + if (editor) { + if (!(editor instanceof Ext.grid.CellEditor)) { + if (!(editor instanceof Ext.form.field.Base)) { + editor = Ext.ComponentManager.create(editor, 'textfield'); + } + editor = me.customEditors[propName] = new Ext.grid.CellEditor({ field: editor }); + } + } else if (Ext.isDate(val)) { + editor = me.editors.date; + } else if (Ext.isNumber(val)) { + editor = me.editors.number; + } else if (Ext.isBoolean(val)) { + editor = me.editors['boolean']; + } else { + editor = me.editors.string; + } + + + editor.editorId = propName; + return editor; + }, + + beforeDestroy: function() { + var me = this; + me.callParent(); + me.destroyEditors(me.editors); + me.destroyEditors(me.customEditors); + delete me.source; + }, + + destroyEditors: function (editors) { + for (var ed in editors) { + if (editors.hasOwnProperty(ed)) { + Ext.destroy(editors[ed]); + } + } + }, + + + setSource: function(source) { + this.source = source; + this.propStore.setSource(source); + }, + + + getSource: function() { + return this.propStore.getSource(); + }, + + + setProperty: function(prop, value, create) { + this.propStore.setValue(prop, value, create); + }, + + + removeProperty: function(prop) { + this.propStore.remove(prop); + } + + + +}); + + +Ext.define('Ext.grid.property.HeaderContainer', { + + extend: 'Ext.grid.header.Container', + + alternateClassName: 'Ext.grid.PropertyColumnModel', + + nameWidth: 115, + + + + nameText : 'Name', + + + valueText : 'Value', + + + dateFormat : 'm/j/Y', + + + trueText: 'true', + + + falseText: 'false', + + + + nameColumnCls: Ext.baseCSSPrefix + 'grid-property-name', + + + constructor : function(grid, store) { + var me = this; + + me.grid = grid; + me.store = store; + me.callParent([{ + items: [{ + header: me.nameText, + width: grid.nameColumnWidth || me.nameWidth, + sortable: grid.sortableColumns, + dataIndex: grid.nameField, + renderer: Ext.Function.bind(me.renderProp, me), + itemId: grid.nameField, + menuDisabled :true, + tdCls: me.nameColumnCls + }, { + header: me.valueText, + renderer: Ext.Function.bind(me.renderCell, me), + getEditor: Ext.Function.bind(me.getCellEditor, me), + sortable: grid.sortableColumns, + flex: 1, + fixed: true, + dataIndex: grid.valueField, + itemId: grid.valueField, + menuDisabled: true + }] + }]); + }, + + getCellEditor: function(record){ + return this.grid.getCellEditor(record, this); + }, + + + + renderProp : function(v) { + return this.getPropertyName(v); + }, + + + + renderCell : function(val, meta, rec) { + var me = this, + renderer = me.grid.customRenderers[rec.get(me.grid.nameField)], + result = val; + + if (renderer) { + return renderer.apply(me, arguments); + } + if (Ext.isDate(val)) { + result = me.renderDate(val); + } else if (Ext.isBoolean(val)) { + result = me.renderBool(val); + } + return Ext.util.Format.htmlEncode(result); + }, + + + renderDate : Ext.util.Format.date, + + + renderBool : function(bVal) { + return this[bVal ? 'trueText' : 'falseText']; + }, + + + + getPropertyName : function(name) { + var pn = this.grid.propertyNames; + return pn && pn[name] ? pn[name] : name; + } +}); + + +Ext.define('Ext.grid.property.Property', { + extend: 'Ext.data.Model', + + alternateClassName: 'Ext.PropGridProperty', + + fields: [{ + name: 'name', + type: 'string' + }, { + name: 'value' + }], + idProperty: 'name' +}); + + +Ext.define('Ext.grid.property.Store', { + + extend: 'Ext.data.Store', + + alternateClassName: 'Ext.grid.PropertyStore', + + sortOnLoad: false, + + uses: ['Ext.data.reader.Reader', 'Ext.data.proxy.Proxy', 'Ext.data.ResultSet', 'Ext.grid.property.Property'], + + + constructor : function(grid, source){ + var me = this; + + me.grid = grid; + me.source = source; + me.callParent([{ + data: source, + model: Ext.grid.property.Property, + proxy: me.getProxy() + }]); + }, + + + getProxy: function() { + if (!this.proxy) { + Ext.grid.property.Store.prototype.proxy = new Ext.data.proxy.Memory({ + model: Ext.grid.property.Property, + reader: this.getReader() + }); + } + return this.proxy; + }, + + + getReader: function() { + if (!this.reader) { + Ext.grid.property.Store.prototype.reader = new Ext.data.reader.Reader({ + model: Ext.grid.property.Property, + + buildExtractors: Ext.emptyFn, + + read: function(dataObject) { + return this.readRecords(dataObject); + }, + + readRecords: function(dataObject) { + var val, + propName, + result = { + records: [], + success: true + }; + + for (propName in dataObject) { + if (dataObject.hasOwnProperty(propName)) { + val = dataObject[propName]; + if (this.isEditableValue(val)) { + result.records.push(new Ext.grid.property.Property({ + name: propName, + value: val + }, propName)); + } + } + } + result.total = result.count = result.records.length; + return new Ext.data.ResultSet(result); + }, + + + isEditableValue: function(val){ + return Ext.isPrimitive(val) || Ext.isDate(val); + } + }); + } + return this.reader; + }, + + + setSource : function(dataObject) { + var me = this; + + me.source = dataObject; + me.suspendEvents(); + me.removeAll(); + me.proxy.data = dataObject; + me.load(); + me.resumeEvents(); + me.fireEvent('datachanged', me); + me.fireEvent('refresh', me); + }, + + + getProperty : function(row) { + return Ext.isNumber(row) ? this.getAt(row) : this.getById(row); + }, + + + setValue : function(prop, value, create){ + var me = this, + rec = me.getRec(prop); + + if (rec) { + rec.set('value', value); + me.source[prop] = value; + } else if (create) { + + me.source[prop] = value; + rec = new Ext.grid.property.Property({name: prop, value: value}, prop); + me.add(rec); + } + }, + + + remove : function(prop) { + var rec = this.getRec(prop); + if (rec) { + this.callParent([rec]); + delete this.source[prop]; + } + }, + + + getRec : function(prop) { + return this.getById(prop); + }, + + + getSource : function() { + return this.source; + } +}); + + +Ext.define('Ext.layout.ClassList', (function () { + + var splitWords = Ext.String.splitWords, + toMap = Ext.Array.toMap; + + return { + dirty: false, + + constructor: function (owner) { + this.owner = owner; + this.map = toMap(this.classes = splitWords(owner.el.className)); + }, + + + add: function (cls) { + var me = this; + + if (!me.map[cls]) { + me.map[cls] = true; + me.classes.push(cls); + if (!me.dirty) { + me.dirty = true; + me.owner.markDirty(); + } + } + }, + + + addMany: function (classes) { + Ext.each(splitWords(classes), this.add, this); + }, + + contains: function (cls) { + return this.map[cls]; + }, + + flush: function () { + this.owner.el.className = this.classes.join(' '); + this.dirty = false; + }, + + + remove: function (cls) { + var me = this; + + if (me.map[cls]) { + delete me.map[cls]; + me.classes = Ext.Array.filter(me.classes, function (c) { + return c != cls; + }); + if (!me.dirty) { + me.dirty = true; + me.owner.markDirty(); + } + } + }, + + + removeMany: function (classes) { + var me = this, + remove = toMap(splitWords(classes)); + + me.classes = Ext.Array.filter(me.classes, function (c) { + if (!remove[c]) { + return true; + } + + delete me.map[c]; + if (!me.dirty) { + me.dirty = true; + me.owner.markDirty(); + } + return false; + }); + } + }; +}())); + + +Ext.define('Ext.util.Queue', { + + constructor: function() { + this.clear(); + }, + + add : function(obj) { + var me = this, + key = me.getKey(obj); + + if (!me.map[key]) { + ++me.length; + me.items.push(obj); + me.map[key] = obj; + } + + return obj; + }, + + + clear : function(){ + var me = this, + items = me.items; + + me.items = []; + me.map = {}; + me.length = 0; + + return items; + }, + + contains: function (obj) { + var key = this.getKey(obj); + + return this.map.hasOwnProperty(key); + }, + + + getCount : function(){ + return this.length; + }, + + getKey : function(obj){ + return obj.id; + }, + + + remove : function(obj){ + var me = this, + key = me.getKey(obj), + items = me.items, + index; + + if (me.map[key]) { + index = Ext.Array.indexOf(items, obj); + Ext.Array.erase(items, index, 1); + delete me.map[key]; + --me.length; + } + + return obj; + } +}); + + +Ext.define('Ext.layout.ContextItem', { + + requires: ['Ext.layout.ClassList'], + + heightModel: null, + widthModel: null, + sizeModel: null, + + boxChildren: null, + + boxParent: null, + + children: [], + + dirty: null, + + + dirtyCount: 0, + + hasRawContent: true, + + isContextItem: true, + + isTopLevel: false, + + consumersContentHeight: 0, + consumersContentWidth: 0, + consumersContainerHeight: 0, + consumersContainerWidth: 0, + consumersHeight: 0, + consumersWidth: 0, + + ownerCtContext: null, + + remainingChildLayouts: 0, + remainingComponentChildLayouts: 0, + remainingContainerChildLayouts: 0, + + + props: null, + + + state: null, + + + wrapsComponent: false, + + constructor: function (config) { + var me = this, + el, ownerCt, ownerCtContext, sizeModel, target; + + Ext.apply(me, config); + + el = me.el; + me.id = el.id; + me.lastBox = el.lastBox; + + + + + + + + + + + + + + + + + + + + + + me.flushedProps = {}; + me.props = {}; + + + me.styles = {}; + + target = me.target; + if (target.isComponent) { + me.wrapsComponent = true; + + + + ownerCt = target.ownerCt; + if (ownerCt && (ownerCtContext = me.context.items[ownerCt.el.id])) { + me.ownerCtContext = ownerCtContext; + } + + + + me.sizeModel = sizeModel = target.getSizeModel(ownerCtContext && + ownerCtContext.widthModel.pairsByHeightOrdinal[ownerCtContext.heightModel.ordinal]); + + me.widthModel = sizeModel.width; + me.heightModel = sizeModel.height; + + + + + + + } + }, + + + init: function (full, options) { + var me = this, + oldProps = me.props, + oldDirty = me.dirty, + ownerCtContext = me.ownerCtContext, + ownerLayout = me.target.ownerLayout, + firstTime = !me.state, + ret = full || firstTime, + children, i, n, ownerCt, sizeModel, target, + oldHeightModel = me.heightModel, + oldWidthModel = me.widthModel, + newHeightModel, newWidthModel; + + me.dirty = me.invalid = false; + me.props = {}; + + if (me.boxChildren) { + me.boxChildren.length = 0; + } + + if (!firstTime) { + me.clearAllBlocks('blocks'); + me.clearAllBlocks('domBlocks'); + } + + + if (!me.wrapsComponent) { + return ret; + } + + + target = me.target; + me.state = {}; + + if (firstTime) { + + + if (target.beforeLayout) { + target.beforeLayout(); + } + + + + + + + + if (!ownerCtContext && (ownerCt = target.ownerCt)) { + ownerCtContext = me.context.items[ownerCt.el.id]; + } + + if (ownerCtContext) { + me.ownerCtContext = ownerCtContext; + me.isBoxParent = target.ownerLayout.isItemBoxParent(me); + } else { + me.isTopLevel = true; + } + + me.frameBodyContext = me.getEl('frameBody'); + } else { + ownerCtContext = me.ownerCtContext; + + + me.isTopLevel = !ownerCtContext; + + + + children = me.children; + for (i = 0, n = children.length; i < n; ++i) { + children[i].init(true); + } + } + + + + + me.hasRawContent = !(target.isContainer && target.items.items.length > 0); + + if (full) { + + + me.widthModel = me.heightModel = null; + sizeModel = target.getSizeModel(ownerCtContext && + ownerCtContext.widthModel.pairsByHeightOrdinal[ownerCtContext.heightModel.ordinal]); + + if (firstTime) { + me.sizeModel = sizeModel; + } + + me.widthModel = sizeModel.width; + me.heightModel = sizeModel.height; + } else if (oldProps) { + + + me.recoverProp('x', oldProps, oldDirty); + me.recoverProp('y', oldProps, oldDirty); + + + if (me.widthModel.calculated) { + me.recoverProp('width', oldProps, oldDirty); + } + if (me.heightModel.calculated) { + me.recoverProp('height', oldProps, oldDirty); + } + } + + if (oldProps && ownerLayout && ownerLayout.manageMargins) { + me.recoverProp('margin-top', oldProps, oldDirty); + me.recoverProp('margin-right', oldProps, oldDirty); + me.recoverProp('margin-bottom', oldProps, oldDirty); + me.recoverProp('margin-left', oldProps, oldDirty); + } + + + + if (options) { + + + + + + + + + + + + + + + + + + + + + + newHeightModel = options.heightModel; + newWidthModel = options.widthModel; + if (newWidthModel && newHeightModel && oldWidthModel && oldHeightModel) { + if (oldWidthModel.shrinkWrap && oldHeightModel.shrinkWrap) { + if (newWidthModel.constrainedMax && newHeightModel.constrainedMin) { + newHeightModel = null; + } + } + } + + + if (newWidthModel) { + me.widthModel = newWidthModel; + } + if (newHeightModel) { + me.heightModel = newHeightModel; + } + + if (options.state) { + Ext.apply(me.state, options.state); + } + } + + return ret; + }, + + + initContinue: function (full) { + var me = this, + ownerCtContext = me.ownerCtContext, + widthModel = me.widthModel, + boxParent; + + if (full) { + if (ownerCtContext && widthModel.shrinkWrap) { + boxParent = ownerCtContext.isBoxParent ? ownerCtContext : ownerCtContext.boxParent; + if (boxParent) { + boxParent.addBoxChild(me); + } + } else if (widthModel.natural) { + me.boxParent = ownerCtContext; + } + } + + return full; + }, + + + initDone: function (full, componentChildrenDone, containerChildrenDone, containerLayoutDone) { + var me = this, + props = me.props, + state = me.state; + + + if (componentChildrenDone) { + props.componentChildrenDone = true; + } + if (containerChildrenDone) { + props.containerChildrenDone = true; + } + if (containerLayoutDone) { + props.containerLayoutDone = true; + } + + if (me.boxChildren && me.boxChildren.length && me.widthModel.shrinkWrap) { + + + me.el.setWidth(10000); + + + state.blocks = (state.blocks || 0) + 1; + } + }, + + + initAnimation: function() { + var me = this, + target = me.target, + ownerCtContext = me.ownerCtContext; + + if (ownerCtContext && ownerCtContext.isTopLevel) { + + + me.animatePolicy = target.ownerLayout.getAnimatePolicy(me); + } else if (!ownerCtContext && target.isCollapsingOrExpanding && target.animCollapse) { + + + + me.animatePolicy = target.componentLayout.getAnimatePolicy(me); + } + + if (me.animatePolicy) { + me.context.queueAnimation(me); + } + }, + + noFraming: { left: 0, top: 0, right: 0, bottom: 0, width: 0, height: 0 }, + + + addCls: function(newCls) { + this.getClassList().addMany(newCls); + }, + + + removeCls: function(removeCls) { + this.getClassList().removeMany(removeCls); + }, + + + addBlock: function (name, layout, propName) { + var me = this, + collection = me[name] || (me[name] = {}), + blockedLayouts = collection[propName] || (collection[propName] = {}); + + if (!blockedLayouts[layout.id]) { + blockedLayouts[layout.id] = layout; + ++layout.blockCount; + ++me.context.blockCount; + } + }, + + addBoxChild: function (boxChildItem) { + var me = this, + children, + widthModel = boxChildItem.widthModel; + + boxChildItem.boxParent = this; + + + + + + + + boxChildItem.measuresBox = widthModel.shrinkWrap ? boxChildItem.hasRawContent : widthModel.natural; + + if (boxChildItem.measuresBox) { + children = me.boxChildren; + + if (children) { + children.push(boxChildItem); + } else { + me.boxChildren = [ boxChildItem ]; + } + } + }, + + + addTrigger: function (propName, inDom) { + var me = this, + name = inDom ? 'domTriggers' : 'triggers', + collection = me[name] || (me[name] = {}), + context = me.context, + layout = context.currentLayout, + triggers = collection[propName] || (collection[propName] = {}); + + if (!triggers[layout.id]) { + triggers[layout.id] = layout; + ++layout.triggerCount; + + triggers = context.triggers[inDom ? 'dom' : 'data']; + (triggers[layout.id] || (triggers[layout.id] = [])).push({ + item: this, + prop: propName + }); + + if (me.props[propName] !== undefined) { + if (!inDom || !(me.dirty && (propName in me.dirty))) { + ++layout.firedTriggers; + } + } + } + }, + + boxChildMeasured: function () { + var me = this, + state = me.state, + count = (state.boxesMeasured = (state.boxesMeasured || 0) + 1); + + if (count == me.boxChildren.length) { + + + state.clearBoxWidth = 1; + ++me.context.progressCount; + me.markDirty(); + } + }, + + borderNames: [ 'border-top-width', 'border-right-width', 'border-bottom-width', 'border-left-width'], + marginNames: [ 'margin-top', 'margin-right', 'margin-bottom', 'margin-left' ], + paddingNames: [ 'padding-top', 'padding-right', 'padding-bottom', 'padding-left' ], + trblNames: [ 'top', 'right', 'bottom', 'left' ], + + cacheMissHandlers: { + borderInfo: function (me) { + var info = me.getStyles(me.borderNames, me.trblNames); + + info.width = info.left + info.right; + info.height = info.top + info.bottom; + + return info; + }, + + marginInfo: function (me) { + var info = me.getStyles(me.marginNames, me.trblNames); + + info.width = info.left + info.right; + info.height = info.top + info.bottom; + + return info; + }, + + paddingInfo: function (me) { + + var item = me.frameBodyContext || me, + info = item.getStyles(me.paddingNames, me.trblNames); + + info.width = info.left + info.right; + info.height = info.top + info.bottom; + + return info; + } + }, + + checkCache: function (entry) { + return this.cacheMissHandlers[entry](this); + }, + + clearAllBlocks: function (name) { + var collection = this[name], + propName; + + if (collection) { + for (propName in collection) { + this.clearBlocks(name, propName); + } + } + }, + + + clearBlocks: function (name, propName) { + var collection = this[name], + blockedLayouts = collection && collection[propName], + context, layout, layoutId; + + if (blockedLayouts) { + delete collection[propName]; + + context = this.context; + + for (layoutId in blockedLayouts) { + layout = blockedLayouts[layoutId]; + + --context.blockCount; + if (! --layout.blockCount && !layout.pending && !layout.done) { + context.queueLayout(layout); + } + } + } + }, + + + block: function (layout, propName) { + this.addBlock('blocks', layout, propName); + }, + + + domBlock: function (layout, propName) { + this.addBlock('domBlocks', layout, propName); + }, + + + fireTriggers: function (name, propName) { + var collection = this[name], + triggers = collection && collection[propName], + context = this.context, + layout, layoutId; + + if (triggers) { + for (layoutId in triggers) { + layout = triggers[layoutId]; + ++layout.firedTriggers; + if (!layout.done && !layout.blockCount && !layout.pending) { + context.queueLayout(layout); + } + } + } + }, + + + flush: function () { + var me = this, + dirty = me.dirty, + state = me.state, + targetEl = me.el; + + me.dirtyCount = 0; + + + if (me.classList && me.classList.dirty) { + me.classList.flush(); + } + + + if ('attributes' in me) { + targetEl.set(me.attributes); + delete me.attributes; + } + + + if ('innerHTML' in me) { + targetEl.innerHTML = me.innerHTML; + delete me.innerHTML; + } + + if (state && state.clearBoxWidth) { + state.clearBoxWidth = 0; + me.el.setStyle('width', null); + + if (! --state.blocks) { + me.context.queueItemLayouts(me); + } + } + + if (dirty) { + delete me.dirty; + me.writeProps(dirty, true); + } + }, + + + flushAnimations: function() { + var me = this, + animateFrom = me.lastBox, + target, targetAnim, duration, animateProps, anim, + changeCount, j, propsLen, propName, oldValue, newValue; + + + if (animateFrom) { + target = me.target; + targetAnim = target.layout && target.layout.animate; + if (targetAnim) { + duration = Ext.isNumber(targetAnim) ? targetAnim : targetAnim.duration; + } + animateProps = Ext.Object.getKeys(me.animatePolicy); + + + + anim = Ext.apply({}, { + from: {}, + to: {}, + duration: duration || Ext.fx.Anim.prototype.duration + }, targetAnim); + + for (changeCount = 0, j = 0, propsLen = animateProps.length; j < propsLen; j++) { + propName = animateProps[j]; + oldValue = animateFrom[propName]; + newValue = me.peek(propName); + if (oldValue != newValue) { + propName = me.translateProps[propName]||propName; + anim.from[propName] = oldValue; + anim.to[propName] = newValue; + ++changeCount; + } + } + + + if (changeCount) { + + if (me.isCollapsingOrExpanding === 1) { + target.componentLayout.undoLayout(me); + } + + + else { + me.writeProps(anim.from); + } + me.el.animate(anim); + + Ext.fx.Manager.getFxQueue(me.el.id)[0].on({ + afteranimate: function() { + if (me.isCollapsingOrExpanding === 1) { + target.componentLayout.redoLayout(me); + target.afterCollapse(true); + } else if (me.isCollapsingOrExpanding === 2) { + target.afterExpand(true); + } + } + }); + } + } + }, + + + getBorderInfo: function () { + var me = this, + info = me.borderInfo; + + if (!info) { + me.borderInfo = info = me.checkCache('borderInfo'); + } + + return info; + }, + + + getClassList: function () { + return this.classList || (this.classList = new Ext.layout.ClassList(this)); + }, + + + getEl: function (nameOrEl, owner) { + var me = this, + src, el, elContext; + + if (nameOrEl) { + if (nameOrEl.dom) { + el = nameOrEl; + } else { + src = me.target; + if (owner) { + src = owner; + } + + el = src[nameOrEl]; + if (typeof el == 'function') { + el = el.call(src); + if (el === me.el) { + return this; + } + } + } + + if (el) { + elContext = me.context.getEl(me, el); + } + } + + return elContext || null; + }, + + getFraming: function () { + var me = this; + if (!me.framingInfo) { + me.framingInfo = me.target.frameSize || me.noFraming; + } + return me.framingInfo; + }, + + + getFrameInfo: function () { + var me = this, + info = me.frameInfo, + frame, border; + + if (!info) { + frame = me.getFraming(); + border = me.getBorderInfo(); + + me.frameInfo = info = { + top : frame.top + border.top, + right : frame.right + border.right, + bottom: frame.bottom + border.bottom, + left : frame.left + border.left, + width : frame.width + border.width, + height: frame.height + border.height + }; + } + + return info; + }, + + + getMarginInfo: function () { + var me = this, + info = me.marginInfo, + comp, manageMargins, margins, ownerLayout, ownerLayoutId; + + if (!info) { + if (!me.wrapsComponent) { + info = me.checkCache('marginInfo'); + } else { + comp = me.target; + ownerLayout = comp.ownerLayout; + ownerLayoutId = ownerLayout ? ownerLayout.id : null; + manageMargins = ownerLayout && ownerLayout.manageMargins; + + + + + + + + + + + + + + + + + info = comp.margin$; + if (info && info.ownerId !== ownerLayoutId) { + + info = null; + + + + + } + + if (!info) { + + info = me.parseMargins(comp.margin) || me.checkCache('marginInfo'); + + + if (manageMargins) { + margins = me.parseMargins(comp.margins, ownerLayout.defaultMargins); + + if (margins) { + + info = { + top: info.top + margins.top, + right: info.right + margins.right, + bottom: info.bottom + margins.bottom, + left: info.left + margins.left + }; + } + + me.setProp('margin-top', 0); + me.setProp('margin-right', 0); + me.setProp('margin-bottom', 0); + me.setProp('margin-left', 0); + } + + + info.ownerId = ownerLayoutId; + comp.margin$ = info; + } + + info.width = info.left + info.right; + info.height = info.top + info.bottom; + } + + me.marginInfo = info; + } + + return info; + }, + + + clearMarginCache: function() { + delete this.marginInfo; + delete this.target.margin$; + }, + + + getPaddingInfo: function () { + var me = this, + info = me.paddingInfo; + + if (!info) { + me.paddingInfo = info = me.checkCache('paddingInfo'); + } + + return info; + }, + + + getProp: function (propName) { + var me = this, + result = me.props[propName]; + + me.addTrigger(propName); + return result; + }, + + + getDomProp: function (propName) { + var me = this, + result = (me.dirty && (propName in me.dirty)) ? undefined : me.props[propName]; + + me.addTrigger(propName, true); + return result; + }, + + + getStyle: function (styleName) { + var me = this, + styles = me.styles, + info, value; + + if (styleName in styles) { + value = styles[styleName]; + } else { + info = me.styleInfo[styleName]; + value = me.el.getStyle(styleName); + + if (info && info.parseInt) { + value = parseInt(value, 10) || 0; + } + + styles[styleName] = value; + } + + return value; + }, + + + getStyles: function (styleNames, altNames) { + var me = this, + styleCache = me.styles, + values = {}, + hits = 0, + n = styleNames.length, + i, missing, missingAltNames, name, info, styleInfo, styles, value; + + altNames = altNames || styleNames; + + + + for (i = 0; i < n; ++i) { + name = styleNames[i]; + + if (name in styleCache) { + values[altNames[i]] = styleCache[name]; + ++hits; + + if (i && hits==1) { + missing = styleNames.slice(0, i); + missingAltNames = altNames.slice(0, i); + } + } else if (hits) { + (missing || (missing = [])).push(name); + (missingAltNames || (missingAltNames = [])).push(altNames[i]); + } + } + + if (hits < n) { + missing = missing || styleNames; + missingAltNames = missingAltNames || altNames; + styleInfo = me.styleInfo; + + styles = me.el.getStyle(missing); + + for (i = missing.length; i--; ) { + name = missing[i]; + info = styleInfo[name]; + value = styles[name]; + + if (info && info.parseInt) { + value = parseInt(value, 10) || 0; + } + + values[missingAltNames[i]] = value; + styleCache[name] = value; + } + } + + return values; + }, + + + hasProp: function (propName) { + var value = this.getProp(propName); + return typeof value != 'undefined'; + }, + + + hasDomProp: function (propName) { + var value = this.getDomProp(propName); + return typeof value != 'undefined'; + }, + + + invalidate: function (options) { + this.context.queueInvalidate(this, options); + }, + + markDirty: function () { + if (++this.dirtyCount == 1) { + + this.context.queueFlush(this); + } + }, + + onBoxMeasured: function () { + var boxParent = this.boxParent, + state = this.state; + + if (boxParent && boxParent.widthModel.shrinkWrap && !state.boxMeasured && this.measuresBox) { + + + state.boxMeasured = 1; + boxParent.boxChildMeasured(); + } + }, + + parseMargins: function (margins, defaultMargins) { + if (margins === true) { + margins = 5; + } + + var type = typeof margins, + ret; + + if (type == 'string' || type == 'number') { + ret = Ext.util.Format.parseBox(margins); + } else if (margins || defaultMargins) { + ret = { top: 0, right: 0, bottom: 0, left: 0 }; + + if (defaultMargins) { + Ext.apply(ret, this.parseMargins(defaultMargins)); + } + + Ext.apply(ret, margins); + } + + return ret; + }, + + peek: function (propName) { + return this.props[propName]; + }, + + + recoverProp: function (propName, oldProps, oldDirty) { + var me = this, + props = me.props, + dirty; + + if (propName in oldProps) { + props[propName] = oldProps[propName]; + + if (oldDirty && propName in oldDirty) { + dirty = me.dirty || (me.dirty = {}); + dirty[propName] = oldDirty[propName]; + } + } + }, + + redo: function(deep) { + var me = this, + items, len, i; + + me.revertProps(me.props); + + if (deep && me.wrapsComponent) { + + if (me.childItems) { + for (i = 0, items = me.childItems, len = items.length; i < len; i++) { + items[i].redo(deep); + } + } + + + for (i = 0, items = me.children, len = items.length; i < len; i++) { + items[i].redo(); + } + } + }, + + revertProps: function (props) { + var name, + flushed = this.flushedProps, + reverted = {}; + + for (name in props) { + if (flushed.hasOwnProperty(name)) { + reverted[name] = props[name]; + } + } + + this.writeProps(reverted); + }, + + + setAttribute: function(name, value) { + var me = this; + if (!me.attributes) { + me.attributes = {}; + } + me.attributes[name] = value; + me.markDirty(); + }, + + setBox: function (box) { + var me = this; + + if ('left' in box) { + me.setProp('x', box.left); + } + if ('top' in box) { + me.setProp('y', box.top); + } + + + + + me.setSize(box.width, box.height); + }, + + + setContentHeight: function (height, measured) { + if (!measured && this.hasRawContent) { + return 1; + } + + return this.setProp('contentHeight', height); + }, + + + setContentWidth: function (width, measured) { + if (!measured && this.hasRawContent) { + return 1; + } + + return this.setProp('contentWidth', width); + }, + + + setContentSize: function (width, height, measured) { + return this.setContentWidth(width, measured) + + this.setContentHeight(height, measured) == 2; + }, + + + setProp: function (propName, value, dirty) { + var me = this, + valueType = typeof value, + borderBox, info; + + if (valueType == 'undefined' || (valueType === 'number' && isNaN(value))) { + return 0; + } + if (me.props[propName] === value) { + return 1; + } + + me.props[propName] = value; + ++me.context.progressCount; + + if (dirty === false) { + + + me.fireTriggers('domTriggers', propName); + me.clearBlocks('domBlocks', propName); + } else { + info = me.styleInfo[propName]; + if (info) { + if (!me.dirty) { + me.dirty = {}; + } + + if (propName == 'width' || propName == 'height') { + borderBox = me.isBorderBoxValue; + if (borderBox == null) { + me.isBorderBoxValue = borderBox = !!me.el.isBorderBox(); + } + + if (!borderBox) { + me.borderInfo || me.getBorderInfo(); + me.paddingInfo || me.getPaddingInfo(); + } + } + me.dirty[propName] = value; + me.markDirty(); + } + } + + + me.fireTriggers('triggers', propName); + me.clearBlocks('blocks', propName); + return 1; + }, + + + setHeight: function (height, dirty ) { + var me = this, + comp = me.target, + frameBody, frameInfo, padding; + + if (height < 0) { + height = 0; + } + if (!me.wrapsComponent) { + if (!me.setProp('height', height, dirty)) { + return NaN; + } + } else { + height = Ext.Number.constrain(height, comp.minHeight || 0, comp.maxHeight); + if (!me.setProp('height', height, dirty)) { + return NaN; + } + + frameBody = me.frameBodyContext; + if (frameBody){ + frameInfo = me.getFrameInfo(); + frameBody.setHeight(height - frameInfo.height, dirty); + } + } + + return height; + }, + + + setWidth: function (width, dirty ) { + var me = this, + comp = me.target, + frameBody, frameInfo, padding; + + if (width < 0) { + width = 0; + } + if (!me.wrapsComponent) { + if (!me.setProp('width', width, dirty)) { + return NaN; + } + } else { + width = Ext.Number.constrain(width, comp.minWidth || 0, comp.maxWidth); + if (!me.setProp('width', width, dirty)) { + return NaN; + } + + + frameBody = me.frameBodyContext; + if (frameBody) { + frameInfo = me.getFrameInfo(); + frameBody.setWidth(width - frameInfo.width, dirty); + } + + + } + + return width; + }, + + setSize: function (width, height, dirty) { + this.setWidth(width, dirty); + this.setHeight(height, dirty); + }, + + translateProps: { + x: 'left', + y: 'top' + }, + + undo: function(deep) { + var me = this, + items, len, i; + + me.revertProps(me.lastBox); + + if (deep && me.wrapsComponent) { + + if (me.childItems) { + for (i = 0, items = me.childItems, len = items.length; i < len; i++) { + items[i].undo(deep); + } + } + + + for (i = 0, items = me.children, len = items.length; i < len; i++) { + items[i].undo(); + } + } + }, + + unsetProp: function (propName) { + var dirty = this.dirty; + + delete this.props[propName]; + if (dirty) { + delete dirty[propName]; + } + }, + + writeProps: function(dirtyProps, flushing) { + if (!(dirtyProps && typeof dirtyProps == 'object')) { + return; + } + + var me = this, + el = me.el, + styles = {}, + styleCount = 0, + styleInfo = me.styleInfo, + + info, + propName, + numericValue, + + dirtyX = 'x' in dirtyProps, + dirtyY = 'y' in dirtyProps, + x = dirtyProps.x, + y = dirtyProps.y, + + width = dirtyProps.width, + height = dirtyProps.height, + isBorderBox = me.isBorderBoxValue, + target = me.target, + max = Math.max, + paddingWidth = 0, + paddingHeight = 0, + hasWidth, hasHeight, isAbsolute, scrollbarSize, style, targetEl; + + + if ('displayed' in dirtyProps) { + el.setDisplayed(dirtyProps.displayed); + } + + + for (propName in dirtyProps) { + if (flushing) { + me.fireTriggers('domTriggers', propName); + me.clearBlocks('domBlocks', propName); + me.flushedProps[propName] = 1; + } + + info = styleInfo[propName]; + if (info && info.dom) { + + if (info.suffix && (numericValue = parseInt(dirtyProps[propName], 10))) { + styles[propName] = numericValue + info.suffix; + } + + else { + styles[propName] = dirtyProps[propName]; + } + ++styleCount; + } + } + + + if (dirtyX || dirtyY) { + if (target.isComponent) { + + target.setPosition(x||me.props.x, y||me.props.y); + } else { + + if (dirtyX) { + styles.left = x + 'px'; + ++styleCount; + } + if (dirtyY) { + styles.top = y + 'px'; + ++styleCount; + } + } + } + + + if (!isBorderBox && (width > 0 || height > 0)) { + + + if(!me.frameBodyContext) { + + paddingWidth = me.paddingInfo.width; + paddingHeight = me.paddingInfo.height; + } + if (width) { + width = max(parseInt(width, 10) - (me.borderInfo.width + paddingWidth), 0); + styles.width = width + 'px'; + ++styleCount; + } + if (height) { + height = max(parseInt(height, 10) - (me.borderInfo.height + paddingHeight), 0); + styles.height = height + 'px'; + ++styleCount; + } + } + + + + + + + + if (me.wrapsComponent && Ext.isIE9 && Ext.isStrict) { + + + if ((hasWidth = width !== undefined && me.hasOverflowY) || + (hasHeight = height !== undefined && me.hasOverflowX)) { + + isAbsolute = me.isAbsolute; + if (isAbsolute === undefined) { + isAbsolute = false; + targetEl = me.target.getTargetEl(); + style = targetEl.getStyle('position'); + + if (style == 'absolute') { + style = targetEl.getStyle('box-sizing'); + isAbsolute = (style == 'border-box'); + } + + me.isAbsolute = isAbsolute; + } + + if (isAbsolute) { + scrollbarSize = Ext.getScrollbarSize(); + + if (hasWidth) { + width = parseInt(width, 10) + scrollbarSize.width; + styles.width = width + 'px'; + ++styleCount; + } + if (hasHeight) { + height = parseInt(height, 10) + scrollbarSize.height; + styles.height = height + 'px'; + ++styleCount; + } + } + } + } + + + if (styleCount) { + el.setStyle(styles); + } + } +}, function () { + + var px = { dom: true, parseInt: true, suffix: 'px' }, + isDom = { dom: true }, + faux = { dom: false }; + + + + + + + + + + this.prototype.styleInfo = { + childrenDone: faux, + componentChildrenDone: faux, + containerChildrenDone: faux, + containerLayoutDone: faux, + displayed: faux, + done: faux, + x: faux, + y: faux, + + + columnWidthsDone: faux, + + left: px, + top: px, + right: px, + bottom: px, + width: px, + height: px, + + 'border-top-width': px, + 'border-right-width': px, + 'border-bottom-width': px, + 'border-left-width': px, + + 'margin-top': px, + 'margin-right': px, + 'margin-bottom': px, + 'margin-left': px, + + 'padding-top': px, + 'padding-right': px, + 'padding-bottom': px, + 'padding-left': px, + + 'line-height': isDom, + display: isDom + }; +}); + + +Ext.define('Ext.layout.Context', { + requires: [ + 'Ext.util.Queue', + 'Ext.layout.ContextItem', + 'Ext.layout.Layout', + 'Ext.fx.Anim', + 'Ext.fx.Manager' + ], + + remainingLayouts: 0, + + + state: 0, + + constructor: function (config) { + var me = this; + + Ext.apply(me, config); + + + me.items = {}; + + + me.layouts = {}; + + + me.blockCount = 0; + + me.cycleCount = 0; + + me.flushCount = 0; + + me.calcCount = 0; + + me.animateQueue = me.newQueue(); + me.completionQueue = me.newQueue(); + me.finalizeQueue = me.newQueue(); + me.finishQueue = me.newQueue(); + me.flushQueue = me.newQueue(); + + me.invalidateData = {}; + + + me.layoutQueue = me.newQueue(); + + + + me.invalidQueue = []; + + me.triggers = { + data: { + + }, + dom: {} + }; + }, + + callLayout: function (layout, methodName) { + this.currentLayout = layout; + layout[methodName](this.getCmp(layout.owner)); + }, + + cancelComponent: function (comp, isChild, isDestroying) { + var me = this, + components = comp, + isArray = !comp.isComponent, + length = isArray ? components.length : 1, + i, k, klen, items, layout, newQueue, oldQueue, entry, temp, + ownerCtContext; + + for (i = 0; i < length; ++i) { + if (isArray) { + comp = components[i]; + } + + + if (isDestroying && comp.ownerCt) { + ownerCtContext = this.items[comp.ownerCt.el.id]; + if (ownerCtContext) { + Ext.Array.remove(ownerCtContext.childItems, me.getCmp(comp)); + } + } + + if (!isChild) { + oldQueue = me.invalidQueue; + klen = oldQueue.length; + + if (klen) { + me.invalidQueue = newQueue = []; + for (k = 0; k < klen; ++k) { + entry = oldQueue[k]; + temp = entry.item.target; + if (temp != comp && !temp.isDescendant(comp)) { + newQueue.push(entry); + } + } + } + } + + layout = comp.componentLayout; + me.cancelLayout(layout); + + if (layout.getLayoutItems) { + items = layout.getLayoutItems(); + if (items.length) { + me.cancelComponent(items, true); + } + } + + if (comp.isContainer && !comp.collapsed) { + layout = comp.layout; + me.cancelLayout(layout); + + items = layout.getVisibleItems(); + if (items.length) { + me.cancelComponent(items, true); + } + } + } + }, + + cancelLayout: function (layout) { + var me = this; + + me.completionQueue.remove(layout); + me.finalizeQueue.remove(layout); + me.finishQueue.remove(layout); + me.layoutQueue.remove(layout); + + if (layout.running) { + me.layoutDone(layout); + } + + layout.ownerContext = null; + }, + + clearTriggers: function (layout, inDom) { + var id = layout.id, + collection = this.triggers[inDom ? 'dom' : 'data'], + triggers = collection && collection[id], + length = (triggers && triggers.length) || 0, + collection, i, item, trigger; + + for (i = 0; i < length; ++i) { + trigger = triggers[i]; + item = trigger.item; + + collection = inDom ? item.domTriggers : item.triggers; + delete collection[trigger.prop][id]; + } + }, + + + flush: function () { + var me = this, + items = me.flushQueue.clear(), + length = items.length, i; + + if (length) { + ++me.flushCount; + + for (i = 0; i < length; ++i) { + items[i].flush(); + } + } + }, + + flushAnimations: function() { + var me = this, + items = me.animateQueue.clear(), + len = items.length, + i; + + if (len) { + for (i = 0; i < len; i++) { + + + + if (items[i].target.animate !== false) { + items[i].flushAnimations(); + } + } + + + + Ext.fx.Manager.runner(); + } + }, + + flushInvalidates: function () { + var me = this, + queue = me.invalidQueue, + length = queue && queue.length, + comp, components, entry, i; + + me.invalidQueue = []; + + if (length) { + components = []; + for (i = 0; i < length; ++i) { + comp = (entry = queue[i]).item.target; + + + + + if (!comp.container.isDetachedBody) { + components.push(comp); + + if (entry.options) { + me.invalidateData[comp.id] = entry.options; + } + } + } + + me.invalidate(components, null); + } + }, + + flushLayouts: function (queueName, methodName, dontClear) { + var me = this, + layouts = dontClear ? me[queueName].items : me[queueName].clear(), + length = layouts.length, + i, layout; + + if (length) { + for (i = 0; i < length; ++i) { + layout = layouts[i]; + if (!layout.running) { + me.callLayout(layout, methodName); + } + } + me.currentLayout = null; + } + }, + + + getCmp: function (cmp) { + return this.getItem(cmp, cmp.el); + }, + + + getEl: function (parent, el) { + var item = this.getItem(el, el); + + if (!item.parent) { + item.parent = parent; + + + + + if (parent.children.length) { + parent.children.push(item); + } else { + parent.children = [ item ]; + } + } + + return item; + }, + + getItem: function (target, el) { + var id = el.id, + items = this.items, + item = items[id] || + (items[id] = new Ext.layout.ContextItem({ + context: this, + target: target, + el: el + })); + + return item; + }, + + handleFailure: function () { + + + + var layouts = this.layouts, + layout, key; + + Ext.failedLayouts = (Ext.failedLayouts || 0) + 1; + + for (key in layouts) { + layout = layouts[key]; + + if (layouts.hasOwnProperty(key)) { + layout.running = false; + layout.ownerContext = null; + } + } + }, + + + invalidate: function (components, full) { + var me = this, + isArray = !components.isComponent, + componentChildrenDone, containerChildrenDone, containerLayoutDone, + firstTime, i, comp, item, items, length, componentLayout, layout, + invalidateOptions, token; + + for (i = 0, length = isArray ? components.length : 1; i < length; ++i) { + comp = isArray ? components[i] : components; + + if (comp.rendered && !comp.hidden) { + item = me.getCmp(comp); + componentLayout = comp.componentLayout; + firstTime = !componentLayout.ownerContext; + layout = (comp.isContainer && !comp.collapsed) ? comp.layout : null; + + + invalidateOptions = me.invalidateData[item.id]; + delete me.invalidateData[item.id]; + + + + + + + + token = item.init(full, invalidateOptions); + + if (invalidateOptions) { + me.processInvalidate(invalidateOptions, item, 'before'); + } + + + + + if (componentLayout.beforeLayoutCycle) { + componentLayout.beforeLayoutCycle(item); + } + + + + token = item.initContinue(token); + + + + componentChildrenDone = containerChildrenDone = containerLayoutDone = true; + + + + + + if (componentLayout.getLayoutItems) { + componentLayout.renderChildren(); + + items = componentLayout.getLayoutItems(); + if (items.length) { + me.invalidate(items, true); + componentChildrenDone = false; + } + } + + if (layout) { + containerLayoutDone = false; + layout.renderChildren(); + + items = layout.getVisibleItems(); + if (items.length) { + me.invalidate(items, true); + containerChildrenDone = false; + } + } + + + + item.initDone(token, componentChildrenDone, containerChildrenDone, + containerLayoutDone); + + + + me.resetLayout(componentLayout, item, firstTime); + if (layout) { + me.resetLayout(layout, item, firstTime); + } + + + + + item.initAnimation(); + + if (invalidateOptions) { + me.processInvalidate(invalidateOptions, item, 'after'); + } + } + } + + me.currentLayout = null; + }, + + layoutDone: function (layout) { + var ownerContext = layout.ownerContext, + ownerCtContext; + + layout.running = false; + + + + + if (layout.isComponentLayout) { + if (ownerContext.measuresBox) { + ownerContext.onBoxMeasured(); + } + + ownerContext.setProp('done', true); + + ownerCtContext = ownerContext.ownerCtContext; + if (ownerCtContext) { + if (ownerContext.target.ownerLayout.isComponentLayout) { + if (! --ownerCtContext.remainingComponentChildLayouts) { + ownerCtContext.setProp('componentChildrenDone', true); + } + } else { + if (! --ownerCtContext.remainingContainerChildLayouts) { + ownerCtContext.setProp('containerChildrenDone', true); + } + } + if (! --ownerCtContext.remainingChildLayouts) { + ownerCtContext.setProp('childrenDone', true); + } + } + } else { + ownerContext.setProp('containerLayoutDone', true); + } + + --this.remainingLayouts; + ++this.progressCount; + }, + + newQueue: function () { + return new Ext.util.Queue(); + }, + + processInvalidate: function (options, item, name) { + + + if (options[name]) { + var me = this, + currentLayout = me.currentLayout; + + me.currentLayout = options.layout || null; + + options[name](item, options); + + me.currentLayout = currentLayout; + } + }, + + + queueAnimation: function (item) { + this.animateQueue.add(item); + }, + + + queueCompletion: function (layout) { + this.completionQueue.add(layout); + }, + + + queueFinalize: function (layout) { + this.finalizeQueue.add(layout); + }, + + + queueFlush: function (item) { + this.flushQueue.add(item); + }, + + chainFns: function (oldOptions, newOptions, funcName) { + var me = this, + oldLayout = oldOptions.layout, + newLayout = newOptions.layout, + oldFn = oldOptions[funcName], + newFn = newOptions[funcName]; + + + + return function (contextItem) { + var prev = me.currentLayout; + if (oldFn) { + me.currentLayout = oldLayout; + oldFn.call(oldOptions.scope || oldOptions, contextItem, oldOptions); + } + me.currentLayout = newLayout; + newFn.call(newOptions.scope || newOptions, contextItem, newOptions); + me.currentLayout = prev; + }; + }, + + + queueInvalidate: function (item, options) { + var me = this, + newQueue = [], + oldQueue = me.invalidQueue, + index = oldQueue.length, + comp, old, oldComp, oldOptions, oldState; + + if (item.isComponent) { + item = me.getCmp(comp = item); + } else { + comp = item.target; + } + + item.invalid = true; + + + + + while (index--) { + old = oldQueue[index]; + oldComp = old.item.target; + + if (comp.isDescendant(oldComp)) { + return; + } + + if (oldComp == comp) { + + if (!(oldOptions = old.options)) { + old.options = options; + } else if (options) { + if (options.widthModel) { + oldOptions.widthModel = options.widthModel; + } + if (options.heightModel) { + oldOptions.heightModel = options.heightModel; + } + if (!(oldState = oldOptions.state)) { + oldOptions.state = options.state; + } else if (options.state) { + Ext.apply(oldState, options.state); + } + + if (options.before) { + oldOptions.before = me.chainFns(oldOptions, options, 'before'); + } + if (options.after) { + oldOptions.after = me.chainFns(oldOptions, options, 'after'); + } + } + + + return; + } + + if (!oldComp.isDescendant(comp)) { + newQueue.push(old); + } + + } + + + + + newQueue.push({ item: item, options: options }); + + me.invalidQueue = newQueue; + }, + + queueItemLayouts: function (item) { + var comp = item.isComponent ? item : item.target, + layout = comp.componentLayout; + + if (!layout.pending && !layout.invalid && !layout.done) { + this.queueLayout(layout); + } + + layout = comp.layout; + if (layout && !layout.pending && !layout.invalid && !layout.done) { + this.queueLayout(layout); + } + }, + + + queueLayout: function (layout) { + this.layoutQueue.add(layout); + layout.pending = true; + }, + + + resetLayout: function (layout, ownerContext, firstTime) { + var me = this, + ownerCtContext; + + me.currentLayout = layout; + + layout.done = false; + layout.pending = true; + layout.firedTriggers = 0; + + me.layoutQueue.add(layout); + + if (firstTime) { + me.layouts[layout.id] = layout; + layout.running = true; + + if (layout.finishedLayout) { + me.finishQueue.add(layout); + } + + + + ++me.remainingLayouts; + ++layout.layoutCount; + + layout.ownerContext = ownerContext; + layout.beginCount = 0; + layout.blockCount = 0; + layout.calcCount = 0; + layout.triggerCount = 0; + + + if (layout.isComponentLayout && (ownerCtContext = ownerContext.ownerCtContext)) { + + + + + if (ownerContext.target.ownerLayout.isComponentLayout) { + ++ownerCtContext.remainingComponentChildLayouts; + } else { + ++ownerCtContext.remainingContainerChildLayouts; + } + ++ownerCtContext.remainingChildLayouts; + } + + if (!layout.initialized) { + layout.initLayout(); + } + + layout.beginLayout(ownerContext); + } else { + ++layout.beginCount; + + if (!layout.running) { + + ++me.remainingLayouts; + layout.running = true; + + if (layout.isComponentLayout) { + + + + ownerContext.unsetProp('done'); + + + + + ownerCtContext = ownerContext.ownerCtContext; + if (ownerCtContext) { + if (ownerContext.target.ownerLayout.isComponentLayout) { + if (++ownerCtContext.remainingComponentChildLayouts == 1) { + ownerCtContext.unsetProp('componentChildrenDone'); + } + } else { + if (++ownerCtContext.remainingContainerChildLayouts == 1) { + ownerCtContext.unsetProp('containerChildrenDone'); + } + } + if (++ownerCtContext.remainingChildLayouts == 1) { + ownerCtContext.unsetProp('childrenDone'); + } + } + } + + + me.completionQueue.remove(layout); + me.finalizeQueue.remove(layout); + } + } + + layout.beginLayoutCycle(ownerContext, firstTime); + }, + + + run: function () { + var me = this, + flushed = false, + watchDog = 100; + + me.flushInvalidates(); + + me.state = 1; + me.totalCount = me.layoutQueue.getCount(); + + + + + + + + me.flush(); + + + while ((me.remainingLayouts || me.invalidQueue.length) && watchDog--) { + if (me.invalidQueue.length) { + me.flushInvalidates(); + } + + + if (me.runCycle()) { + flushed = false; + + } else if (!flushed) { + + + me.flush(); + flushed = true; + + me.flushLayouts('completionQueue', 'completeLayout'); + } else { + + me.state = 2; + break; + } + + if (!(me.remainingLayouts || me.invalidQueue.length)) { + me.flush(); + me.flushLayouts('completionQueue', 'completeLayout'); + me.flushLayouts('finalizeQueue', 'finalizeLayout'); + } + } + + return me.runComplete(); + }, + + runComplete: function () { + var me = this; + + me.state = 2; + + if (me.remainingLayouts) { + me.handleFailure(); + return false; + } + + me.flush(); + + + me.flushLayouts('finishQueue', 'finishedLayout', true); + + + me.flushLayouts('finishQueue', 'notifyOwner'); + + me.flush(); + + me.flushAnimations(); + + return true; + }, + + + runCycle: function () { + var me = this, + layouts = me.layoutQueue.clear(), + length = layouts.length, + i; + + ++me.cycleCount; + + + + me.progressCount = 0; + + for (i = 0; i < length; ++i) { + me.runLayout(me.currentLayout = layouts[i]); + } + + me.currentLayout = null; + + return me.progressCount > 0; + }, + + + runLayout: function (layout) { + var me = this, + ownerContext = me.getCmp(layout.owner); + + layout.pending = false; + + if (ownerContext.state.blocks) { + return; + } + + + + + + layout.done = true; + + ++layout.calcCount; + ++me.calcCount; + + layout.calculate(ownerContext); + + if (layout.done) { + me.layoutDone(layout); + + if (layout.completeLayout) { + me.queueCompletion(layout); + } + if (layout.finalizeLayout) { + me.queueFinalize(layout); + } + } else if (!layout.pending && !layout.invalid && !(layout.blockCount + layout.triggerCount - layout.firedTriggers)) { + + + me.queueLayout(layout); + } + }, + + + setItemSize: function(item, width, height) { + var items = item, + len = 1, + contextItem, i; + + + + + + + + if (item.isComposite) { + items = item.elements; + len = items.length; + item = items[0]; + } else if (!item.dom && !item.el) { + len = items.length; + item = items[0]; + } + + + for (i = 0; i < len; ) { + contextItem = this.get(item); + contextItem.setSize(width, height); + + item = items[++i]; + } + } +}); + + +Ext.define('Ext.layout.component.Tab', { + + extend: 'Ext.layout.component.Button', + alias: 'layout.tab', + + beginLayout: function(ownerContext) { + var me = this, + closable = me.owner.closable; + + + + if (me.lastClosable !== closable) { + me.lastClosable = closable; + me.clearTargetCache(); + } + + me.callParent(arguments); + } +}); + + +Ext.define('Ext.layout.component.field.Slider', { + + + + alias: ['layout.sliderfield'], + + extend: 'Ext.layout.component.field.Field', + + + + type: 'sliderfield', + + beginLayout: function(ownerContext) { + this.callParent(arguments); + + ownerContext.endElContext = ownerContext.getEl('endEl'); + ownerContext.innerElContext = ownerContext.getEl('innerEl'); + ownerContext.bodyElContext = ownerContext.getEl('bodyEl'); + }, + + publishInnerHeight: function (ownerContext, height) { + var innerHeight = height - this.measureLabelErrorHeight(ownerContext), + endElPad, + inputPad; + if (this.owner.vertical) { + endElPad = ownerContext.endElContext.getPaddingInfo(); + inputPad = ownerContext.inputContext.getPaddingInfo(); + ownerContext.innerElContext.setHeight(innerHeight - inputPad.height - endElPad.height); + } else { + ownerContext.bodyElContext.setHeight(innerHeight); + } + }, + + publishInnerWidth: function (ownerContext, width) { + if (!this.owner.vertical) { + var endElPad = ownerContext.endElContext.getPaddingInfo(), + inputPad = ownerContext.inputContext.getPaddingInfo(); + + ownerContext.innerElContext.setWidth(width - inputPad.left - endElPad.right - ownerContext.labelContext.getProp('width')); + } + }, + + beginLayoutFixed: function(ownerContext, width, suffix) { + var me = this, + ieInputWidthAdjustment = me.ieInputWidthAdjustment; + + if (ieInputWidthAdjustment) { + + + me.owner.bodyEl.setStyle('padding-right', ieInputWidthAdjustment + 'px'); + } + + me.callParent(arguments); + } +}); + + +Ext.define('Ext.layout.container.Absolute', { + + + + alias: 'layout.absolute', + extend: 'Ext.layout.container.Anchor', + alternateClassName: 'Ext.layout.AbsoluteLayout', + + + + targetCls: Ext.baseCSSPrefix + 'abs-layout-ct', + itemCls: Ext.baseCSSPrefix + 'abs-layout-item', + + + ignoreOnContentChange: true, + + type: 'absolute', + + + adjustWidthAnchor: function(value, childContext) { + var padding = this.targetPadding, + x = childContext.getStyle('left'); + + return value - x + padding.left; + }, + + + adjustHeightAnchor: function(value, childContext) { + var padding = this.targetPadding, + y = childContext.getStyle('top'); + + return value - y + padding.top; + }, + + isItemLayoutRoot: function (item) { + return this.ignoreOnContentChange || this.callParent(arguments); + }, + + isItemShrinkWrap: function (item) { + return true; + }, + + beginLayout: function (ownerContext) { + var me = this, + target = me.getTarget(); + + me.callParent(arguments); + + + if (target.dom !== document.body) { + target.position(); + } + + me.targetPadding = ownerContext.targetContext.getPaddingInfo(); + }, + + isItemBoxParent: function (itemContext) { + return true; + }, + + onContentChange: function () { + if (this.ignoreOnContentChange) { + return false; + } + return this.callParent(arguments); + } +}); + + +Ext.define('Ext.layout.container.Accordion', { + extend: 'Ext.layout.container.VBox', + alias: ['layout.accordion'], + alternateClassName: 'Ext.layout.AccordionLayout', + + itemCls: [Ext.baseCSSPrefix + 'box-item', Ext.baseCSSPrefix + 'accordion-item'], + + align: 'stretch', + + + fill : true, + + + + + titleCollapse : true, + + + hideCollapseTool : false, + + + collapseFirst : false, + + + animate : true, + + activeOnTop : false, + + multi: false, + + defaultAnimatePolicy: { + y: true, + height: true + }, + + constructor: function() { + var me = this; + + me.callParent(arguments); + + if (me.animate) { + me.animatePolicy = Ext.apply({}, me.defaultAnimatePolicy); + } else { + me.animatePolicy = null; + } + }, + + beforeRenderItems: function (items) { + var me = this, + ln = items.length, + i = 0, + comp; + + for (; i < ln; i++) { + comp = items[i]; + if (!comp.rendered) { + + if (me.collapseFirst) { + comp.collapseFirst = me.collapseFirst; + } + if (me.hideCollapseTool) { + comp.hideCollapseTool = me.hideCollapseTool; + comp.titleCollapse = true; + } + else if (me.titleCollapse) { + comp.titleCollapse = me.titleCollapse; + } + + delete comp.hideHeader; + delete comp.width; + comp.collapsible = true; + comp.title = comp.title || ' '; + comp.addBodyCls(Ext.baseCSSPrefix + 'accordion-body'); + + + + if (!me.multi) { + + if (me.expandedItem !== undefined) { + comp.collapsed = true; + } + + else if (comp.hasOwnProperty('collapsed') && comp.collapsed === false) { + me.expandedItem = i; + } else { + comp.collapsed = true; + } + + + me.owner.mon(comp, { + show: me.onComponentShow, + beforeexpand: me.onComponentExpand, + scope: me + }); + } + + + + if (me.fill) { + me.owner.mon(comp, { + beforecollapse: me.onComponentCollapse, + scope: me + }); + } + } + } + + + if (ln && me.expandedItem === undefined) { + me.expandedItem = 0; + items[0].collapsed = false; + } + }, + + getItemsRenderTree: function(items) { + this.beforeRenderItems(items); + + return this.callParent(arguments); + }, + + renderItems : function(items, target) { + this.beforeRenderItems(items); + + this.callParent(arguments); + }, + + configureItem: function(item) { + this.callParent(arguments); + + + + item.animCollapse = item.border = false; + + + if (this.fill) { + item.flex = 1; + } + }, + + onChildPanelRender: function(panel) { + panel.header.addCls(Ext.baseCSSPrefix + 'accordion-hd'); + }, + + beginLayout: function (ownerContext) { + this.callParent(arguments); + this.updatePanelClasses(ownerContext); + }, + + updatePanelClasses: function(ownerContext) { + var children = ownerContext.visibleItems, + ln = children.length, + siblingCollapsed = true, + i, child, header; + + for (i = 0; i < ln; i++) { + child = children[i]; + header = child.header; + header.addCls(Ext.baseCSSPrefix + 'accordion-hd'); + + if (siblingCollapsed) { + header.removeCls(Ext.baseCSSPrefix + 'accordion-hd-sibling-expanded'); + } else { + header.addCls(Ext.baseCSSPrefix + 'accordion-hd-sibling-expanded'); + } + + if (i + 1 == ln && child.collapsed) { + header.addCls(Ext.baseCSSPrefix + 'accordion-hd-last-collapsed'); + } else { + header.removeCls(Ext.baseCSSPrefix + 'accordion-hd-last-collapsed'); + } + + siblingCollapsed = child.collapsed; + } + }, + + + + + onComponentExpand: function(toExpand) { + var me = this, + owner = me.owner, + expanded, + expandedCount, i, + previousValue; + + if (!me.processing) { + me.processing = true; + previousValue = owner.deferLayouts; + owner.deferLayouts = true; + expanded = me.multi ? [] : owner.query('>panel:not([collapsed])'); + expandedCount = expanded.length; + + + for (i = 0; i < expandedCount; i++) { + expanded[i].collapse(); + } + owner.deferLayouts = previousValue; + me.processing = false; + } + }, + + onComponentCollapse: function(comp) { + var me = this, + owner = me.owner, + toExpand, + expanded, + previousValue; + + if (me.owner.items.getCount() === 1) { + + return false; + } + + if (!me.processing) { + me.processing = true; + previousValue = owner.deferLayouts; + owner.deferLayouts = true; + toExpand = comp.next() || comp.prev(); + + + + if (me.multi) { + expanded = me.owner.query('>panel:not([collapsed])'); + + + + if (expanded.length === 1) { + toExpand.expand(); + } + + } else if (toExpand) { + toExpand.expand(); + } + owner.deferLayouts = previousValue; + me.processing = false; + } + }, + + onComponentShow: function(comp) { + + this.onComponentExpand(comp); + } +}); + + +Ext.define('Ext.resizer.Splitter', { + extend: 'Ext.Component', + requires: ['Ext.XTemplate'], + uses: ['Ext.resizer.SplitterTracker'], + alias: 'widget.splitter', + + childEls: [ + 'collapseEl' + ], + + renderTpl: [ + '', + '
     
    ', + '
    ' + ], + + baseCls: Ext.baseCSSPrefix + 'splitter', + collapsedClsInternal: Ext.baseCSSPrefix + 'splitter-collapsed', + + + canResize: true, + + + collapsible: false, + + + + + collapseOnDblClick: true, + + + defaultSplitMin: 40, + + + defaultSplitMax: 1000, + + + + + collapseTarget: 'next', + + + + horizontal: false, + vertical: false, + + + getTrackerConfig: function () { + return { + xclass: 'Ext.resizer.SplitterTracker', + el: this.el, + splitter: this + }; + }, + + beforeRender: function() { + var me = this, + target = me.getCollapseTarget(), + collapseDir = me.getCollapseDirection(), + vertical = me.vertical, + fixedSizeProp = vertical ? 'width' : 'height', + stretchSizeProp = vertical ? 'height' : 'width', + cls; + + me.callParent(); + + if (!me.hasOwnProperty(stretchSizeProp)) { + me[stretchSizeProp] = '100%'; + } + if (!me.hasOwnProperty(fixedSizeProp)) { + me[fixedSizeProp] = 5; + } + + if (target.collapsed) { + me.addCls(me.collapsedClsInternal); + } + + cls = me.baseCls + '-' + me.orientation; + me.addCls(cls); + if (!me.canResize) { + me.addCls(cls + '-noresize'); + } + + Ext.applyIf(me.renderData, { + collapseDir: collapseDir, + collapsible: me.collapsible || target.collapsible + }); + }, + + onRender: function() { + var me = this; + + me.callParent(arguments); + + + if (me.performCollapse !== false) { + if (me.renderData.collapsible) { + me.mon(me.collapseEl, 'click', me.toggleTargetCmp, me); + } + if (me.collapseOnDblClick) { + me.mon(me.el, 'dblclick', me.toggleTargetCmp, me); + } + } + + + me.mon(me.getCollapseTarget(), { + collapse: me.onTargetCollapse, + expand: me.onTargetExpand, + scope: me + }); + + me.el.unselectable(); + if (me.canResize) { + me.tracker = Ext.create(me.getTrackerConfig()); + + me.relayEvents(me.tracker, [ 'beforedragstart', 'dragstart', 'dragend' ]); + } + }, + + getCollapseDirection: function() { + var me = this, + dir = me.collapseDirection, + collapseTarget, idx, items, type; + + if (!dir) { + collapseTarget = me.collapseTarget; + if (collapseTarget.isComponent) { + dir = collapseTarget.collapseDirection; + } + + if (!dir) { + + + + + + + + type = me.ownerCt.layout.type; + if (collapseTarget.isComponent) { + items = me.ownerCt.items; + idx = Number(items.indexOf(collapseTarget) == items.indexOf(me) - 1) << 1 | Number(type == 'hbox'); + } else { + idx = Number(me.collapseTarget == 'prev') << 1 | Number(type == 'hbox'); + } + + + dir = ['bottom', 'right', 'top', 'left'][idx]; + } + + me.collapseDirection = dir; + } + + me.orientation = (dir == 'top' || dir == 'bottom') ? 'horizontal' : 'vertical'; + me[me.orientation] = true; + + return dir; + }, + + getCollapseTarget: function() { + var me = this; + + return me.collapseTarget.isComponent ? me.collapseTarget : me.collapseTarget == 'prev' ? me.previousSibling() : me.nextSibling(); + }, + + onTargetCollapse: function(target) { + this.el.addCls([this.collapsedClsInternal, this.collapsedCls]); + }, + + onTargetExpand: function(target) { + this.el.removeCls([this.collapsedClsInternal, this.collapsedCls]); + }, + + toggleTargetCmp: function(e, t) { + var cmp = this.getCollapseTarget(), + placeholder = cmp.placeholder, + toggle; + + if (placeholder && !placeholder.hidden) { + toggle = true; + } else { + toggle = !cmp.hidden; + } + + if (toggle) { + if (cmp.collapsed) { + cmp.expand(); + } else if (cmp.collapseDirection) { + cmp.collapse(); + } else { + cmp.collapse(this.renderData.collapseDir); + } + } + }, + + + setSize: function() { + var me = this; + me.callParent(arguments); + if (Ext.isIE && me.el) { + me.el.repaint(); + } + }, + + beforeDestroy: function(){ + Ext.destroy(this.tracker); + this.callParent(); + } +}); + + +Ext.define('Ext.resizer.BorderSplitter', { + extend: 'Ext.resizer.Splitter', + + uses: ['Ext.resizer.BorderSplitterTracker'], + + alias: 'widget.bordersplitter', + + + collapseTarget: null, + + getTrackerConfig: function () { + var trackerConfig = this.callParent(); + + trackerConfig.xclass = 'Ext.resizer.BorderSplitterTracker'; + + return trackerConfig; + } +}); + + +Ext.define('Ext.layout.container.Border', { + + alias: 'layout.border', + + extend: 'Ext.layout.container.Container', + + requires: ['Ext.resizer.BorderSplitter', 'Ext.Component', 'Ext.fx.Anim'], + + alternateClassName: 'Ext.layout.BorderLayout', + + + targetCls: Ext.baseCSSPrefix + 'border-layout-ct', + + itemCls: [Ext.baseCSSPrefix + 'border-item', Ext.baseCSSPrefix + 'box-item'], + + type: 'border', + + + + + + + padding: undefined, + + percentageRe: /(\d+)%/, + + + axisProps: { + horz: { + borderBegin: 'west', + borderEnd: 'east', + horizontal: true, + posProp: 'x', + sizeProp: 'width', + sizePropCap: 'Width' + }, + vert: { + borderBegin: 'north', + borderEnd: 'south', + horizontal: false, + posProp: 'y', + sizeProp: 'height', + sizePropCap: 'Height' + } + }, + + + centerRegion: null, + + + collapseDirections: { + north: 'top', + south: 'bottom', + east: 'right', + west: 'left' + }, + + manageMargins: true, + + panelCollapseAnimate: true, + + panelCollapseMode: 'placeholder', + + + regionWeights: { + north: 20, + south: 10, + center: 0, + west: -10, + east: -20 + }, + + + + + + beginAxis: function (ownerContext, regions, name) { + var me = this, + props = me.axisProps[name], + isVert = !props.horizontal, + sizeProp = props.sizeProp, + totalFlex = 0, + childItems = ownerContext.childItems, + length = childItems.length, + center, i, childContext, centerFlex, comp, region, match, size, type, target, placeholder; + + for (i = 0; i < length; ++i) { + childContext = childItems[i]; + comp = childContext.target; + + childContext.layoutPos = {}; + + if (comp.region) { + childContext.region = region = comp.region; + + childContext.isCenter = comp.isCenter; + childContext.isHorz = comp.isHorz; + childContext.isVert = comp.isVert; + + childContext.weight = comp.weight || me.regionWeights[region] || 0; + regions[comp.id] = childContext; + + if (comp.isCenter) { + center = childContext; + centerFlex = comp.flex; + ownerContext.centerRegion = center; + + continue; + } + + if (isVert !== childContext.isVert) { + continue; + } + + + + childContext.reverseWeighting = (region == props.borderEnd); + + size = comp[sizeProp]; + type = typeof size; + + if (!comp.collapsed) { + if (type == 'string' && (match = me.percentageRe.exec(size))) { + childContext.percentage = parseInt(match[1], 10); + } else if (comp.flex) { + totalFlex += childContext.flex = comp.flex; + } + } + } + } + + + if (center) { + target = center.target; + + if (placeholder = target.placeholderFor) { + if (!centerFlex && isVert === placeholder.collapsedVertical()) { + + centerFlex = 0; + center.collapseAxis = name; + } + } else if (target.collapsed && (isVert === target.collapsedVertical())) { + + centerFlex = 0; + center.collapseAxis = name; + } + } + + if (centerFlex == null) { + + centerFlex = 1; + } + + totalFlex += centerFlex; + + return Ext.apply({ + before : isVert ? 'top' : 'left', + totalFlex : totalFlex + }, props); + }, + + beginLayout: function (ownerContext) { + var me = this, + items = me.getLayoutItems(), + pad = me.padding, + type = typeof pad, + padOnContainer = false, + childContext, item, length, i, regions, collapseTarget, + doShow, hidden, region; + + + if (pad) { + if (type == 'string' || type == 'number') { + pad = Ext.util.Format.parseBox(pad); + } + } else { + pad = ownerContext.getEl('getTargetEl').getPaddingInfo(); + padOnContainer = true; + } + ownerContext.outerPad = pad; + ownerContext.padOnContainer = padOnContainer; + + for (i = 0, length = items.length; i < length; ++i) { + item = items[i]; + collapseTarget = me.getSplitterTarget(item); + if (collapseTarget) { + hidden = !!item.hidden; + if (!collapseTarget.split) { + if (collapseTarget.isCollapsingOrExpanding) { + doShow = !!collapseTarget.collapsed; + } + } else if (hidden !== collapseTarget.hidden) { + doShow = !collapseTarget.hidden; + } + + if (doShow === true) { + item.show(); + } else if (doShow === false) { + item.hide(); + } + } + } + + + + + me.callParent(arguments); + + items = ownerContext.childItems; + length = items.length; + regions = {}; + + ownerContext.borderAxisHorz = me.beginAxis(ownerContext, regions, 'horz'); + ownerContext.borderAxisVert = me.beginAxis(ownerContext, regions, 'vert'); + + + + + for (i = 0; i < length; ++i) { + childContext = items[i]; + collapseTarget = me.getSplitterTarget(childContext.target); + + if (collapseTarget) { + region = regions[collapseTarget.id] + if (!region) { + + + + region = ownerContext.getEl(collapseTarget.el, me); + region.region = collapseTarget.region; + } + childContext.collapseTarget = collapseTarget = region; + childContext.weight = collapseTarget.weight; + childContext.reverseWeighting = collapseTarget.reverseWeighting; + collapseTarget.splitter = childContext; + childContext.isHorz = collapseTarget.isHorz; + childContext.isVert = collapseTarget.isVert; + } + } + + + me.sortWeightedItems(items, 'reverseWeighting'); + me.setupSplitterNeighbors(items); + }, + + calculate: function (ownerContext) { + var me = this, + containerSize = me.getContainerSize(ownerContext), + childItems = ownerContext.childItems, + length = childItems.length, + horz = ownerContext.borderAxisHorz, + vert = ownerContext.borderAxisVert, + pad = ownerContext.outerPad, + padOnContainer = ownerContext.padOnContainer, + i, childContext, childMargins, size, horzPercentTotal, vertPercentTotal; + + horz.begin = pad.left; + vert.begin = pad.top; + + + horzPercentTotal = horz.end = horz.flexSpace = containerSize.width + (padOnContainer ? pad.left : -pad.right); + vertPercentTotal = vert.end = vert.flexSpace = containerSize.height + (padOnContainer ? pad.top : -pad.bottom); + + + + for (i = 0; i < length; ++i) { + childContext = childItems[i]; + childMargins = childContext.getMarginInfo(); + + + if (childContext.isHorz || childContext.isCenter) { + horz.addUnflexed(childMargins.width); + horzPercentTotal -= childMargins.width; + } + + if (childContext.isVert || childContext.isCenter) { + vert.addUnflexed(childMargins.height); + vertPercentTotal -= childMargins.height; + } + + + if (!childContext.flex && !childContext.percentage) { + if (childContext.isHorz || (childContext.isCenter && childContext.collapseAxis === 'horz')) { + size = childContext.getProp('width'); + + horz.addUnflexed(size); + + + if (childContext.collapseTarget) { + horzPercentTotal -= size; + } + } else if (childContext.isVert || (childContext.isCenter && childContext.collapseAxis === 'vert')) { + size = childContext.getProp('height'); + + vert.addUnflexed(size); + + + if (childContext.collapseTarget) { + vertPercentTotal -= size; + } + } + + } + } + + for (i = 0; i < length; ++i) { + childContext = childItems[i]; + childMargins = childContext.getMarginInfo(); + + + if (childContext.percentage) { + if (childContext.isHorz) { + size = Math.ceil(horzPercentTotal * childContext.percentage / 100); + size = childContext.setWidth(size); + horz.addUnflexed(size); + } else if (childContext.isVert) { + size = Math.ceil(vertPercentTotal * childContext.percentage / 100); + size = childContext.setHeight(size); + vert.addUnflexed(size); + } + + } + } + + + + + + for (i = 0; i < length; ++i) { + childContext = childItems[i]; + + if (!childContext.isCenter) { + me.calculateChildAxis(childContext, horz); + me.calculateChildAxis(childContext, vert); + } + } + + + + + if (me.finishAxis(ownerContext, vert) + me.finishAxis(ownerContext, horz) < 2) { + me.done = false; + } else { + + + + me.finishPositions(childItems); + } + }, + + + calculateChildAxis: function (childContext, axis) { + var collapseTarget = childContext.collapseTarget, + setSizeMethod = 'set' + axis.sizePropCap, + sizeProp = axis.sizeProp, + childMarginSize = childContext.getMarginInfo()[sizeProp], + region, isBegin, flex, pos, size; + + if (collapseTarget) { + region = collapseTarget.region; + } else { + region = childContext.region; + flex = childContext.flex; + } + + isBegin = region == axis.borderBegin; + + if (!isBegin && region != axis.borderEnd) { + + + childContext[setSizeMethod](axis.end - axis.begin - childMarginSize); + pos = axis.begin; + } else { + if (flex) { + size = Math.ceil(axis.flexSpace * (flex / axis.totalFlex)); + size = childContext[setSizeMethod](size); + } else if (childContext.percentage) { + + size = childContext.peek(sizeProp); + } else { + size = childContext.getProp(sizeProp); + } + + size += childMarginSize; + + if (isBegin) { + pos = axis.begin; + axis.begin += size; + } else { + axis.end = pos = axis.end - size; + } + } + + childContext.layoutPos[axis.posProp] = pos; + }, + + + finishAxis: function (ownerContext, axis) { + var size = axis.end - axis.begin, + center = ownerContext.centerRegion; + + if (center) { + center['set' + axis.sizePropCap](size - center.getMarginInfo()[axis.sizeProp]); + center.layoutPos[axis.posProp] = axis.begin; + } + + return Ext.isNumber(size) ? 1 : 0; + }, + + + finishPositions: function (childItems) { + var length = childItems.length, + index, childContext; + + for (index = 0; index < length; ++index) { + childContext = childItems[index]; + + childContext.setProp('x', childContext.layoutPos.x + childContext.marginInfo.left); + childContext.setProp('y', childContext.layoutPos.y + childContext.marginInfo.top); + } + }, + + getPlaceholder: function (comp) { + return comp.getPlaceholder && comp.getPlaceholder(); + }, + + getSplitterTarget: function (splitter) { + var collapseTarget = splitter.collapseTarget; + + if (collapseTarget && collapseTarget.collapsed) { + return collapseTarget.placeholder || collapseTarget; + } + + return collapseTarget; + }, + + isItemBoxParent: function (itemContext) { + return true; + }, + + isItemShrinkWrap: function (item) { + return true; + }, + + + + + + insertSplitter: function (item, index, hidden) { + var region = item.region, + splitter = { + xtype: 'bordersplitter', + collapseTarget: item, + id: item.id + '-splitter', + hidden: hidden, + canResize: item.splitterResize !== false + }, + at = index + ((region == 'south' || region == 'east') ? 0 : 1); + + + if (item.isHorz) { + splitter.height = null; + } else { + splitter.width = null; + } + + if (item.collapseMode == 'mini') { + splitter.collapsedCls = item.collapsedCls; + } + + item.splitter = this.owner.add(at, splitter); + }, + + + onAdd: function (item, index) { + var me = this, + placeholderFor = item.placeholderFor, + region = item.region, + split, + hidden; + + me.callParent(arguments); + + if (region) { + Ext.apply(item, me.regionFlags[region]); + + if (region == 'center') { + me.centerRegion = item; + } else { + item.collapseDirection = this.collapseDirections[region]; + split = item.split; + hidden = !!item.hidden; + if ((item.isHorz || item.isVert) && (split || item.collapseMode == 'mini')) { + me.insertSplitter(item, index, hidden || !split); + } + } + + if (!item.hasOwnProperty('collapseMode')) { + item.collapseMode = me.panelCollapseMode; + } + + if (!item.hasOwnProperty('animCollapse')) { + if (item.collapseMode != 'placeholder') { + + + item.animCollapse = false; + } else { + item.animCollapse = me.panelCollapseAnimate; + } + } + } else if (placeholderFor) { + Ext.apply(item, me.regionFlags[placeholderFor.region]); + item.region = placeholderFor.region; + item.weight = placeholderFor.weight; + } + }, + + onDestroy: function() { + this.centerRegion = null; + this.callParent(); + }, + + onRemove: function (item) { + var me = this, + region = item.region, + splitter = item.splitter; + + if (region) { + if (item.isCenter) { + me.centerRegion = null; + } + + delete item.isCenter; + delete item.isHorz; + delete item.isVert; + + if (splitter) { + me.owner.doRemove(splitter, true); + delete item.splitter; + } + } + + me.callParent(arguments); + }, + + + + + regionFlags: { + center: { isCenter: true, isHorz: false, isVert: false }, + + north: { isCenter: false, isHorz: false, isVert: true }, + south: { isCenter: false, isHorz: false, isVert: true }, + + west: { isCenter: false, isHorz: true, isVert: false }, + east: { isCenter: false, isHorz: true, isVert: false } + }, + + setupSplitterNeighbors: function (items) { + var edgeRegions = { + + + + + }, + length = items.length, + touchedRegions = this.touchedRegions, + i, j, center, count, edge, comp, region, splitter, touched; + + for (i = 0; i < length; ++i) { + comp = items[i].target; + region = comp.region; + + if (comp.isCenter) { + center = comp; + } else if (region) { + touched = touchedRegions[region]; + + for (j = 0, count = touched.length; j < count; ++j) { + edge = edgeRegions[touched[j]]; + if (edge) { + edge.neighbors.push(comp); + } + } + + if (comp.placeholderFor) { + + splitter = comp.placeholderFor.splitter; + } else { + splitter = comp.splitter; + } + if (splitter) { + splitter.neighbors = []; + } + + edgeRegions[region] = splitter; + } + } + + if (center) { + touched = touchedRegions.center; + + for (j = 0, count = touched.length; j < count; ++j) { + edge = edgeRegions[touched[j]]; + if (edge) { + edge.neighbors.push(center); + } + } + } + }, + + + touchedRegions: { + center: [ 'north', 'south', 'east', 'west' ], + + north: [ 'north', 'east', 'west' ], + south: [ 'south', 'east', 'west' ], + east: [ 'east', 'north', 'south' ], + west: [ 'west', 'north', 'south' ] + }, + + sizePolicies: { + vert: { + setsWidth: 1, + setsHeight: 0 + }, + horz: { + setsWidth: 0, + setsHeight: 1 + }, + flexAll: { + setsWidth: 1, + setsHeight: 1 + } + }, + + getItemSizePolicy: function (item) { + var me = this, + policies = this.sizePolicies, + collapseTarget, size, policy, placeholderFor; + + if (item.isCenter) { + placeholderFor = item.placeholderFor; + + if (placeholderFor) { + if (placeholderFor.collapsedVertical()) { + return policies.vert; + } + return policies.horz; + } + if (item.collapsed) { + if (item.collapsedVertical()) { + return policies.vert; + } + return policies.horz; + } + return policies.flexAll; + } + + collapseTarget = item.collapseTarget; + + if (collapseTarget) { + return collapseTarget.isVert ? policies.vert : policies.horz; + } + + if (item.region) { + if (item.isVert) { + size = item.height; + policy = policies.vert; + } else { + size = item.width; + policy = policies.horz; + } + + if (item.flex || (typeof size == 'string' && me.percentageRe.test(size))) { + return policies.flexAll; + } + + return policy; + } + + return me.autoSizePolicy; + } +}, function () { + var methods = { + addUnflexed: function (px) { + this.flexSpace = Math.max(this.flexSpace - px, 0); + } + }, + props = this.prototype.axisProps; + + Ext.apply(props.horz, methods); + Ext.apply(props.vert, methods); +}); + + +Ext.define('Ext.layout.container.Card', { + + + + extend: 'Ext.layout.container.Fit', + + alternateClassName: 'Ext.layout.CardLayout', + + alias: 'layout.card', + + + + type: 'card', + + hideInactive: true, + + + deferredRender : false, + + getRenderTree: function () { + var me = this, + activeItem = me.getActiveItem(); + + if (activeItem) { + + + if (activeItem.hasListeners.beforeactivate && activeItem.fireEvent('beforeactivate', activeItem) === false) { + + + + + activeItem = me.activeItem = me.owner.activeItem = null; + } + + + else if (activeItem.hasListeners.activate) { + activeItem.on({ + boxready: function() { + activeItem.fireEvent('activate', activeItem); + }, + single: true + }); + } + + if (me.deferredRender) { + if (activeItem) { + return me.getItemsRenderTree([activeItem]); + } + } else { + return me.callParent(arguments); + } + } + }, + + renderChildren: function () { + var me = this, + active = me.getActiveItem(); + + if (!me.deferredRender) { + me.callParent(); + } else if (active) { + + me.renderItems([active], me.getRenderTarget()); + } + }, + + isValidParent : function(item, target, position) { + + + var itemEl = item.el ? item.el.dom : Ext.getDom(item); + return (itemEl && itemEl.parentNode === (target.dom || target)) || false; + }, + + + getActiveItem: function() { + var me = this, + + result = me.parseActiveItem(me.activeItem || (me.owner && me.owner.activeItem)); + + + if (result && me.owner.items.indexOf(result) != -1) { + me.activeItem = result; + } else { + me.activeItem = null; + } + + return me.activeItem; + }, + + + parseActiveItem: function(item) { + if (item && item.isComponent) { + return item; + } else if (typeof item == 'number' || item === undefined) { + return this.getLayoutItems()[item || 0]; + } else { + return this.owner.getComponent(item); + } + }, + + + + configureItem: function(item) { + if (item === this.getActiveItem()) { + item.hidden = false; + } else { + item.hidden = true; + } + this.callParent(arguments); + }, + + onRemove: function(component) { + var me = this; + + if (component === me.activeItem) { + me.activeItem = null; + } + }, + + + getAnimation: function(newCard, owner) { + var newAnim = (newCard || {}).cardSwitchAnimation; + if (newAnim === false) { + return false; + } + return newAnim || owner.cardSwitchAnimation; + }, + + + getNext: function() { + + + var wrap = arguments[0], + items = this.getLayoutItems(), + index = Ext.Array.indexOf(items, this.activeItem); + + return items[index + 1] || (wrap ? items[0] : false); + }, + + + next: function() { + + + var anim = arguments[0], + wrap = arguments[1]; + return this.setActiveItem(this.getNext(wrap), anim); + }, + + + getPrev: function() { + + + var wrap = arguments[0], + items = this.getLayoutItems(), + index = Ext.Array.indexOf(items, this.activeItem); + + return items[index - 1] || (wrap ? items[items.length - 1] : false); + }, + + + prev: function() { + + + var anim = arguments[0], + wrap = arguments[1]; + return this.setActiveItem(this.getPrev(wrap), anim); + }, + + + setActiveItem: function(newCard) { + var me = this, + owner = me.owner, + oldCard = me.activeItem, + rendered = owner.rendered, + newIndex; + + newCard = me.parseActiveItem(newCard); + newIndex = owner.items.indexOf(newCard); + + + + if (newIndex == -1) { + newIndex = owner.items.items.length; + Ext.suspendLayouts(); + newCard = owner.add(newCard); + Ext.resumeLayouts(); + } + + + if (newCard && oldCard != newCard) { + + if (newCard.fireEvent('beforeactivate', newCard, oldCard) === false) { + return false; + } + if (oldCard && oldCard.fireEvent('beforedeactivate', oldCard, newCard) === false) { + return false; + } + + if (rendered) { + Ext.suspendLayouts(); + + + if (!newCard.rendered) { + me.renderItem(newCard, me.getRenderTarget(), owner.items.length); + } + + if (oldCard) { + if (me.hideInactive) { + oldCard.hide(); + oldCard.hiddenByLayout = true; + } + oldCard.fireEvent('deactivate', oldCard, newCard); + } + + if (newCard.hidden) { + newCard.show(); + } + + + if (!newCard.hidden) { + me.activeItem = newCard; + } + Ext.resumeLayouts(true); + } else { + me.activeItem = newCard; + } + + newCard.fireEvent('activate', newCard, oldCard); + + return me.activeItem; + } + return false; + } +}); + + +Ext.define('Ext.layout.container.Column', { + + extend: 'Ext.layout.container.Container', + alias: ['layout.column'], + alternateClassName: 'Ext.layout.ColumnLayout', + + type: 'column', + + itemCls: Ext.baseCSSPrefix + 'column', + + targetCls: Ext.baseCSSPrefix + 'column-layout-ct', + + + columnWidthSizePolicy: { + setsWidth: 1, + setsHeight: 0 + }, + + childEls: [ + 'innerCt' + ], + + manageOverflow: 2, + + renderTpl: [ + '
    ', + '{%this.renderBody(out,values)%}', + '
    ', + '
    ', + '{%this.renderPadder(out,values)%}' + ], + + getItemSizePolicy: function (item) { + if (item.columnWidth) { + return this.columnWidthSizePolicy; + } + return this.autoSizePolicy; + }, + + beginLayout: function() { + this.callParent(arguments); + this.innerCt.dom.style.width = ''; + }, + + calculate: function (ownerContext) { + var me = this, + containerSize = me.getContainerSize(ownerContext), + state = ownerContext.state; + + if (state.calculatedColumns || (state.calculatedColumns = me.calculateColumns(ownerContext))) { + if (me.calculateHeights(ownerContext)) { + me.calculateOverflow(ownerContext, containerSize); + return; + } + } + + me.done = false; + }, + + calculateColumns: function (ownerContext) { + var me = this, + containerSize = me.getContainerSize(ownerContext), + innerCtContext = ownerContext.getEl('innerCt', me), + items = ownerContext.childItems, + len = items.length, + contentWidth = 0, + blocked, availableWidth, i, itemContext, itemMarginWidth, itemWidth; + + + + + if (!ownerContext.heightModel.shrinkWrap && !ownerContext.targetContext.hasProp('height')) { + return false; + } + + + if (!containerSize.gotWidth) { + ownerContext.targetContext.block(me, 'width'); + blocked = true; + } else { + availableWidth = containerSize.width; + + innerCtContext.setWidth(availableWidth); + } + + + + for (i = 0; i < len; ++i) { + itemContext = items[i]; + + + + + itemMarginWidth = itemContext.getMarginInfo().width; + + if (!itemContext.widthModel.calculated) { + itemWidth = itemContext.getProp('width'); + if (typeof itemWidth != 'number') { + itemContext.block(me, 'width'); + blocked = true; + } + + contentWidth += itemWidth + itemMarginWidth; + } + } + + if (!blocked) { + availableWidth = (availableWidth < contentWidth) ? 0 : availableWidth - contentWidth; + + for (i = 0; i < len; ++i) { + itemContext = items[i]; + if (itemContext.widthModel.calculated) { + itemMarginWidth = itemContext.marginInfo.width; + itemWidth = itemContext.target.columnWidth; + itemWidth = Math.floor(itemWidth * availableWidth) - itemMarginWidth; + itemWidth = itemContext.setWidth(itemWidth); + contentWidth += itemWidth + itemMarginWidth; + } + } + + ownerContext.setContentWidth(contentWidth); + } + + + return !blocked; + }, + + calculateHeights: function (ownerContext) { + var me = this, + items = ownerContext.childItems, + len = items.length, + blocked, i, itemContext; + + + + blocked = false; + for (i = 0; i < len; ++i) { + itemContext = items[i]; + + if (!itemContext.hasDomProp('height')) { + itemContext.domBlock(me, 'height'); + blocked = true; + } + } + + if (!blocked) { + ownerContext.setContentHeight(me.innerCt.getHeight() + ownerContext.targetContext.getPaddingInfo().height); + } + + return !blocked; + }, + + finishedLayout: function (ownerContext) { + var bc = ownerContext.bodyContext; + + + if (bc && (Ext.isIE6 || Ext.isIE7 || Ext.isIEQuirks)) { + + bc.el.repaint(); + } + + this.callParent(arguments); + }, + + getRenderTarget : function() { + return this.innerCt; + } +}); + + +Ext.define('Ext.layout.container.Form', { + + + + alias: 'layout.form', + extend: 'Ext.layout.container.Auto', + alternateClassName: 'Ext.layout.FormLayout', + + + + tableCls: Ext.baseCSSPrefix + 'form-layout-table', + + type: 'form', + + manageOverflow: 2, + + childEls: ['formTable'], + + padRow: '', + + renderTpl: [ + '', + '{%this.renderBody(out,values)%}', + '
    ', + '{%this.renderPadder(out,values)%}' + ], + + getRenderData: function(){ + var data = this.callParent(); + data.tableCls = this.tableCls; + return data; + }, + + calculate : function (ownerContext) { + var me = this, + containerSize = me.getContainerSize(ownerContext, true), + tableWidth, + childItems, + i = 0, length; + + + if (containerSize.gotWidth) { + this.callParent(arguments); + tableWidth = me.formTable.dom.offsetWidth; + childItems = ownerContext.childItems; + + for (length = childItems.length; i < length; ++i) { + childItems[i].setWidth(tableWidth, false); + } + } else { + me.done = false; + } + }, + + getRenderTarget: function() { + return this.formTable; + }, + + getRenderTree: function() { + var me = this, + result = me.callParent(arguments), + i, len; + + for (i = 0, len = result.length; i < len; i++) { + result[i] = me.transformItemRenderTree(result[i]); + } + return result; + }, + + transformItemRenderTree: function(item) { + + if (item.tag && item.tag == 'table') { + item.tag = 'tbody'; + delete item.cellspacing; + delete item.cellpadding; + + + + + + if (Ext.isIE6) { + item.cn = this.padRow; + } + + return item; + } + + return { + tag: 'tbody', + cn: { + tag: 'tr', + cn: { + tag: 'td', + colspan: 3, + style: 'width:100%', + cn: item + } + } + }; + + }, + + isValidParent: function(item, target, position) { + return true; + }, + + isItemShrinkWrap: function(item) { + return ((item.shrinkWrap === true) ? 3 : item.shrinkWrap||0) & 2; + }, + + getItemSizePolicy: function(item) { + return { + setsWidth: 1, + setsHeight: 0 + }; + } +}); + + +Ext.define('Ext.menu.Item', { + extend: 'Ext.Component', + alias: 'widget.menuitem', + alternateClassName: 'Ext.menu.TextItem', + + + + + + + activeCls: Ext.baseCSSPrefix + 'menu-item-active', + + + ariaRole: 'menuitem', + + + canActivate: true, + + + clickHideDelay: 1, + + + destroyMenu: true, + + + disabledCls: Ext.baseCSSPrefix + 'menu-item-disabled', + + + + + + + hideOnClick: true, + + + + + + isMenuItem: true, + + + + + + + menuAlign: 'tl-tr?', + + + menuExpandDelay: 200, + + + menuHideDelay: 200, + + + + + + + tooltipType: 'qtip', + + arrowCls: Ext.baseCSSPrefix + 'menu-item-arrow', + + childEls: [ + 'itemEl', 'iconEl', 'textEl', 'arrowEl' + ], + + renderTpl: [ + '', + '{text}', + '', + 'target="{hrefTarget}" hidefocus="true" unselectable="on">', + '', + 'style="margin-right: 17px;" >{text}', + '', + '', + '' + ], + + maskOnDisable: false, + + + + + + activate: function() { + var me = this; + + if (!me.activated && me.canActivate && me.rendered && !me.isDisabled() && me.isVisible()) { + me.el.addCls(me.activeCls); + me.focus(); + me.activated = true; + me.fireEvent('activate', me); + } + }, + + getFocusEl: function() { + return this.itemEl; + }, + + deactivate: function() { + var me = this; + + if (me.activated) { + me.el.removeCls(me.activeCls); + me.blur(); + me.hideMenu(); + me.activated = false; + me.fireEvent('deactivate', me); + } + }, + + deferExpandMenu: function() { + var me = this; + + if (me.activated && (!me.menu.rendered || !me.menu.isVisible())) { + me.parentMenu.activeChild = me.menu; + me.menu.parentItem = me; + me.menu.parentMenu = me.menu.ownerCt = me.parentMenu; + me.menu.showBy(me, me.menuAlign); + } + }, + + deferHideMenu: function() { + if (this.menu.isVisible()) { + this.menu.hide(); + } + }, + + cancelDeferHide: function(){ + clearTimeout(this.hideMenuTimer); + }, + + deferHideParentMenus: function() { + var ancestor; + Ext.menu.Manager.hideAll(); + + if (!Ext.Element.getActiveElement()) { + + ancestor = this.up(':not([hidden])'); + if (ancestor) { + ancestor.focus(); + } + } + }, + + expandMenu: function(delay) { + var me = this; + + if (me.menu) { + me.cancelDeferHide(); + if (delay === 0) { + me.deferExpandMenu(); + } else { + me.expandMenuTimer = Ext.defer(me.deferExpandMenu, Ext.isNumber(delay) ? delay : me.menuExpandDelay, me); + } + } + }, + + getRefItems: function(deep){ + var menu = this.menu, + items; + + if (menu) { + items = menu.getRefItems(deep); + items.unshift(menu); + } + return items || []; + }, + + hideMenu: function(delay) { + var me = this; + + if (me.menu) { + clearTimeout(me.expandMenuTimer); + me.hideMenuTimer = Ext.defer(me.deferHideMenu, Ext.isNumber(delay) ? delay : me.menuHideDelay, me); + } + }, + + initComponent: function() { + var me = this, + prefix = Ext.baseCSSPrefix, + cls = [prefix + 'menu-item'], + menu; + + me.addEvents( + + 'activate', + + + 'click', + + + 'deactivate' + ); + + if (me.plain) { + cls.push(prefix + 'menu-item-plain'); + } + + if (me.cls) { + cls.push(me.cls); + } + + me.cls = cls.join(' '); + + if (me.menu) { + menu = me.menu; + delete me.menu; + me.setMenu(menu); + } + + me.callParent(arguments); + }, + + onClick: function(e) { + var me = this; + + if (!me.href) { + e.stopEvent(); + } + + if (me.disabled) { + return; + } + + if (me.hideOnClick) { + me.deferHideParentMenusTimer = Ext.defer(me.deferHideParentMenus, me.clickHideDelay, me); + } + + Ext.callback(me.handler, me.scope || me, [me, e]); + me.fireEvent('click', me, e); + + if (!me.hideOnClick) { + me.focus(); + } + }, + + onRemoved: function() { + var me = this; + + + if (me.activated && me.parentMenu.activeItem === me) { + me.parentMenu.deactivateActiveItem(); + } + me.callParent(arguments); + delete me.parentMenu; + delete me.ownerButton; + }, + + + beforeDestroy: function() { + var me = this; + if (me.rendered) { + me.clearTip(); + } + me.callParent(); + }, + + onDestroy: function() { + var me = this; + + clearTimeout(me.expandMenuTimer); + me.cancelDeferHide(); + clearTimeout(me.deferHideParentMenusTimer); + + me.setMenu(null); + me.callParent(arguments); + }, + + beforeRender: function() { + var me = this, + blank = Ext.BLANK_IMAGE_URL, + iconCls, + arrowCls; + + me.callParent(); + + if (me.iconAlign === 'right') { + iconCls = me.checkChangeDisabled ? me.disabledCls : ''; + arrowCls = Ext.baseCSSPrefix + 'menu-item-icon-right ' + me.iconCls; + } else { + iconCls = me.iconCls + (me.checkChangeDisabled ? ' ' + me.disabledCls : ''); + arrowCls = me.menu ? me.arrowCls : ''; + } + Ext.applyIf(me.renderData, { + href: me.href || '#', + hrefTarget: me.hrefTarget, + icon: me.icon || blank, + iconCls: iconCls, + plain: me.plain, + text: me.text, + arrowCls: arrowCls, + blank: blank + }); + }, + + onRender: function() { + var me = this; + + me.callParent(arguments); + + if (me.tooltip) { + me.setTooltip(me.tooltip, true); + } + }, + + + setMenu: function(menu, destroyMenu) { + var me = this, + oldMenu = me.menu, + arrowEl = me.arrowEl; + + if (oldMenu) { + delete oldMenu.parentItem; + delete oldMenu.parentMenu; + delete oldMenu.ownerCt; + delete oldMenu.ownerItem; + + if (destroyMenu === true || (destroyMenu !== false && me.destroyMenu)) { + Ext.destroy(oldMenu); + } + } + if (menu) { + me.menu = Ext.menu.Manager.get(menu); + me.menu.ownerItem = me; + } else { + me.menu = null; + } + + if (me.rendered && !me.destroying && arrowEl) { + arrowEl[me.menu ? 'addCls' : 'removeCls'](me.arrowCls); + } + }, + + + setHandler: function(fn, scope) { + this.handler = fn || null; + this.scope = scope; + }, + + + setIcon: function(icon){ + var iconEl = this.iconEl; + if (iconEl) { + iconEl.src = icon || Ext.BLANK_IMAGE_URL; + } + this.icon = icon; + }, + + + setIconCls: function(iconCls) { + var me = this, + iconEl = me.iconEl; + + if (iconEl) { + if (me.iconCls) { + iconEl.removeCls(me.iconCls); + } + + if (iconCls) { + iconEl.addCls(iconCls); + } + } + + me.iconCls = iconCls; + }, + + + setText: function(text) { + var me = this, + el = me.textEl || me.el; + + me.text = text; + + if (me.rendered) { + el.update(text || ''); + + me.ownerCt.updateLayout(); + } + }, + + getTipAttr: function(){ + return this.tooltipType == 'qtip' ? 'data-qtip' : 'title'; + }, + + + clearTip: function() { + if (Ext.isObject(this.tooltip)) { + Ext.tip.QuickTipManager.unregister(this.itemEl); + } + }, + + + setTooltip: function(tooltip, initial) { + var me = this; + + if (me.rendered) { + if (!initial) { + me.clearTip(); + } + + if (Ext.isObject(tooltip)) { + Ext.tip.QuickTipManager.register(Ext.apply({ + target: me.itemEl.id + }, + tooltip)); + me.tooltip = tooltip; + } else { + me.itemEl.dom.setAttribute(me.getTipAttr(), tooltip); + } + } else { + me.tooltip = tooltip; + } + + return me; + } +}); + + +Ext.define('Ext.menu.CheckItem', { + extend: 'Ext.menu.Item', + alias: 'widget.menucheckitem', + + + + + + + + + + + checkedCls: Ext.baseCSSPrefix + 'menu-item-checked', + + uncheckedCls: Ext.baseCSSPrefix + 'menu-item-unchecked', + + groupCls: Ext.baseCSSPrefix + 'menu-group-icon', + + + hideOnClick: false, + + + checkChangeDisabled: false, + + afterRender: function() { + var me = this; + me.callParent(); + me.checked = !me.checked; + me.setChecked(!me.checked, true); + if (me.checkChangeDisabled) { + me.disableCheckChange(); + } + }, + + initComponent: function() { + var me = this; + me.addEvents( + + 'beforecheckchange', + + + 'checkchange' + ); + + me.callParent(arguments); + + Ext.menu.Manager.registerCheckable(me); + + if (me.group) { + if (!me.iconCls) { + me.iconCls = me.groupCls; + } + if (me.initialConfig.hideOnClick !== false) { + me.hideOnClick = true; + } + } + }, + + + disableCheckChange: function() { + var me = this, + iconEl = me.iconEl; + + if (iconEl) { + iconEl.addCls(me.disabledCls); + } + + + if (!(Ext.isIE9 && Ext.isStrict) && me.rendered) { + me.el.repaint(); + } + me.checkChangeDisabled = true; + }, + + + enableCheckChange: function() { + var me = this, + iconEl = me.iconEl; + + if (iconEl) { + iconEl.removeCls(me.disabledCls); + } + me.checkChangeDisabled = false; + }, + + onClick: function(e) { + var me = this; + if(!me.disabled && !me.checkChangeDisabled && !(me.checked && me.group)) { + me.setChecked(!me.checked); + } + this.callParent([e]); + }, + + onDestroy: function() { + Ext.menu.Manager.unregisterCheckable(this); + this.callParent(arguments); + }, + + + setChecked: function(checked, suppressEvents) { + var me = this; + if (me.checked !== checked && (suppressEvents || me.fireEvent('beforecheckchange', me, checked) !== false)) { + if (me.el) { + me.el[checked ? 'addCls' : 'removeCls'](me.checkedCls)[!checked ? 'addCls' : 'removeCls'](me.uncheckedCls); + } + me.checked = checked; + Ext.menu.Manager.onCheckChange(me, checked); + if (!suppressEvents) { + Ext.callback(me.checkHandler, me.scope, [me, checked]); + me.fireEvent('checkchange', me, checked); + } + } + } +}); + + +Ext.define('Ext.menu.KeyNav', { + extend: 'Ext.util.KeyNav', + + requires: ['Ext.FocusManager'], + + constructor: function(menu) { + var me = this; + + me.menu = menu; + me.callParent([menu.el, { + down: me.down, + enter: me.enter, + esc: me.escape, + left: me.left, + right: me.right, + space: me.enter, + tab: me.tab, + up: me.up + }]); + }, + + down: function(e) { + var me = this, + fi = me.menu.focusedItem; + + if (fi && e.getKey() == Ext.EventObject.DOWN && me.isWhitelisted(fi)) { + return true; + } + me.focusNextItem(1); + }, + + enter: function(e) { + var menu = this.menu, + focused = menu.focusedItem; + + if (menu.activeItem) { + menu.onClick(e); + } else if (focused && focused.isFormField) { + + return true; + } + }, + + escape: function(e) { + Ext.menu.Manager.hideAll(); + }, + + focusNextItem: function(step) { + var menu = this.menu, + items = menu.items, + focusedItem = menu.focusedItem, + startIdx = focusedItem ? items.indexOf(focusedItem) : -1, + idx = startIdx + step, + item; + + while (idx != startIdx) { + if (idx < 0) { + idx = items.length - 1; + } else if (idx >= items.length) { + idx = 0; + } + + item = items.getAt(idx); + if (menu.canActivateItem(item)) { + menu.setActiveItem(item); + break; + } + idx += step; + } + }, + + isWhitelisted: function(item) { + return Ext.FocusManager.isWhitelisted(item); + }, + + left: function(e) { + var menu = this.menu, + fi = menu.focusedItem, + ai = menu.activeItem; + + if (fi && this.isWhitelisted(fi)) { + return true; + } + + menu.hide(); + if (menu.parentMenu) { + menu.parentMenu.focus(); + } + }, + + right: function(e) { + var menu = this.menu, + fi = menu.focusedItem, + ai = menu.activeItem, + am; + + if (fi && this.isWhitelisted(fi)) { + return true; + } + + if (ai) { + am = menu.activeItem.menu; + if (am) { + ai.expandMenu(0); + Ext.defer(function() { + am.setActiveItem(am.items.getAt(0)); + }, 25); + } + } + }, + + tab: function(e) { + var me = this; + + if (e.shiftKey) { + me.up(e); + } else { + me.down(e); + } + }, + + up: function(e) { + var me = this, + fi = me.menu.focusedItem; + + if (fi && e.getKey() == Ext.EventObject.UP && me.isWhitelisted(fi)) { + return true; + } + me.focusNextItem(-1); + } +}); + + +Ext.define('Ext.menu.Separator', { + extend: 'Ext.menu.Item', + alias: 'widget.menuseparator', + + + + + canActivate: false, + + + + + + + + focusable: false, + + + + + + + hideOnClick: false, + + + + + + + + + + + + + + + plain: true, + + + separatorCls: Ext.baseCSSPrefix + 'menu-item-separator', + + + text: ' ', + + beforeRender: function(ct, pos) { + var me = this; + + me.callParent(); + + me.addCls(me.separatorCls); + } +}); + + +Ext.define('Ext.menu.Menu', { + extend: 'Ext.panel.Panel', + alias: 'widget.menu', + requires: [ + 'Ext.layout.container.Fit', + 'Ext.layout.container.VBox', + 'Ext.menu.CheckItem', + 'Ext.menu.Item', + 'Ext.menu.KeyNav', + 'Ext.menu.Manager', + 'Ext.menu.Separator' + ], + + + + + enableKeyNav: true, + + + allowOtherMenus: false, + + + ariaRole: 'menu', + + + + + defaultAlign: 'tl-bl?', + + + floating: true, + + + constrain: true, + + + hidden: true, + + hideMode: 'visibility', + + + ignoreParentClicks: false, + + + isMenu: true, + + + + + showSeparator : true, + + + minWidth: undefined, + + defaultMinWidth: 120, + + + + initComponent: function() { + var me = this, + prefix = Ext.baseCSSPrefix, + cls = [prefix + 'menu'], + bodyCls = me.bodyCls ? [me.bodyCls] : [], + isFloating = me.floating !== false; + + me.addEvents( + + 'click', + + + 'mouseenter', + + + 'mouseleave', + + + 'mouseover' + ); + + Ext.menu.Manager.register(me); + + + if (me.plain) { + cls.push(prefix + 'menu-plain'); + } + me.cls = cls.join(' '); + + + bodyCls.unshift(prefix + 'menu-body'); + me.bodyCls = bodyCls.join(' '); + + + + + + if (!me.layout) { + me.layout = { + type: 'vbox', + align: 'stretchmax', + overflowHandler: 'Scroller' + }; + } + + + if (isFloating && me.minWidth === undefined) { + me.minWidth = me.defaultMinWidth; + } + + + if (!isFloating && me.initialConfig.hidden !== true) { + me.hidden = false; + } + + me.callParent(arguments); + + me.on('beforeshow', function() { + var hasItems = !!me.items.length; + + + + if (hasItems && me.rendered) { + me.el.setStyle('visibility', null); + } + return hasItems; + }); + }, + + beforeRender: function() { + this.callParent(arguments); + + + + if (!this.getSizeModel().width.shrinkWrap) { + this.layout.align = 'stretch'; + } + }, + + onBoxReady: function() { + var me = this, + separatorSpec; + + me.callParent(arguments); + + + if (me.showSeparator) { + separatorSpec = { + cls: Ext.baseCSSPrefix + 'menu-icon-separator', + html: ' ' + }; + if ((!Ext.isStrict && Ext.isIE) || Ext.isIE6) { + separatorSpec.style = 'height:' + me.el.getHeight() + 'px'; + } + me.iconSepEl = me.layout.getElementTarget().insertFirst(separatorSpec); + } + + me.mon(me.el, { + click: me.onClick, + mouseover: me.onMouseOver, + scope: me + }); + me.mouseMonitor = me.el.monitorMouseLeave(100, me.onMouseLeave, me); + + if (me.enableKeyNav) { + me.keyNav = new Ext.menu.KeyNav(me); + } + }, + + getBubbleTarget: function() { + + + + return this.parentMenu || this.ownerButton || this.callParent(arguments); + }, + + + canActivateItem: function(item) { + return item && !item.isDisabled() && item.isVisible() && (item.canActivate || item.getXTypes().indexOf('menuitem') < 0); + }, + + + deactivateActiveItem: function(andBlurFocusedItem) { + var me = this, + activeItem = me.activeItem, + focusedItem = me.focusedItem; + + if (activeItem) { + activeItem.deactivate(); + if (!activeItem.activated) { + delete me.activeItem; + } + } + + + + if (focusedItem && andBlurFocusedItem) { + focusedItem.blur(); + delete me.focusedItem; + } + }, + + + getFocusEl: function() { + return this.focusedItem || this.el; + }, + + + hide: function() { + this.deactivateActiveItem(true); + this.callParent(arguments); + }, + + + getItemFromEvent: function(e) { + return this.getChildByElement(e.getTarget()); + }, + + lookupComponent: function(cmp) { + var me = this; + + if (typeof cmp == 'string') { + cmp = me.lookupItemFromString(cmp); + } else if (Ext.isObject(cmp)) { + cmp = me.lookupItemFromObject(cmp); + } + + + + cmp.minWidth = cmp.minWidth || me.minWidth; + + return cmp; + }, + + + lookupItemFromObject: function(cmp) { + var me = this, + prefix = Ext.baseCSSPrefix, + cls; + + if (!cmp.isComponent) { + if (!cmp.xtype) { + cmp = Ext.create('Ext.menu.' + (Ext.isBoolean(cmp.checked) ? 'Check': '') + 'Item', cmp); + } else { + cmp = Ext.ComponentManager.create(cmp, cmp.xtype); + } + } + + if (cmp.isMenuItem) { + cmp.parentMenu = me; + } + + if (!cmp.isMenuItem && !cmp.dock) { + cls = [prefix + 'menu-item', prefix + 'menu-item-cmp']; + + if (!me.plain && (cmp.indent === true || cmp.iconCls === 'no-icon')) { + cls.push(prefix + 'menu-item-indent'); + } + + if (cmp.rendered) { + cmp.el.addCls(cls); + } else { + cmp.cls = (cmp.cls ? cmp.cls : '') + ' ' + cls.join(' '); + } + } + return cmp; + }, + + + lookupItemFromString: function(cmp) { + return (cmp == 'separator' || cmp == '-') ? + new Ext.menu.Separator() + : new Ext.menu.Item({ + canActivate: false, + hideOnClick: false, + plain: true, + text: cmp + }); + }, + + onClick: function(e) { + var me = this, + item; + + if (me.disabled) { + e.stopEvent(); + return; + } + + item = (e.type === 'click') ? me.getItemFromEvent(e) : me.activeItem; + if (item && item.isMenuItem) { + if (!item.menu || !me.ignoreParentClicks) { + item.onClick(e); + } else { + e.stopEvent(); + } + } + + if (!item || item.disabled) { + item = undefined; + } + me.fireEvent('click', me, item, e); + }, + + onDestroy: function() { + var me = this; + + Ext.menu.Manager.unregister(me); + delete me.parentMenu; + delete me.ownerButton; + if (me.rendered) { + me.el.un(me.mouseMonitor); + Ext.destroy(me.keyNav); + delete me.keyNav; + } + me.callParent(arguments); + }, + + onMouseLeave: function(e) { + var me = this; + + me.deactivateActiveItem(); + + if (me.disabled) { + return; + } + + me.fireEvent('mouseleave', me, e); + }, + + onMouseOver: function(e) { + var me = this, + fromEl = e.getRelatedTarget(), + mouseEnter = !me.el.contains(fromEl), + item = me.getItemFromEvent(e), + parentMenu = me.parentMenu, + parentItem = me.parentItem; + + if (mouseEnter && parentMenu) { + parentMenu.setActiveItem(parentItem); + parentItem.cancelDeferHide(); + parentMenu.mouseMonitor.mouseenter(); + } + + if (me.disabled) { + return; + } + + + if (item && !item.activated) { + me.setActiveItem(item); + if (item.activated && item.expandMenu) { + item.expandMenu(); + } + } + if (mouseEnter) { + me.fireEvent('mouseenter', me, e); + } + me.fireEvent('mouseover', me, item, e); + }, + + setActiveItem: function(item) { + var me = this; + + if (item && (item != me.activeItem)) { + me.deactivateActiveItem(); + if (me.canActivateItem(item)) { + if (item.activate) { + item.activate(); + if (item.activated) { + me.activeItem = item; + me.focusedItem = item; + me.focus(); + } + } else { + item.focus(); + me.focusedItem = item; + } + } + item.el.scrollIntoView(me.layout.getRenderTarget()); + } + }, + + + showBy: function(cmp, pos, off) { + var me = this; + + if (me.floating && cmp) { + me.show(); + + + + + me.setPagePosition(me.el.getAlignToXY(cmp.el || cmp, pos || me.defaultAlign, off)); + me.setVerticalPosition(); + } + return me; + }, + + show: function() { + var me = this, + parentEl, viewHeight, result, + maxWas = me.maxHeight; + + + if (!me.rendered){ + me.doAutoRender(); + } + + + if (me.floating) { + + parentEl = Ext.fly(me.el.getScopeParent()); + viewHeight = parentEl.getViewSize().height; + me.maxHeight = Math.min(maxWas || viewHeight, viewHeight); + } + + result = me.callParent(arguments); + me.maxHeight = maxWas; + return result; + }, + + afterComponentLayout: function(width, height, oldWidth, oldHeight){ + var me = this; + me.callParent(arguments); + + if (me.showSeparator){ + me.iconSepEl.setHeight(me.componentLayout.lastComponentSize.contentHeight); + } + }, + + + + + setVerticalPosition: function(){ + var me = this, + max, + y = me.el.getY(), + returnY = y, + height = me.getHeight(), + viewportHeight = Ext.Element.getViewportHeight().height, + parentEl = Ext.fly(me.el.getScopeParent()), + viewHeight = parentEl.getViewSize().height, + normalY = y - parentEl.getScroll().top; + + parentEl = null; + + if (me.floating) { + max = me.maxHeight ? me.maxHeight : viewHeight - normalY; + if (height > viewHeight) { + returnY = y - normalY; + } else if (max < height) { + returnY = y - (height - max); + } else if((y + height) > viewportHeight){ + returnY = viewportHeight - height; + } + } + me.el.setY(returnY); + } +}); + + + Ext.define('Ext.menu.ColorPicker', { + extend: 'Ext.menu.Menu', + + alias: 'widget.colormenu', + + requires: [ + 'Ext.picker.Color' + ], + + + hideOnClick : true, + + + pickerId : null, + + + + + + + + initComponent : function(){ + var me = this, + cfg = Ext.apply({}, me.initialConfig); + + + delete cfg.listeners; + Ext.apply(me, { + plain: true, + showSeparator: false, + items: Ext.applyIf({ + cls: Ext.baseCSSPrefix + 'menu-color-item', + id: me.pickerId, + xtype: 'colorpicker' + }, cfg) + }); + + me.callParent(arguments); + + me.picker = me.down('colorpicker'); + + + me.relayEvents(me.picker, ['select']); + + if (me.hideOnClick) { + me.on('select', me.hidePickerOnSelect, me); + } + }, + + + hidePickerOnSelect: function() { + Ext.menu.Manager.hideAll(); + } + }); + + + Ext.define('Ext.menu.DatePicker', { + extend: 'Ext.menu.Menu', + + alias: 'widget.datemenu', + + requires: [ + 'Ext.picker.Date' + ], + + + hideOnClick : true, + + + pickerId : null, + + + + + + initComponent : function(){ + var me = this, + cfg = Ext.apply({}, me.initialConfig); + + + delete cfg.listeners; + + Ext.apply(me, { + showSeparator: false, + plain: true, + border: false, + bodyPadding: 0, + items: Ext.applyIf({ + cls: Ext.baseCSSPrefix + 'menu-date-item', + id: me.pickerId, + xtype: 'datepicker' + }, cfg) + }); + + me.callParent(arguments); + + me.picker = me.down('datepicker'); + + me.relayEvents(me.picker, ['select']); + + if (me.hideOnClick) { + me.on('select', me.hidePickerOnSelect, me); + } + }, + + hidePickerOnSelect: function() { + Ext.menu.Manager.hideAll(); + } + }); + + +Ext.define('Ext.panel.Tool', { + extend: 'Ext.Component', + requires: ['Ext.tip.QuickTipManager'], + alias: 'widget.tool', + + baseCls: Ext.baseCSSPrefix + 'tool', + disabledCls: Ext.baseCSSPrefix + 'tool-disabled', + + + toolPressedCls: Ext.baseCSSPrefix + 'tool-pressed', + + toolOverCls: Ext.baseCSSPrefix + 'tool-over', + + ariaRole: 'button', + + childEls: [ + 'toolEl' + ], + + renderTpl: [ + '' + ], + + + + + + + + + + + tooltipType: 'qtip', + + + stopEvent: true, + + height: 15, + width: 15, + + + initComponent: function() { + var me = this; + me.addEvents( + + 'click' + ); + + + me.type = me.type || me.id; + + Ext.applyIf(me.renderData, { + baseCls: me.baseCls, + blank: Ext.BLANK_IMAGE_URL, + type: me.type + }); + + + me.tooltip = me.tooltip || me.qtip; + me.callParent(); + me.on({ + element: 'toolEl', + click: me.onClick, + mousedown: me.onMouseDown, + mouseover: me.onMouseOver, + mouseout: me.onMouseOut, + scope: me + }); + }, + + + afterRender: function() { + var me = this, + attr; + + me.callParent(arguments); + if (me.tooltip) { + if (Ext.isObject(me.tooltip)) { + Ext.tip.QuickTipManager.register(Ext.apply({ + target: me.id + }, me.tooltip)); + } + else { + attr = me.tooltipType == 'qtip' ? 'data-qtip' : 'title'; + me.toolEl.dom.setAttribute(attr, me.tooltip); + } + } + }, + + getFocusEl: function() { + return this.el; + }, + + + setType: function(type) { + var me = this; + + me.type = type; + if (me.rendered) { + me.toolEl.dom.className = me.baseCls + '-' + type; + } + return me; + }, + + + bindTo: function(component) { + this.owner = component; + }, + + + onClick: function(e, target) { + var me = this, + owner; + + if (me.disabled) { + return false; + } + owner = me.owner || me.ownerCt; + + + me.el.removeCls(me.toolPressedCls); + me.el.removeCls(me.toolOverCls); + + if (me.stopEvent !== false) { + e.stopEvent(); + } + + Ext.callback(me.handler, me.scope || me, [e, target, owner, me]); + me.fireEvent('click', me, e); + return true; + }, + + + onDestroy: function(){ + if (Ext.isObject(this.tooltip)) { + Ext.tip.QuickTipManager.unregister(this.id); + } + this.callParent(); + }, + + + onMouseDown: function() { + if (this.disabled) { + return false; + } + + this.el.addCls(this.toolPressedCls); + }, + + + onMouseOver: function() { + if (this.disabled) { + return false; + } + this.el.addCls(this.toolOverCls); + }, + + + onMouseOut: function() { + this.el.removeCls(this.toolOverCls); + } +}); + + +Ext.define('Ext.resizer.SplitterTracker', { + extend: 'Ext.dd.DragTracker', + requires: ['Ext.util.Region'], + enabled: true, + + overlayCls: Ext.baseCSSPrefix + 'resizable-overlay', + + createDragOverlay: function () { + var overlay; + + overlay = this.overlay = Ext.getBody().createChild({ + cls: this.overlayCls, + html: ' ' + }); + + overlay.unselectable(); + overlay.setSize(Ext.Element.getViewWidth(true), Ext.Element.getViewHeight(true)); + overlay.show(); + }, + + getPrevCmp: function() { + var splitter = this.getSplitter(); + return splitter.previousSibling(); + }, + + getNextCmp: function() { + var splitter = this.getSplitter(); + return splitter.nextSibling(); + }, + + + + onBeforeStart: function(e) { + var me = this, + prevCmp = me.getPrevCmp(), + nextCmp = me.getNextCmp(), + collapseEl = me.getSplitter().collapseEl, + target = e.getTarget(), + box; + + if (collapseEl && target === me.getSplitter().collapseEl.dom) { + return false; + } + + + if (nextCmp.collapsed || prevCmp.collapsed) { + return false; + } + + + me.prevBox = prevCmp.getEl().getBox(); + me.nextBox = nextCmp.getEl().getBox(); + me.constrainTo = box = me.calculateConstrainRegion(); + + if (!box) { + return false; + } + + me.createDragOverlay(); + + return box; + }, + + + onStart: function(e) { + var splitter = this.getSplitter(); + splitter.addCls(splitter.baseCls + '-active'); + }, + + + calculateConstrainRegion: function() { + var me = this, + splitter = me.getSplitter(), + splitWidth = splitter.getWidth(), + defaultMin = splitter.defaultSplitMin, + orient = splitter.orientation, + prevBox = me.prevBox, + prevCmp = me.getPrevCmp(), + nextBox = me.nextBox, + nextCmp = me.getNextCmp(), + + + + prevConstrainRegion, nextConstrainRegion; + + + if (orient === 'vertical') { + + + + prevConstrainRegion = new Ext.util.Region( + prevBox.y, + + + (prevCmp.maxWidth ? prevBox.x + prevCmp.maxWidth : nextBox.right - (nextCmp.minWidth || defaultMin)) + splitWidth, + prevBox.bottom, + prevBox.x + (prevCmp.minWidth || defaultMin) + ); + + nextConstrainRegion = new Ext.util.Region( + nextBox.y, + nextBox.right - (nextCmp.minWidth || defaultMin), + nextBox.bottom, + + + (nextCmp.maxWidth ? nextBox.right - nextCmp.maxWidth : prevBox.x + (prevBox.minWidth || defaultMin)) - splitWidth + ); + } else { + + prevConstrainRegion = new Ext.util.Region( + prevBox.y + (prevCmp.minHeight || defaultMin), + prevBox.right, + + + (prevCmp.maxHeight ? prevBox.y + prevCmp.maxHeight : nextBox.bottom - (nextCmp.minHeight || defaultMin)) + splitWidth, + prevBox.x + ); + + nextConstrainRegion = new Ext.util.Region( + + + (nextCmp.maxHeight ? nextBox.bottom - nextCmp.maxHeight : prevBox.y + (prevCmp.minHeight || defaultMin)) - splitWidth, + nextBox.right, + nextBox.bottom - (nextCmp.minHeight || defaultMin), + nextBox.x + ); + } + + + return prevConstrainRegion.intersect(nextConstrainRegion); + }, + + + performResize: function(e, offset) { + var me = this, + splitter = me.getSplitter(), + orient = splitter.orientation, + prevCmp = me.getPrevCmp(), + nextCmp = me.getNextCmp(), + owner = splitter.ownerCt, + flexedSiblings = owner.query('>[flex]'), + len = flexedSiblings.length, + i = 0, + dimension, + size, + totalFlex = 0; + + + for (; i < len; i++) { + size = flexedSiblings[i].getWidth(); + totalFlex += size; + flexedSiblings[i].flex = size; + } + + offset = offset || me.getOffset('dragTarget'); + + if (orient === 'vertical') { + offset = offset[0]; + dimension = 'width'; + } else { + dimension = 'height'; + offset = offset[1]; + } + if (prevCmp) { + size = me.prevBox[dimension] + offset; + if (prevCmp.flex) { + prevCmp.flex = size; + } else { + prevCmp[dimension] = size; + } + } + if (nextCmp) { + size = me.nextBox[dimension] - offset; + if (nextCmp.flex) { + nextCmp.flex = size; + } else { + nextCmp[dimension] = size; + } + } + + owner.updateLayout(); + }, + + + + + endDrag: function () { + var me = this; + + if (me.overlay) { + me.overlay.remove(); + delete me.overlay; + } + + me.callParent(arguments); + }, + + + onEnd: function(e) { + var me = this, + splitter = me.getSplitter(); + + splitter.removeCls(splitter.baseCls + '-active'); + me.performResize(e, me.getOffset('dragTarget')); + }, + + + + onDrag: function(e) { + var me = this, + offset = me.getOffset('dragTarget'), + splitter = me.getSplitter(), + splitEl = splitter.getEl(), + orient = splitter.orientation; + + if (orient === "vertical") { + splitEl.setX(me.startRegion.left + offset[0]); + } else { + splitEl.setY(me.startRegion.top + offset[1]); + } + }, + + getSplitter: function() { + return this.splitter; + } +}); + + +Ext.define('Ext.resizer.BorderSplitterTracker', { + extend: 'Ext.resizer.SplitterTracker', + requires: ['Ext.util.Region'], + + getPrevCmp: null, + getNextCmp: null, + + + calculateConstrainRegion: function() { + var me = this, + splitter = me.splitter, + collapseTarget = splitter.collapseTarget, + defaultSplitMin = splitter.defaultSplitMin, + sizePropCap = splitter.vertical ? 'Width' : 'Height', + minSizeProp = 'min' + sizePropCap, + maxSizeProp = 'max' + sizePropCap, + getSizeMethod = 'get' + sizePropCap, + neighbors = splitter.neighbors, + length = neighbors.length, + box = collapseTarget.el.getBox(), + left = box.x, + top = box.y, + right = box.right, + bottom = box.bottom, + size = splitter.vertical ? (right - left) : (bottom - top), + + i, neighbor, minRange, maxRange, maxGrowth, maxShrink, targetSize; + + + minRange = (collapseTarget[minSizeProp] || Math.min(size,defaultSplitMin)) - size; + + + maxRange = collapseTarget[maxSizeProp]; + if (!maxRange) { + maxRange = 1e9; + } else { + maxRange -= size; + } + targetSize = size; + + for (i = 0; i < length; ++i) { + neighbor = neighbors[i]; + size = neighbor[getSizeMethod](); + + + maxGrowth = size - neighbor[maxSizeProp]; + maxShrink = size - (neighbor[minSizeProp] || Math.min(size,defaultSplitMin)); + + if (!isNaN(maxGrowth)) { + + + if (minRange < maxGrowth) { + minRange = maxGrowth; + } + } + + + + if (maxRange > maxShrink) { + maxRange = maxShrink; + } + } + + if (maxRange - minRange < 2) { + return null; + } + + box = new Ext.util.Region(top, right, bottom, left); + + me.constraintAdjusters[splitter.collapseDirection](box, minRange, maxRange, splitter); + + me.dragInfo = { + minRange: minRange, + maxRange: maxRange, + + targetSize: targetSize + }; + + return box; + }, + + constraintAdjusters: { + + left: function (box, minRange, maxRange, splitter) { + box[0] = box.x = box.left = box.right + minRange; + box.right += maxRange + splitter.getWidth(); + }, + + + top: function (box, minRange, maxRange, splitter) { + box[1] = box.y = box.top = box.bottom + minRange; + box.bottom += maxRange + splitter.getHeight(); + }, + + + bottom: function (box, minRange, maxRange, splitter) { + box.bottom = box.top - minRange; + box.top -= maxRange + splitter.getHeight(); + }, + + + right: function (box, minRange, maxRange, splitter) { + box.right = box.left - minRange; + box.left -= maxRange + splitter.getWidth(); + } + }, + + onBeforeStart: function(e) { + var me = this, + splitter = me.splitter, + collapseTarget = splitter.collapseTarget, + neighbors = splitter.neighbors, + collapseEl = me.getSplitter().collapseEl, + target = e.getTarget(), + length = neighbors.length, + i, neighbor; + + if (collapseEl && target === splitter.collapseEl.dom) { + return false; + } + + if (collapseTarget.collapsed) { + return false; + } + + + for (i = 0; i < length; ++i) { + neighbor = neighbors[i]; + + if (neighbor.collapsed && neighbor.isHorz === collapseTarget.isHorz) { + return false; + } + } + + if (!(me.constrainTo = me.calculateConstrainRegion())) { + return false; + } + + me.createDragOverlay(); + return true; + }, + + performResize: function(e, offset) { + var me = this, + splitter = me.splitter, + collapseDirection = splitter.collapseDirection, + collapseTarget = splitter.collapseTarget, + + adjusters = me.splitAdjusters[splitter.vertical ? 'horz' : 'vert'], + delta = offset[adjusters.index], + dragInfo = me.dragInfo, + + + + + + owner; + + if (collapseDirection == 'right' || collapseDirection == 'bottom') { + + delta = -delta; + } + + + delta = Math.min(Math.max(dragInfo.minRange, delta), dragInfo.maxRange); + + if (delta) { + (owner = splitter.ownerCt).suspendLayouts(); + + adjusters.adjustTarget(collapseTarget, dragInfo.targetSize, delta); + + + + + + + + + + owner.resumeLayouts(true); + } + }, + + splitAdjusters: { + horz: { + index: 0, + + + + adjustTarget: function (target, size, delta) { + target.flex = null; + target.setSize(size + delta); + } + }, + vert: { + index: 1, + + + + adjustTarget: function (target, targetSize, delta) { + target.flex = null; + target.setSize(undefined, targetSize + delta); + } + } + } +}); + + +Ext.define('Ext.resizer.Handle', { + extend: 'Ext.Component', + handleCls: '', + baseHandleCls: Ext.baseCSSPrefix + 'resizable-handle', + + + region: '', + + beforeRender: function() { + var me = this; + + me.callParent(); + + me.addCls( + me.baseHandleCls, + me.baseHandleCls + '-' + me.region, + me.handleCls + ); + }, + + onRender: function() { + this.callParent(arguments); + + this.el.unselectable(); + } +}); + + +Ext.define('Ext.resizer.ResizeTracker', { + extend: 'Ext.dd.DragTracker', + dynamic: true, + preserveRatio: false, + + + constrainTo: null, + + proxyCls: Ext.baseCSSPrefix + 'resizable-proxy', + + constructor: function(config) { + var me = this, + widthRatio, heightRatio, + throttledResizeFn; + + if (!config.el) { + if (config.target.isComponent) { + me.el = config.target.getEl(); + } else { + me.el = config.target; + } + } + this.callParent(arguments); + + + if (me.preserveRatio && me.minWidth && me.minHeight) { + widthRatio = me.minWidth / me.el.getWidth(); + heightRatio = me.minHeight / me.el.getHeight(); + + + + + if (heightRatio > widthRatio) { + me.minWidth = me.el.getWidth() * heightRatio; + } else { + me.minHeight = me.el.getHeight() * widthRatio; + } + } + + + + if (me.throttle) { + throttledResizeFn = Ext.Function.createThrottled(function() { + Ext.resizer.ResizeTracker.prototype.resize.apply(me, arguments); + }, me.throttle); + + me.resize = function(box, direction, atEnd) { + if (atEnd) { + Ext.resizer.ResizeTracker.prototype.resize.apply(me, arguments); + } else { + throttledResizeFn.apply(null, arguments); + } + }; + } + }, + + onBeforeStart: function(e) { + + this.startBox = this.el.getBox(); + }, + + + getDynamicTarget: function() { + var me = this, + target = me.target; + + if (me.dynamic) { + return target; + } else if (!me.proxy) { + me.proxy = me.createProxy(target); + } + me.proxy.show(); + return me.proxy; + }, + + + createProxy: function(target){ + var proxy, + cls = this.proxyCls, + renderTo; + + if (target.isComponent) { + proxy = target.getProxy().addCls(cls); + } else { + renderTo = Ext.getBody(); + if (Ext.scopeResetCSS) { + renderTo = Ext.getBody().createChild({ + cls: Ext.resetCls + }); + } + proxy = target.createProxy({ + tag: 'div', + cls: cls, + id: target.id + '-rzproxy' + }, renderTo); + } + proxy.removeCls(Ext.baseCSSPrefix + 'proxy-el'); + return proxy; + }, + + onStart: function(e) { + + this.activeResizeHandle = Ext.get(this.getDragTarget().id); + + + if (!this.dynamic) { + this.resize(this.startBox, { + horizontal: 'none', + vertical: 'none' + }); + } + }, + + onDrag: function(e) { + + if (this.dynamic || this.proxy) { + this.updateDimensions(e); + } + }, + + updateDimensions: function(e, atEnd) { + var me = this, + region = me.activeResizeHandle.region, + offset = me.getOffset(me.constrainTo ? 'dragTarget' : null), + box = me.startBox, + ratio, + widthAdjust = 0, + heightAdjust = 0, + snappedWidth, + snappedHeight, + adjustX = 0, + adjustY = 0, + dragRatio, + horizDir = offset[0] < 0 ? 'right' : 'left', + vertDir = offset[1] < 0 ? 'down' : 'up', + oppositeCorner, + axis, + newBox, + newHeight, newWidth; + + switch (region) { + case 'south': + heightAdjust = offset[1]; + axis = 2; + break; + case 'north': + heightAdjust = -offset[1]; + adjustY = -heightAdjust; + axis = 2; + break; + case 'east': + widthAdjust = offset[0]; + axis = 1; + break; + case 'west': + widthAdjust = -offset[0]; + adjustX = -widthAdjust; + axis = 1; + break; + case 'northeast': + heightAdjust = -offset[1]; + adjustY = -heightAdjust; + widthAdjust = offset[0]; + oppositeCorner = [box.x, box.y + box.height]; + axis = 3; + break; + case 'southeast': + heightAdjust = offset[1]; + widthAdjust = offset[0]; + oppositeCorner = [box.x, box.y]; + axis = 3; + break; + case 'southwest': + widthAdjust = -offset[0]; + adjustX = -widthAdjust; + heightAdjust = offset[1]; + oppositeCorner = [box.x + box.width, box.y]; + axis = 3; + break; + case 'northwest': + heightAdjust = -offset[1]; + adjustY = -heightAdjust; + widthAdjust = -offset[0]; + adjustX = -widthAdjust; + oppositeCorner = [box.x + box.width, box.y + box.height]; + axis = 3; + break; + } + + newBox = { + width: box.width + widthAdjust, + height: box.height + heightAdjust, + x: box.x + adjustX, + y: box.y + adjustY + }; + + + snappedWidth = Ext.Number.snap(newBox.width, me.widthIncrement); + snappedHeight = Ext.Number.snap(newBox.height, me.heightIncrement); + if (snappedWidth != newBox.width || snappedHeight != newBox.height){ + switch (region) { + case 'northeast': + newBox.y -= snappedHeight - newBox.height; + break; + case 'north': + newBox.y -= snappedHeight - newBox.height; + break; + case 'southwest': + newBox.x -= snappedWidth - newBox.width; + break; + case 'west': + newBox.x -= snappedWidth - newBox.width; + break; + case 'northwest': + newBox.x -= snappedWidth - newBox.width; + newBox.y -= snappedHeight - newBox.height; + } + newBox.width = snappedWidth; + newBox.height = snappedHeight; + } + + + if (newBox.width < me.minWidth || newBox.width > me.maxWidth) { + newBox.width = Ext.Number.constrain(newBox.width, me.minWidth, me.maxWidth); + + + if (adjustX) { + newBox.x = box.x + (box.width - newBox.width); + } + } else { + me.lastX = newBox.x; + } + if (newBox.height < me.minHeight || newBox.height > me.maxHeight) { + newBox.height = Ext.Number.constrain(newBox.height, me.minHeight, me.maxHeight); + + + if (adjustY) { + newBox.y = box.y + (box.height - newBox.height); + } + } else { + me.lastY = newBox.y; + } + + + if (me.preserveRatio || e.shiftKey) { + ratio = me.startBox.width / me.startBox.height; + + + newHeight = Math.min(Math.max(me.minHeight, newBox.width / ratio), me.maxHeight); + newWidth = Math.min(Math.max(me.minWidth, newBox.height * ratio), me.maxWidth); + + + if (axis == 1) { + newBox.height = newHeight; + } + + + else if (axis == 2) { + newBox.width = newWidth; + } + + + else { + + + dragRatio = Math.abs(oppositeCorner[0] - this.lastXY[0]) / Math.abs(oppositeCorner[1] - this.lastXY[1]); + + + if (dragRatio > ratio) { + newBox.height = newHeight; + } else { + newBox.width = newWidth; + } + + + if (region == 'northeast') { + newBox.y = box.y - (newBox.height - box.height); + } else if (region == 'northwest') { + newBox.y = box.y - (newBox.height - box.height); + newBox.x = box.x - (newBox.width - box.width); + } else if (region == 'southwest') { + newBox.x = box.x - (newBox.width - box.width); + } + } + } + + if (heightAdjust === 0) { + vertDir = 'none'; + } + if (widthAdjust === 0) { + horizDir = 'none'; + } + me.resize(newBox, { + horizontal: horizDir, + vertical: vertDir + }, atEnd); + }, + + getResizeTarget: function(atEnd) { + return atEnd ? this.target : this.getDynamicTarget(); + }, + + resize: function(box, direction, atEnd) { + var target = this.getResizeTarget(atEnd); + if (target.isComponent) { + target.setSize(box.width, box.height); + if (target.floating) { + target.setPagePosition(box.x, box.y); + } + } else { + target.setBox(box); + } + + + target = this.originalTarget; + if (target && (this.dynamic || atEnd)) { + if (target.isComponent) { + target.setSize(box.width, box.height); + if (target.floating) { + target.setPagePosition(box.x, box.y); + } + } else { + target.setBox(box); + } + } + }, + + onEnd: function(e) { + this.updateDimensions(e, true); + if (this.proxy) { + this.proxy.hide(); + } + } +}); + + +Ext.define('Ext.resizer.Resizer', { + mixins: { + observable: 'Ext.util.Observable' + }, + uses: ['Ext.resizer.ResizeTracker', 'Ext.Component'], + + alternateClassName: 'Ext.Resizable', + + handleCls: Ext.baseCSSPrefix + 'resizable-handle', + pinnedCls: Ext.baseCSSPrefix + 'resizable-pinned', + overCls: Ext.baseCSSPrefix + 'resizable-over', + wrapCls: Ext.baseCSSPrefix + 'resizable-wrap', + + + dynamic: true, + + + handles: 's e se', + + + height : null, + + + width : null, + + + heightIncrement : 0, + + + widthIncrement : 0, + + + minHeight : 20, + + + minWidth : 20, + + + maxHeight : 10000, + + + maxWidth : 10000, + + + pinned: false, + + + preserveRatio: false, + + + transparent: false, + + + + possiblePositions: { + n: 'north', + s: 'south', + e: 'east', + w: 'west', + se: 'southeast', + sw: 'southwest', + nw: 'northwest', + ne: 'northeast' + }, + + + + + + constructor: function(config) { + var me = this, + target, + targetEl, + tag, + handles = me.handles, + handleCls, + possibles, + len, + i = 0, + pos, + handleEls = [], + eastWestStyle, style, + box; + + me.addEvents( + + 'beforeresize', + + 'resizedrag', + + 'resize' + ); + + if (Ext.isString(config) || Ext.isElement(config) || config.dom) { + target = config; + config = arguments[1] || {}; + config.target = target; + } + + me.mixins.observable.constructor.call(me, config); + + + + target = me.target; + if (target) { + if (target.isComponent) { + me.el = target.getEl(); + if (target.minWidth) { + me.minWidth = target.minWidth; + } + if (target.minHeight) { + me.minHeight = target.minHeight; + } + if (target.maxWidth) { + me.maxWidth = target.maxWidth; + } + if (target.maxHeight) { + me.maxHeight = target.maxHeight; + } + if (target.floating) { + if (!me.hasOwnProperty('handles')) { + me.handles = 'n ne e se s sw w nw'; + } + } + } else { + me.el = me.target = Ext.get(target); + } + } + + else { + me.target = me.el = Ext.get(me.el); + } + + + + + tag = me.el.dom.tagName.toUpperCase(); + if (tag == 'TEXTAREA' || tag == 'IMG' || tag == 'TABLE') { + + me.originalTarget = me.target; + targetEl = me.el; + box = targetEl.getBox(); + me.target = me.el = me.el.wrap({ + cls: me.wrapCls, + id: me.el.id + '-rzwrap', + style: targetEl.getStyles('margin-top', 'margin-bottom') + }); + + + me.el.setPositioning(targetEl.getPositioning()); + targetEl.clearPositioning(); + me.el.setBox(box); + + + targetEl.setStyle('position', 'absolute'); + } + + + + me.el.position(); + if (me.pinned) { + me.el.addCls(me.pinnedCls); + } + + + me.resizeTracker = new Ext.resizer.ResizeTracker({ + disabled: me.disabled, + target: me.target, + constrainTo: me.constrainTo, + overCls: me.overCls, + throttle: me.throttle, + originalTarget: me.originalTarget, + delegate: '.' + me.handleCls, + dynamic: me.dynamic, + preserveRatio: me.preserveRatio, + heightIncrement: me.heightIncrement, + widthIncrement: me.widthIncrement, + minHeight: me.minHeight, + maxHeight: me.maxHeight, + minWidth: me.minWidth, + maxWidth: me.maxWidth + }); + + + me.resizeTracker.on({ + mousedown: me.onBeforeResize, + drag: me.onResize, + dragend: me.onResizeEnd, + scope: me + }); + + if (me.handles == 'all') { + me.handles = 'n s e w ne nw se sw'; + } + + handles = me.handles = me.handles.split(/ |\s*?[,;]\s*?/); + possibles = me.possiblePositions; + len = handles.length; + handleCls = me.handleCls + ' ' + (me.target.isComponent ? (me.target.baseCls + '-handle ') : '') + me.handleCls + '-'; + + + eastWestStyle = Ext.isIE6 ? ' style="height:' + me.el.getHeight() + 'px"' : ''; + + for (; i < len; i++){ + + if (handles[i] && possibles[handles[i]]) { + pos = possibles[handles[i]]; + if (pos === 'east' || pos === 'west') { + style = eastWestStyle; + } else { + style = ''; + } + handleEls.push('
    '); + } + } + Ext.DomHelper.append(me.el, handleEls.join('')); + + + for (i = 0; i < len; i++){ + + if (handles[i] && possibles[handles[i]]) { + pos = possibles[handles[i]]; + me[pos] = me.el.getById(me.el.id + '-' + pos + '-handle'); + me[pos].region = pos; + me[pos].unselectable(); + if (me.transparent) { + me[pos].setOpacity(0); + } + } + } + + + if (Ext.isNumber(me.width)) { + me.width = Ext.Number.constrain(me.width, me.minWidth, me.maxWidth); + } + if (Ext.isNumber(me.height)) { + me.height = Ext.Number.constrain(me.height, me.minHeight, me.maxHeight); + } + + + if (me.width !== null || me.height !== null) { + if (me.originalTarget) { + me.originalTarget.setWidth(me.width); + me.originalTarget.setHeight(me.height); + } + me.resizeTo(me.width, me.height); + } + + me.forceHandlesHeight(); + }, + + disable: function() { + this.resizeTracker.disable(); + }, + + enable: function() { + this.resizeTracker.enable(); + }, + + + onBeforeResize: function(tracker, e) { + var box = this.el.getBox(); + return this.fireEvent('beforeresize', this, box.width, box.height, e); + }, + + + onResize: function(tracker, e) { + var me = this, + box = me.el.getBox(); + + me.forceHandlesHeight(); + return me.fireEvent('resizedrag', me, box.width, box.height, e); + }, + + + onResizeEnd: function(tracker, e) { + var me = this, + box = me.el.getBox(); + + me.forceHandlesHeight(); + return me.fireEvent('resize', me, box.width, box.height, e); + }, + + + resizeTo : function(width, height) { + var me = this; + me.target.setSize(width, height); + me.fireEvent('resize', me, width, height, null); + }, + + + getEl : function() { + return this.el; + }, + + + getTarget: function() { + return this.target; + }, + + destroy: function() { + var i = 0, + handles = this.handles, + len = handles.length, + positions = this.possiblePositions; + + for (; i < len; i++) { + this[positions[handles[i]]].remove(); + } + }, + + + forceHandlesHeight : function() { + var me = this, + handle; + if (Ext.isIE6) { + handle = me.east; + if (handle) { + handle.setHeight(me.el.getHeight()); + } + handle = me.west; + if (handle) { + handle.setHeight(me.el.getHeight()); + } + me.el.repaint(); + } + } +}); + + +Ext.define('Ext.selection.CellModel', { + extend: 'Ext.selection.Model', + alias: 'selection.cellmodel', + requires: ['Ext.util.KeyNav'], + + isCellModel: true, + + + enableKeyNav: true, + + + preventWrap: false, + + + noSelection: { + row: -1, + column: -1 + }, + + constructor: function() { + this.addEvents( + + 'deselect', + + + 'select' + ); + this.callParent(arguments); + }, + + bindComponent: function(view) { + var me = this, + grid = view.ownerCt; + me.primaryView = view; + me.views = me.views || []; + me.views.push(view); + me.bindStore(view.getStore(), true); + + view.on({ + cellmousedown: me.onMouseDown, + refresh: me.onViewRefresh, + scope: me + }); + if (grid.optimizedColumnMove !== false) { + grid.on('columnmove', me.onColumnMove, me); + } + + if (me.enableKeyNav) { + me.initKeyNav(view); + } + }, + + initKeyNav: function(view) { + var me = this; + + if (!view.rendered) { + view.on('render', Ext.Function.bind(me.initKeyNav, me, [view], 0), me, {single: true}); + return; + } + + view.el.set({ + tabIndex: -1 + }); + + + + me.keyNav = new Ext.util.KeyNav({ + target: view.el, + ignoreInputFields: true, + up: me.onKeyUp, + down: me.onKeyDown, + right: me.onKeyRight, + left: me.onKeyLeft, + tab: me.onKeyTab, + scope: me + }); + }, + + getHeaderCt: function() { + var selection = this.getCurrentPosition(), + view = selection ? selection.view : this.primaryView; + + return view.headerCt; + }, + + onKeyUp: function(e, t) { + this.keyNavigation = true; + this.move('up', e); + this.keyNavigation = false; + }, + + onKeyDown: function(e, t) { + this.keyNavigation = true; + this.move('down', e); + this.keyNavigation = false; + }, + + onKeyLeft: function(e, t) { + this.keyNavigation = true; + this.move('left', e); + this.keyNavigation = false; + }, + + onKeyRight: function(e, t) { + this.keyNavigation = true; + this.move('right', e); + this.keyNavigation = false; + }, + + move: function(dir, e) { + var me = this, + pos = me.getCurrentPosition(), + + + newPos = pos.view.walkCells(pos, dir, e, me.preventWrap); + + + if (newPos) { + newPos.view = pos.view; + return me.setCurrentPosition(newPos); + } + }, + + + getCurrentPosition: function() { + return this.selection; + }, + + + setCurrentPosition: function(pos) { + var me = this; + + + me.lastSelection = me.selection; + if (me.selection) { + me.onCellDeselect(me.selection); + } + + if (pos) { + me.nextSelection = new me.Selection(me); + me.nextSelection.setPosition(pos); + me.onCellSelect(me.nextSelection); + + + return me.selection = me.nextSelection; + } + }, + + + onStoreRemove: function(store, record, index) { + var me = this, + pos = me.getCurrentPosition(); + + me.callParent(arguments); + if (pos) { + + + if (pos.row == index) { + if (index < store.getCount() - 1) { + pos.setPosition(index, pos.column); + me.setCurrentPosition(pos); + } else { + delete me.selection; + } + } + + + else if (index < pos.row) { + pos.setPosition(pos.row - 1, pos.column); + me.setCurrentPosition(pos); + } + } + }, + + + onMouseDown: function(view, cell, cellIndex, record, row, rowIndex, e) { + this.setCurrentPosition({ + view: view, + row: rowIndex, + column: cellIndex + }); + }, + + + + onCellSelect: function(position, supressEvent) { + if (position && position.row !== undefined && position.row > -1) { + this.doSelect(position.view.getStore().getAt(position.row), false, supressEvent); + } + }, + + + + onCellDeselect: function(position, supressEvent) { + if (position && position.row !== undefined) { + this.doDeselect(position.view.getStore().getAt(position.row), supressEvent); + } + }, + + onSelectChange: function(record, isSelected, suppressEvent, commitFn) { + var me = this, + pos, + eventName, + view; + + if (isSelected) { + pos = me.nextSelection; + eventName = 'select'; + } else { + pos = me.lastSelection || me.noSelection; + eventName = 'deselect'; + } + + + + + view = pos.view || me.primaryView; + + if ((suppressEvent || me.fireEvent('before' + eventName, me, record, pos.row, pos.column)) !== false && + commitFn() !== false) { + + if (isSelected) { + view.onCellSelect(pos); + view.onCellFocus(pos); + } else { + view.onCellDeselect(pos); + delete me.selection; + } + + if (!suppressEvent) { + me.fireEvent(eventName, me, record, pos.row, pos.column); + } + } + }, + + + onKeyTab: function(e, t) { + var me = this, + editingPlugin = me.getCurrentPosition().view.editingPlugin; + + + if (editingPlugin && me.wasEditing) { + me.onEditorTab(editingPlugin, e) + } else { + me.move(e.shiftKey ? 'left' : 'right', e); + } + }, + + onEditorTab: function(editingPlugin, e) { + var me = this, + direction = e.shiftKey ? 'left' : 'right', + position = me.move(direction, e); + + + if (position) { + + if (editingPlugin.startEditByPosition(position)) { + me.wasEditing = false; + } + + + else { + me.wasEditing = true; + if (!position.columnHeader.dataIndex) { + me.onEditorTab(editingPlugin, e); + } + } + } + }, + + refresh: function() { + var pos = this.getCurrentPosition(), + selRowIdx; + + + if (pos && (selRowIdx = this.store.indexOf(this.selected.last())) !== -1) { + pos.row = selRowIdx; + } + }, + + + onColumnMove: function(headerCt, header, fromIdx, toIdx) { + var grid = headerCt.up('tablepanel'); + if (grid) { + this.onViewRefresh(grid.view); + } + }, + + onViewRefresh: function(view) { + var me = this, + pos = me.getCurrentPosition(), + headerCt = view.headerCt, + record, columnHeader; + + + + if (pos && pos.view === view) { + record = pos.record; + columnHeader = pos.columnHeader; + + + if (!columnHeader.isDescendantOf(headerCt)) { + + + + columnHeader = headerCt.queryById(columnHeader.id) || + headerCt.down('[text="' + columnHeader.text + '"]') || + headerCt.down('[dataIndex="' + columnHeader.dataIndex + '"]'); + } + + + + + + if (columnHeader && (view.store.indexOfId(record.getId()) !== -1)) { + me.setCurrentPosition({ + row: record, + column: columnHeader, + view: view + }); + } + } + }, + + selectByPosition: function(position) { + this.setCurrentPosition(position); + } +}, function() { + + + + var Selection = this.prototype.Selection = function(model) { + this.model = model; + }; + + Selection.prototype.setPosition = function(row, col) { + var me = this, + view; + + + if (arguments.length === 1) { + + + + if (row.view) { + me.view = view = row.view; + } + col = row.column; + row = row.row; + } + + + + if (!view) { + me.view = view = me.model.primaryView; + } + + + if (typeof row === 'number') { + me.row = row; + me.record = view.store.getAt(row); + } + + else if (row.isModel) { + me.record = row; + me.row = view.indexOf(row); + } + + else if (row.tagName) { + me.record = view.getRecord(row); + me.row = view.indexOf(me.record); + } + + + if (typeof col === 'number') { + me.column = col; + me.columnHeader = view.getHeaderAtIndex(col); + } + + else { + me.columnHeader = col; + me.column = col.getIndex(); + } + return me; + } +}); + + +Ext.define('Ext.selection.RowModel', { + extend: 'Ext.selection.Model', + alias: 'selection.rowmodel', + requires: ['Ext.util.KeyNav'], + + + deltaScroll: 5, + + + enableKeyNav: true, + + + ignoreRightMouseSelection: false, + + constructor: function() { + this.addEvents( + + 'beforedeselect', + + + 'beforeselect', + + + 'deselect', + + + 'select' + ); + this.views = []; + this.callParent(arguments); + }, + + bindComponent: function(view) { + var me = this; + + me.views = me.views || []; + me.views.push(view); + me.bindStore(view.getStore(), true); + + view.on({ + itemmousedown: me.onRowMouseDown, + scope: me + }); + + if (me.enableKeyNav) { + me.initKeyNav(view); + } + }, + + initKeyNav: function(view) { + var me = this; + + if (!view.rendered) { + view.on('render', Ext.Function.bind(me.initKeyNav, me, [view], 0), me, {single: true}); + return; + } + + + + view.el.set({ + tabIndex: -1 + }); + + + me.keyNav = new Ext.util.KeyNav({ + target: view, + ignoreInputFields: true, + eventName: 'itemkeydown', + processEvent: function(view, record, node, index, event) { + event.record = record; + event.recordIndex = index; + return event; + }, + up: me.onKeyUp, + down: me.onKeyDown, + right: me.onKeyRight, + left: me.onKeyLeft, + pageDown: me.onKeyPageDown, + pageUp: me.onKeyPageUp, + home: me.onKeyHome, + end: me.onKeyEnd, + space: me.onKeySpace, + enter: me.onKeyEnter, + scope: me + }); + }, + + + + + getRowsVisible: function() { + var rowsVisible = false, + view = this.views[0], + row = view.getNode(0), + rowHeight, gridViewHeight; + + if (row) { + rowHeight = Ext.fly(row).getHeight(); + gridViewHeight = view.el.getHeight(); + rowsVisible = Math.floor(gridViewHeight / rowHeight); + } + + return rowsVisible; + }, + + + onKeyEnd: function(e) { + var me = this, + last = me.store.getAt(me.store.getCount() - 1); + + if (last) { + if (e.shiftKey) { + me.selectRange(last, me.lastFocused || 0); + me.setLastFocused(last); + } else if (e.ctrlKey) { + me.setLastFocused(last); + } else { + me.doSelect(last); + } + } + }, + + + onKeyHome: function(e) { + var me = this, + first = me.store.getAt(0); + + if (first) { + if (e.shiftKey) { + me.selectRange(first, me.lastFocused || 0); + me.setLastFocused(first); + } else if (e.ctrlKey) { + me.setLastFocused(first); + } else { + me.doSelect(first, false); + } + } + }, + + + onKeyPageUp: function(e) { + var me = this, + rowsVisible = me.getRowsVisible(), + selIdx, + prevIdx, + prevRecord; + + if (rowsVisible) { + selIdx = e.recordIndex; + prevIdx = selIdx - rowsVisible; + if (prevIdx < 0) { + prevIdx = 0; + } + prevRecord = me.store.getAt(prevIdx); + if (e.shiftKey) { + me.selectRange(prevRecord, e.record, e.ctrlKey, 'up'); + me.setLastFocused(prevRecord); + } else if (e.ctrlKey) { + e.preventDefault(); + me.setLastFocused(prevRecord); + } else { + me.doSelect(prevRecord); + } + + } + }, + + + onKeyPageDown: function(e) { + var me = this, + rowsVisible = me.getRowsVisible(), + selIdx, + nextIdx, + nextRecord; + + if (rowsVisible) { + selIdx = e.recordIndex; + nextIdx = selIdx + rowsVisible; + if (nextIdx >= me.store.getCount()) { + nextIdx = me.store.getCount() - 1; + } + nextRecord = me.store.getAt(nextIdx); + if (e.shiftKey) { + me.selectRange(nextRecord, e.record, e.ctrlKey, 'down'); + me.setLastFocused(nextRecord); + } else if (e.ctrlKey) { + + + e.preventDefault(); + me.setLastFocused(nextRecord); + } else { + me.doSelect(nextRecord); + } + } + }, + + + + onKeySpace: function(e) { + var me = this, + record = me.lastFocused; + + if (record) { + if (me.isSelected(record)) { + me.doDeselect(record, false); + } else { + me.doSelect(record, true); + } + } + }, + + onKeyEnter: Ext.emptyFn, + + + + + onKeyUp: function(e) { + var me = this, + idx = me.store.indexOf(me.lastFocused), + record; + + if (idx > 0) { + + + record = me.store.getAt(idx - 1); + if (e.shiftKey && me.lastFocused) { + if (me.isSelected(me.lastFocused) && me.isSelected(record)) { + me.doDeselect(me.lastFocused, true); + me.setLastFocused(record); + } else if (!me.isSelected(me.lastFocused)) { + me.doSelect(me.lastFocused, true); + me.doSelect(record, true); + } else { + me.doSelect(record, true); + } + } else if (e.ctrlKey) { + me.setLastFocused(record); + } else { + me.doSelect(record); + + } + } + + + + + + + + }, + + + + + onKeyDown: function(e) { + var me = this, + idx = me.store.indexOf(me.lastFocused), + record; + + + + if (idx + 1 < me.store.getCount()) { + record = me.store.getAt(idx + 1); + if (me.selected.getCount() === 0) { + if (!e.ctrlKey) { + me.doSelect(record); + } else { + me.setLastFocused(record); + } + + } else if (e.shiftKey && me.lastFocused) { + if (me.isSelected(me.lastFocused) && me.isSelected(record)) { + me.doDeselect(me.lastFocused, true); + me.setLastFocused(record); + } else if (!me.isSelected(me.lastFocused)) { + me.doSelect(me.lastFocused, true); + me.doSelect(record, true); + } else { + me.doSelect(record, true); + } + } else if (e.ctrlKey) { + me.setLastFocused(record); + } else { + me.doSelect(record); + + } + } + }, + + scrollByDeltaX: function(delta) { + var view = this.views[0], + section = view.up(), + hScroll = section.horizontalScroller; + + if (hScroll) { + hScroll.scrollByDeltaX(delta); + } + }, + + onKeyLeft: function(e) { + this.scrollByDeltaX(-this.deltaScroll); + }, + + onKeyRight: function(e) { + this.scrollByDeltaX(this.deltaScroll); + }, + + + + onRowMouseDown: function(view, record, item, index, e) { + if (!this.allowRightMouseSelection(e)) { + return; + } + + if (e.button === 0 || !this.isSelected(record)) { + this.selectWithEvent(record, e); + } + }, + + + allowRightMouseSelection: function(e) { + var disallow = this.ignoreRightMouseSelection && e.button !== 0; + if (disallow) { + disallow = this.hasSelection(); + } + return !disallow; + }, + + + + onSelectChange: function(record, isSelected, suppressEvent, commitFn) { + var me = this, + views = me.views, + viewsLn = views.length, + store = me.store, + rowIdx = store.indexOf(record), + eventName = isSelected ? 'select' : 'deselect', + i = 0; + + if ((suppressEvent || me.fireEvent('before' + eventName, me, record, rowIdx)) !== false && + commitFn() !== false) { + + for (; i < viewsLn; i++) { + if (isSelected) { + views[i].onRowSelect(rowIdx, suppressEvent); + } else { + views[i].onRowDeselect(rowIdx, suppressEvent); + } + } + + if (!suppressEvent) { + me.fireEvent(eventName, me, record, rowIdx); + } + } + }, + + + + onLastFocusChanged: function(oldFocused, newFocused, supressFocus) { + var views = this.views, + viewsLn = views.length, + store = this.store, + rowIdx, + i = 0; + + if (oldFocused) { + rowIdx = store.indexOf(oldFocused); + if (rowIdx != -1) { + for (; i < viewsLn; i++) { + views[i].onRowFocus(rowIdx, false); + } + } + } + + if (newFocused) { + rowIdx = store.indexOf(newFocused); + if (rowIdx != -1) { + for (i = 0; i < viewsLn; i++) { + views[i].onRowFocus(rowIdx, true, supressFocus); + } + } + } + this.callParent(); + }, + + onEditorTab: function(editingPlugin, e) { + var me = this, + view = me.views[0], + record = editingPlugin.getActiveRecord(), + header = editingPlugin.getActiveColumn(), + position = view.getPosition(record, header), + direction = e.shiftKey ? 'left' : 'right'; + + do { + position = view.walkCells(position, direction, e, me.preventWrap); + } while(position && !view.headerCt.getHeaderAtIndex(position.column).getEditor()); + + if (position) { + editingPlugin.startEditByPosition(position); + } + }, + + + + getCurrentPosition: function() { + var firstSelection = this.selected.items[0]; + if (firstSelection) { + return { + row: this.store.indexOf(firstSelection), + column: 0 + }; + } + }, + + selectByPosition: function(position) { + var record = this.store.getAt(position.row); + this.select(record); + }, + + + + selectNext: function(keepExisting, suppressEvent) { + var me = this, + store = me.store, + selection = me.getSelection(), + record = selection[selection.length - 1], + index = store.indexOf(record) + 1, + success; + + if(index === store.getCount() || index === 0) { + success = false; + } else { + me.doSelect(index, keepExisting, suppressEvent); + success = true; + } + return success; + }, + + + selectPrevious: function(keepExisting, suppressEvent) { + var me = this, + selection = me.getSelection(), + record = selection[0], + index = me.store.indexOf(record) - 1, + success; + + if (index < 0) { + success = false; + } else { + me.doSelect(index, keepExisting, suppressEvent); + success = true; + } + return success; + } +}); + + +Ext.define('Ext.selection.CheckboxModel', { + alias: 'selection.checkboxmodel', + extend: 'Ext.selection.RowModel', + + + mode: 'MULTI', + + + injectCheckbox: 0, + + + checkOnly: false, + + + showHeaderCheckbox: true, + + headerWidth: 24, + + + checkerOnCls: Ext.baseCSSPrefix + 'grid-hd-checker-on', + + + refreshOnRemove: true, + + beforeViewRender: function(view) { + var me = this; + me.callParent(arguments); + + + if (!me.hasLockedHeader() || view.headerCt.lockedCt) { + if (me.showHeaderCheckbox !== false) { + view.headerCt.on('headerclick', me.onHeaderClick, me); + } + me.addCheckbox(view, true); + me.mon(view.ownerCt, 'reconfigure', me.onReconfigure, me); + } + }, + + bindComponent: function(view) { + var me = this; + me.sortable = false; + me.callParent(arguments); + }, + + hasLockedHeader: function(){ + var views = this.views, + vLen = views.length, + v; + + for (v = 0; v < vLen; v++) { + if (views[v].headerCt.lockedCt) { + return true; + } + } + return false; + }, + + + addCheckbox: function(view, initial){ + var me = this, + checkbox = me.injectCheckbox, + headerCt = view.headerCt; + + + if (checkbox !== false) { + if (checkbox == 'first') { + checkbox = 0; + } else if (checkbox == 'last') { + checkbox = headerCt.getColumnCount(); + } + Ext.suspendLayouts(); + headerCt.add(checkbox, me.getHeaderConfig()); + Ext.resumeLayouts(); + } + + if (initial !== true) { + view.refresh(); + } + }, + + + onReconfigure: function(grid, store, columns) { + if(columns) { + this.addCheckbox(this.views[0]); + } + }, + + + toggleUiHeader: function(isChecked) { + var view = this.views[0], + headerCt = view.headerCt, + checkHd = headerCt.child('gridcolumn[isCheckerHd]'); + + if (checkHd) { + if (isChecked) { + checkHd.el.addCls(this.checkerOnCls); + } else { + checkHd.el.removeCls(this.checkerOnCls); + } + } + }, + + + onHeaderClick: function(headerCt, header, e) { + if (header.isCheckerHd) { + e.stopEvent(); + var me = this, + isChecked = header.el.hasCls(Ext.baseCSSPrefix + 'grid-hd-checker-on'); + + + me.preventFocus = true; + if (isChecked) { + me.deselectAll(); + } else { + me.selectAll(); + } + delete me.preventFocus; + } + }, + + + getHeaderConfig: function() { + var me = this, + showCheck = me.showHeaderCheckbox !== false; + + return { + isCheckerHd: showCheck, + text : ' ', + width: me.headerWidth, + sortable: false, + draggable: false, + resizable: false, + hideable: false, + menuDisabled: true, + dataIndex: '', + cls: showCheck ? Ext.baseCSSPrefix + 'column-header-checkbox ' : '', + renderer: Ext.Function.bind(me.renderer, me), + editRenderer: me.editRenderer || me.renderEmpty, + locked: me.hasLockedHeader() + }; + }, + + renderEmpty: function(){ + return ' '; + }, + + + renderer: function(value, metaData, record, rowIndex, colIndex, store, view) { + var baseCSSPrefix = Ext.baseCSSPrefix; + metaData.tdCls = baseCSSPrefix + 'grid-cell-special ' + baseCSSPrefix + 'grid-cell-row-checker'; + return '
     
    '; + }, + + + onRowMouseDown: function(view, record, item, index, e) { + view.el.focus(); + var me = this, + checker = e.getTarget('.' + Ext.baseCSSPrefix + 'grid-row-checker'), + mode; + + if (!me.allowRightMouseSelection(e)) { + return; + } + + + if (me.checkOnly && !checker) { + return; + } + + if (checker) { + mode = me.getSelectionMode(); + + + if (mode !== 'SINGLE') { + me.setSelectionMode('SIMPLE'); + } + me.selectWithEvent(record, e); + me.setSelectionMode(mode); + } else { + me.selectWithEvent(record, e); + } + }, + + + onSelectChange: function() { + var me = this; + me.callParent(arguments); + me.updateHeaderState(); + }, + + + onStoreLoad: function() { + var me = this; + me.callParent(arguments); + me.updateHeaderState(); + }, + + + updateHeaderState: function() { + + var hdSelectStatus = this.selected.getCount() === this.store.getCount(); + this.toggleUiHeader(hdSelectStatus); + } +}); + + +Ext.define('Ext.selection.TreeModel', { + extend: 'Ext.selection.RowModel', + alias: 'selection.treemodel', + + + + + pruneRemoved: false, + + onKeyRight: function(e, t) { + var focused = this.getLastFocused(), + view = this.view; + + if (focused) { + + + + if (focused.isExpanded()) { + this.onKeyDown(e, t); + + } else if (focused.isExpandable()) { + view.expand(focused); + } + } + }, + + onKeyLeft: function(e, t) { + var focused = this.getLastFocused(), + view = this.view, + viewSm = view.getSelectionModel(), + parentNode, parentRecord; + + if (focused) { + parentNode = focused.parentNode; + + if (focused.isExpanded()) { + view.collapse(focused); + + + } else if (parentNode && !parentNode.isRoot()) { + + if (e.shiftKey) { + viewSm.selectRange(parentNode, focused, e.ctrlKey, 'up'); + viewSm.setLastFocused(parentNode); + + } else if (e.ctrlKey) { + viewSm.setLastFocused(parentNode); + + } else { + viewSm.select(parentNode); + } + } + } + }, + + onKeySpace: function(e, t) { + this.toggleCheck(e); + }, + + onKeyEnter: function(e, t) { + this.toggleCheck(e); + }, + + toggleCheck: function(e){ + e.stopEvent(); + var selected = this.getLastSelected(); + if (selected) { + this.view.onCheckChange(selected); + } + } +}); + + +Ext.define('Ext.slider.Thumb', { + requires: ['Ext.dd.DragTracker', 'Ext.util.Format'], + + topZIndex: 10000, + + + + + constructor: function(config) { + var me = this; + + + Ext.apply(me, config || {}, { + cls: Ext.baseCSSPrefix + 'slider-thumb', + + + constrain: false + }); + me.callParent([config]); + }, + + + render: function() { + var me = this; + me.el = me.slider.innerEl.insertFirst(me.getElConfig()); + me.onRender(); + }, + + onRender: function() { + if (this.disabled) { + this.disable(); + } + this.initEvents(); + }, + + getElConfig: function() { + var me = this, + slider = me.slider, + style = {}; + + style[slider.vertical ? 'bottom' : 'left'] = slider.calculateThumbPosition(slider.normalizeValue(me.value)) + '%'; + return { + style: style, + id : this.id, + cls : this.cls + }; + }, + + + move: function(v, animate) { + var el = this.el, + styleProp = this.slider.vertical ? 'bottom' : 'left', + to, + from; + + v += '%'; + + if (!animate) { + el.dom.style[styleProp] = v; + } else { + to = {}; + to[styleProp] = v; + + if (!Ext.supports.GetPositionPercentage) { + from = {}; + from[styleProp] = el.dom.style[styleProp]; + } + + new Ext.fx.Anim({ + target: el, + duration: 350, + from: from, + to: to + }); + } + }, + + + bringToFront: function() { + this.el.setStyle('zIndex', this.topZIndex); + }, + + + sendToBack: function() { + this.el.setStyle('zIndex', ''); + }, + + + enable: function() { + var me = this; + + me.disabled = false; + if (me.el) { + me.el.removeCls(me.slider.disabledCls); + } + }, + + + disable: function() { + var me = this; + + me.disabled = true; + if (me.el) { + me.el.addCls(me.slider.disabledCls); + } + }, + + + initEvents: function() { + var me = this, + el = me.el; + + me.tracker = new Ext.dd.DragTracker({ + onBeforeStart: Ext.Function.bind(me.onBeforeDragStart, me), + onStart : Ext.Function.bind(me.onDragStart, me), + onDrag : Ext.Function.bind(me.onDrag, me), + onEnd : Ext.Function.bind(me.onDragEnd, me), + tolerance : 3, + autoStart : 300, + overCls : Ext.baseCSSPrefix + 'slider-thumb-over' + }); + + me.tracker.initEl(el); + }, + + + onBeforeDragStart : function(e) { + if (this.disabled) { + return false; + } else { + this.slider.promoteThumb(this); + return true; + } + }, + + + onDragStart: function(e){ + var me = this; + + me.el.addCls(Ext.baseCSSPrefix + 'slider-thumb-drag'); + me.dragging = me.slider.dragging = true; + me.dragStartValue = me.value; + + me.slider.fireEvent('dragstart', me.slider, e, me); + }, + + + onDrag: function(e) { + var me = this, + slider = me.slider, + index = me.index, + newValue = me.getValueFromTracker(), + above, + below; + + + if (newValue !== undefined) { + if (me.constrain) { + above = slider.thumbs[index + 1]; + below = slider.thumbs[index - 1]; + + if (below !== undefined && newValue <= below.value) { + newValue = below.value; + } + + if (above !== undefined && newValue >= above.value) { + newValue = above.value; + } + } + slider.setValue(index, newValue, false); + slider.fireEvent('drag', slider, e, me); + } + }, + + getValueFromTracker: function() { + var slider = this.slider, + trackPoint = slider.getTrackpoint(this.tracker.getXY()); + + + if (trackPoint !== undefined) { + return slider.reversePixelValue(trackPoint); + } + }, + + + onDragEnd: function(e) { + var me = this, + slider = me.slider, + value = me.value; + + me.el.removeCls(Ext.baseCSSPrefix + 'slider-thumb-drag'); + + me.dragging = slider.dragging = false; + slider.fireEvent('dragend', slider, e); + + if (me.dragStartValue != value) { + slider.fireEvent('changecomplete', slider, value, me); + } + }, + + destroy: function() { + Ext.destroy(this.tracker); + } +}); + + +Ext.define('Ext.slider.Tip', { + extend: 'Ext.tip.Tip', + minWidth: 10, + alias: 'widget.slidertip', + + + offsets : null, + + + align: null, + + + position: '', + + defaultVerticalPosition: 'left', + + defaultHorizontalPosition: 'top', + + isSliderTip: true, + + init: function(slider) { + var me = this, + align, + offsets; + + if (!me.position) { + me.position = slider.vertical ? me.defaultVerticalPosition : me.defaultHorizontalPosition; + } + + switch (me.position) { + case 'top': + offsets = [0, -10]; + align = 'b-t?'; + break; + case 'bottom': + offsets = [0, 10]; + align = 't-b?'; + break; + case 'left': + offsets = [-10, 0]; + align = 'r-l?'; + break; + case 'right': + offsets = [10, 0]; + align = 'l-r?'; + } + + if (!me.align) { + me.align = align; + } + + if (!me.offsets) { + me.offsets = offsets; + } + + slider.on({ + scope : me, + dragstart: me.onSlide, + drag : me.onSlide, + dragend : me.hide, + destroy : me.destroy + }); + }, + + onSlide : function(slider, e, thumb) { + var me = this; + me.show(); + me.update(me.getText(thumb)); + me.el.alignTo(thumb.el, me.align, me.offsets); + }, + + + getText : function(thumb) { + return String(thumb.value); + } +}); + + +Ext.define('Ext.slider.Multi', { + extend: 'Ext.form.field.Base', + alias: 'widget.multislider', + alternateClassName: 'Ext.slider.MultiSlider', + + requires: [ + 'Ext.slider.Thumb', + 'Ext.slider.Tip', + 'Ext.Number', + 'Ext.util.Format', + 'Ext.Template', + 'Ext.layout.component.field.Slider' + ], + + childEls: [ + 'endEl', 'innerEl' + ], + + + fieldSubTpl: [ + '
    ', + '', + '
    ', + { + renderThumbs: function(out, values) { + var me = values.$comp, + i = 0, + thumbs = me.thumbs, + len = thumbs.length, + thumb, + thumbConfig; + + for (; i < len; i++) { + thumb = thumbs[i]; + thumbConfig = thumb.getElConfig(); + thumbConfig.id = me.id + '-thumb-' + i; + Ext.DomHelper.generateMarkup(thumbConfig, out); + } + }, + disableFormats: true + } + ], + + + + + + + vertical: false, + + + minValue: 0, + + + maxValue: 100, + + + decimalPrecision: 0, + + + keyIncrement: 1, + + + increment: 0, + + + + + clickRange: [5,15], + + + clickToChange : true, + + + animate: true, + + + dragging: false, + + + constrainThumbs: true, + + componentLayout: 'sliderfield', + + + useTips : true, + + + tipText : null, + + ariaRole: 'slider', + + + initValue: function() { + var me = this, + extValue = Ext.value, + + values = extValue(me.values, [extValue(me.value, extValue(me.minValue, 0))]), + i = 0, + len = values.length; + + + me.originalValue = values; + + + for (; i < len; i++) { + me.addThumb(values[i]); + } + }, + + + initComponent : function() { + var me = this, + tipPlug, + hasTip, + p, pLen, plugins; + + + me.thumbs = []; + + me.keyIncrement = Math.max(me.increment, me.keyIncrement); + + me.addEvents( + + 'beforechange', + + + 'change', + + + 'changecomplete', + + + 'dragstart', + + + 'drag', + + + 'dragend' + ); + + + if (me.increment) { + me.maxValue = Ext.Number.snapInRange(me.maxValue, me.increment, me.minValue); + me.value = me.normalizeValue(me.value); + } + + me.callParent(); + + + if (me.useTips) { + if (Ext.isObject(me.useTips)) { + tipPlug = Ext.apply({}, me.useTips); + } else { + tipPlug = me.tipText ? {getText: me.tipText} : {}; + } + + plugins = me.plugins = me.plugins || []; + pLen = plugins.length; + + for (p = 0; p < pLen; p++) { + if (plugins[p].isSliderTip) { + hasTip = true; + break; + } + } + + if (!hasTip) { + me.plugins.push(new Ext.slider.Tip(tipPlug)); + } + } + }, + + + addThumb: function(value) { + var me = this, + thumb = new Ext.slider.Thumb({ + ownerCt : me, + ownerLayout : me.getComponentLayout(), + value : value, + slider : me, + index : me.thumbs.length, + constrain : me.constrainThumbs, + disabled : !!me.readOnly + }); + + me.thumbs.push(thumb); + + + if (me.rendered) { + thumb.render(); + } + + return thumb; + }, + + + promoteThumb: function(topThumb) { + var thumbs = this.thumbs, + ln = thumbs.length, + zIndex, thumb, i; + + for (i = 0; i < ln; i++) { + thumb = thumbs[i]; + + if (thumb == topThumb) { + thumb.bringToFront(); + } else { + thumb.sendToBack(); + } + } + }, + + + getSubTplData : function() { + var me = this; + + return Ext.apply(me.callParent(), { + $comp: me, + vertical: me.vertical ? Ext.baseCSSPrefix + 'slider-vert' : Ext.baseCSSPrefix + 'slider-horz', + minValue: me.minValue, + maxValue: me.maxValue, + value: me.value + }); + }, + + onRender : function() { + var me = this, + thumbs = me.thumbs, + len = thumbs.length, + i = 0, + thumb; + + me.callParent(arguments); + + for (i = 0; i < len; i++) { + thumb = thumbs[i]; + thumb.el = me.el.getById(me.id + '-thumb-' + i); + thumb.onRender(); + } + }, + + + initEvents : function() { + var me = this; + me.mon(me.el, { + scope : me, + mousedown: me.onMouseDown, + keydown : me.onKeyDown + }); + }, + + + getTrackpoint : function(xy) { + var me = this, + result, + positionProperty, + sliderTrack = me.innerEl, + trackLength; + + if (me.vertical) { + positionProperty = 'top'; + trackLength = sliderTrack.getHeight(); + } else { + positionProperty = 'left'; + trackLength = sliderTrack.getWidth(); + } + result = Ext.Number.constrain(sliderTrack.translatePoints(xy)[positionProperty], 0, trackLength); + return me.vertical ? trackLength - result : result; + }, + + + onMouseDown : function(e) { + var me = this, + thumbClicked = false, + i = 0, + thumbs = me.thumbs, + len = thumbs.length, + trackPoint; + + if (me.disabled) { + return; + } + + + for (; i < len; i++) { + thumbClicked = thumbClicked || e.target == thumbs[i].el.dom; + } + + if (me.clickToChange && !thumbClicked) { + trackPoint = me.getTrackpoint(e.getXY()); + if (trackPoint !== undefined) { + me.onClickChange(trackPoint); + } + } + me.focus(); + }, + + + onClickChange : function(trackPoint) { + var me = this, + thumb, index; + + + + + + thumb = me.getNearest(trackPoint); + if (!thumb.disabled) { + index = thumb.index; + me.setValue(index, Ext.util.Format.round(me.reversePixelValue(trackPoint), me.decimalPrecision), undefined, true); + } + }, + + + getNearest: function(trackPoint) { + var me = this, + clickValue = me.reversePixelValue(trackPoint), + nearestDistance = (me.maxValue - me.minValue) + 5, + nearest = null, + thumbs = me.thumbs, + i = 0, + len = thumbs.length, + thumb, + value, + dist; + + for (; i < len; i++) { + thumb = me.thumbs[i]; + value = thumb.value; + dist = Math.abs(value - clickValue); + + if (Math.abs(dist <= nearestDistance)) { + nearest = thumb; + nearestDistance = dist; + } + } + return nearest; + }, + + + onKeyDown : function(e) { + + var me = this, + k, + val; + + if(me.disabled || me.thumbs.length !== 1) { + e.preventDefault(); + return; + } + k = e.getKey(); + + switch(k) { + case e.UP: + case e.RIGHT: + e.stopEvent(); + val = e.ctrlKey ? me.maxValue : me.getValue(0) + me.keyIncrement; + me.setValue(0, val, undefined, true); + break; + case e.DOWN: + case e.LEFT: + e.stopEvent(); + val = e.ctrlKey ? me.minValue : me.getValue(0) - me.keyIncrement; + me.setValue(0, val, undefined, true); + break; + default: + e.preventDefault(); + } + }, + + + normalizeValue : function(v) { + var me = this, + Num = Ext.Number, + snapFn = Num[me.zeroBasedSnapping ? 'snap' : 'snapInRange']; + + v = snapFn.call(Num, v, me.increment, me.minValue, me.maxValue); + v = Ext.util.Format.round(v, me.decimalPrecision); + v = Ext.Number.constrain(v, me.minValue, me.maxValue); + return v; + }, + + + setMinValue : function(val) { + var me = this, + i = 0, + thumbs = me.thumbs, + len = thumbs.length, + t; + + me.minValue = val; + if (me.rendered) { + me.inputEl.dom.setAttribute('aria-valuemin', val); + } + + for (; i < len; ++i) { + t = thumbs[i]; + t.value = t.value < val ? val : t.value; + } + me.syncThumbs(); + }, + + + setMaxValue : function(val) { + var me = this, + i = 0, + thumbs = me.thumbs, + len = thumbs.length, + t; + + me.maxValue = val; + if (me.rendered) { + me.inputEl.dom.setAttribute('aria-valuemax', val); + } + + for (; i < len; ++i) { + t = thumbs[i]; + t.value = t.value > val ? val : t.value; + } + me.syncThumbs(); + }, + + + setValue : function(index, value, animate, changeComplete) { + var me = this, + thumb = me.thumbs[index]; + + + value = me.normalizeValue(value); + + if (value !== thumb.value && me.fireEvent('beforechange', me, value, thumb.value, thumb) !== false) { + thumb.value = value; + if (me.rendered) { + + + me.inputEl.set({ + 'aria-valuenow': value, + 'aria-valuetext': value + }); + + thumb.move(me.calculateThumbPosition(value), Ext.isDefined(animate) ? animate !== false : me.animate); + + me.fireEvent('change', me, value, thumb); + me.checkDirty(); + if (changeComplete) { + me.fireEvent('changecomplete', me, value, thumb); + } + } + } + }, + + + calculateThumbPosition : function(v) { + return (v - this.minValue) / (this.maxValue - this.minValue) * 100; + }, + + + getRatio : function() { + var me = this, + trackLength = this.vertical ? this.innerEl.getHeight() : this.innerEl.getWidth(), + valueRange = this.maxValue - this.minValue; + return valueRange === 0 ? trackLength : (trackLength / valueRange); + }, + + + reversePixelValue : function(pos) { + return this.minValue + (pos / this.getRatio()); + }, + + + reversePercentageValue : function(pos) { + return this.minValue + (this.maxValue - this.minValue) * (pos / 100); + }, + + + onDisable: function() { + var me = this, + i = 0, + thumbs = me.thumbs, + len = thumbs.length, + thumb, + el, + xy; + + me.callParent(); + + for (; i < len; i++) { + thumb = thumbs[i]; + el = thumb.el; + + thumb.disable(); + + if(Ext.isIE) { + + + xy = el.getXY(); + el.hide(); + + me.innerEl.addCls(me.disabledCls).dom.disabled = true; + + if (!me.thumbHolder) { + me.thumbHolder = me.endEl.createChild({cls: Ext.baseCSSPrefix + 'slider-thumb ' + me.disabledCls}); + } + + me.thumbHolder.show().setXY(xy); + } + } + }, + + + onEnable: function() { + var me = this, + i = 0, + thumbs = me.thumbs, + len = thumbs.length, + thumb, + el; + + this.callParent(); + + for (; i < len; i++) { + thumb = thumbs[i]; + el = thumb.el; + + thumb.enable(); + + if (Ext.isIE) { + me.innerEl.removeCls(me.disabledCls).dom.disabled = false; + + if (me.thumbHolder) { + me.thumbHolder.hide(); + } + + el.show(); + me.syncThumbs(); + } + } + }, + + + syncThumbs : function() { + if (this.rendered) { + var thumbs = this.thumbs, + length = thumbs.length, + i = 0; + + for (; i < length; i++) { + thumbs[i].move(this.calculateThumbPosition(thumbs[i].value)); + } + } + }, + + + getValue : function(index) { + return Ext.isNumber(index) ? this.thumbs[index].value : this.getValues(); + }, + + + getValues: function() { + var values = [], + i = 0, + thumbs = this.thumbs, + len = thumbs.length; + + for (; i < len; i++) { + values.push(thumbs[i].value); + } + + return values; + }, + + getSubmitValue: function() { + var me = this; + return (me.disabled || !me.submitValue) ? null : me.getValue(); + }, + + reset: function() { + var me = this, + arr = [].concat(me.originalValue), + a = 0, + aLen = arr.length, + val; + + for (; a < aLen; a++) { + val = arr[a]; + + me.setValue(a, val); + } + + me.clearInvalid(); + + delete me.wasValid; + }, + + setReadOnly: function(readOnly){ + var me = this, + thumbs = me.thumbs, + len = thumbs.length, + i = 0; + + me.callParent(arguments); + readOnly = me.readOnly; + + for (; i < len; ++i) { + if (readOnly) { + thumbs[i].disable(); + } else { + thumbs[i].enable(); + } + + } + + }, + + + beforeDestroy : function() { + var me = this, + thumbs = me.thumbs, + t = 0, + tLen = thumbs.length, + thumb; + + Ext.destroy(me.innerEl, me.endEl, me.focusEl); + + for (; t < tLen; t++) { + thumb = thumbs[t]; + + Ext.destroy(thumb); + } + + me.callParent(); + } +}); + + +Ext.define('Ext.slider.Single', { + extend: 'Ext.slider.Multi', + alias: ['widget.slider', 'widget.sliderfield'], + alternateClassName: ['Ext.Slider', 'Ext.form.SliderField', 'Ext.slider.SingleSlider', 'Ext.slider.Slider'], + + + getValue: function() { + + return this.callParent([0]); + }, + + + setValue: function(value, animate) { + var args = arguments, + len = args.length; + + + + + if (len == 1 || (len <= 3 && typeof args[1] != 'number')) { + args = Ext.toArray(args); + args.unshift(0); + } + return this.callParent(args); + }, + + + getNearest : function(){ + + return this.thumbs[0]; + } +}); + + +Ext.define('Ext.state.CookieProvider', { + extend: 'Ext.state.Provider', + + + + + + + + + + + constructor : function(config){ + var me = this; + me.path = "/"; + me.expires = new Date(new Date().getTime()+(1000*60*60*24*7)); + me.domain = null; + me.secure = false; + me.callParent(arguments); + me.state = me.readCookies(); + }, + + + set : function(name, value){ + var me = this; + + if(typeof value == "undefined" || value === null){ + me.clear(name); + return; + } + me.setCookie(name, value); + me.callParent(arguments); + }, + + + clear : function(name){ + this.clearCookie(name); + this.callParent(arguments); + }, + + + readCookies : function(){ + var cookies = {}, + c = document.cookie + ";", + re = /\s?(.*?)=(.*?);/g, + prefix = this.prefix, + len = prefix.length, + matches, + name, + value; + + while((matches = re.exec(c)) != null){ + name = matches[1]; + value = matches[2]; + if (name && name.substring(0, len) == prefix){ + cookies[name.substr(len)] = this.decodeValue(value); + } + } + return cookies; + }, + + + setCookie : function(name, value){ + var me = this; + + document.cookie = me.prefix + name + "=" + me.encodeValue(value) + + ((me.expires == null) ? "" : ("; expires=" + me.expires.toGMTString())) + + ((me.path == null) ? "" : ("; path=" + me.path)) + + ((me.domain == null) ? "" : ("; domain=" + me.domain)) + + ((me.secure == true) ? "; secure" : ""); + }, + + + clearCookie : function(name){ + var me = this; + + document.cookie = me.prefix + name + "=null; expires=Thu, 01-Jan-70 00:00:01 GMT" + + ((me.path == null) ? "" : ("; path=" + me.path)) + + ((me.domain == null) ? "" : ("; domain=" + me.domain)) + + ((me.secure == true) ? "; secure" : ""); + } +}); + + + +Ext.define('Ext.state.LocalStorageProvider', { + + + extend: 'Ext.state.Provider', + + alias: 'state.localstorage', + + + + constructor: function(){ + var me = this; + me.callParent(arguments); + me.store = me.getStorageObject(); + me.state = me.readLocalStorage(); + }, + + readLocalStorage: function(){ + var store = this.store, + i = 0, + len = store.length, + prefix = this.prefix, + prefixLen = prefix.length, + data = {}, + key; + + for (; i < len; ++i) { + key = store.key(i); + if (key.substring(0, prefixLen) == prefix) { + data[key.substr(prefixLen)] = this.decodeValue(store.getItem(key)); + } + } + return data; + }, + + set : function(name, value){ + var me = this; + + me.clear(name); + if (typeof value == "undefined" || value === null) { + return; + } + me.store.setItem(me.prefix + name, me.encodeValue(value)); + me.callParent(arguments); + }, + + + clear : function(name){ + this.store.removeItem(this.prefix + name); + this.callParent(arguments); + }, + + getStorageObject: function(){ + try { + var supports = 'localStorage' in window && window['localStorage'] !== null; + if (supports) { + return window.localStorage; + } + } catch (e) { + return false; + } + } +}); + + +Ext.define('Ext.tab.Tab', { + extend: 'Ext.button.Button', + alias: 'widget.tab', + + requires: [ + 'Ext.layout.component.Tab', + 'Ext.util.KeyNav' + ], + + componentLayout: 'tab', + + + isTab: true, + + baseCls: Ext.baseCSSPrefix + 'tab', + + + activeCls: 'active', + + + + + closableCls: 'closable', + + + closable: true, + + + + closeText: 'Close Tab', + + + + active: false, + + + + childEls: [ + 'closeEl' + ], + + scale: false, + + position: 'top', + + initComponent: function() { + var me = this; + + me.addEvents( + + 'activate', + + + 'deactivate', + + + 'beforeclose', + + + 'close' + ); + + me.callParent(arguments); + + if (me.card) { + me.setCard(me.card); + } + }, + + getTemplateArgs: function() { + var me = this, + result = me.callParent(); + + result.closable = me.closable; + result.closeText = me.closeText; + + return result; + }, + + beforeRender: function() { + var me = this, + tabBar = me.up('tabbar'), + tabPanel = me.up('tabpanel'); + + me.callParent(); + + me.addClsWithUI(me.position); + + + + + me.syncClosableUI(); + + + if (!me.minWidth) { + me.minWidth = (tabBar) ? tabBar.minTabWidth : me.minWidth; + if (!me.minWidth && tabPanel) { + me.minWidth = tabPanel.minTabWidth; + } + if (me.minWidth && me.iconCls) { + me.minWidth += 25; + } + } + if (!me.maxWidth) { + me.maxWidth = (tabBar) ? tabBar.maxTabWidth : me.maxWidth; + if (!me.maxWidth && tabPanel) { + me.maxWidth = tabPanel.maxTabWidth; + } + } + }, + + onRender: function() { + var me = this; + + me.callParent(arguments); + + me.keyNav = new Ext.util.KeyNav(me.el, { + enter: me.onEnterKey, + del: me.onDeleteKey, + scope: me + }); + }, + + + enable : function(silent) { + var me = this; + + me.callParent(arguments); + + me.removeClsWithUI(me.position + '-disabled'); + + return me; + }, + + + disable : function(silent) { + var me = this; + + me.callParent(arguments); + + me.addClsWithUI(me.position + '-disabled'); + + return me; + }, + + onDestroy: function() { + var me = this; + + Ext.destroy(me.keyNav); + delete me.keyNav; + + me.callParent(arguments); + }, + + + setClosable: function(closable) { + var me = this; + + + closable = (!arguments.length || !!closable); + + if (me.closable != closable) { + me.closable = closable; + + + if (me.card) { + me.card.closable = closable; + } + + me.syncClosableUI(); + + if (me.rendered) { + me.syncClosableElements(); + + + me.updateLayout(); + } + } + }, + + + syncClosableElements: function () { + var me = this, + closeEl = me.closeEl; + + if (me.closable) { + if (!closeEl) { + me.closeEl = me.btnWrap.insertSibling({ + tag: 'a', + cls: me.baseCls + '-close-btn', + href: '#', + title: me.closeText + }, 'after'); + } + } else if (closeEl) { + closeEl.remove(); + delete me.closeEl; + } + }, + + + syncClosableUI: function () { + var me = this, + classes = [me.closableCls, me.closableCls + '-' + me.position]; + + if (me.closable) { + me.addClsWithUI(classes); + } else { + me.removeClsWithUI(classes); + } + }, + + + setCard: function(card) { + var me = this; + + me.card = card; + me.setText(me.title || card.title); + me.setIconCls(me.iconCls || card.iconCls); + me.setIcon(me.icon || card.icon); + }, + + + onCloseClick: function() { + var me = this; + + if (me.fireEvent('beforeclose', me) !== false) { + if (me.tabBar) { + if (me.tabBar.closeTab(me) === false) { + + return; + } + } else { + + me.fireClose(); + } + } + }, + + + fireClose: function(){ + this.fireEvent('close', this); + }, + + + onEnterKey: function(e) { + var me = this; + + if (me.tabBar) { + me.tabBar.onClick(e, me.el); + } + }, + + + onDeleteKey: function(e) { + if (this.closable) { + this.onCloseClick(); + } + }, + + + activate : function(supressEvent) { + var me = this; + + me.active = true; + me.addClsWithUI([me.activeCls, me.position + '-' + me.activeCls]); + + if (supressEvent !== true) { + me.fireEvent('activate', me); + } + }, + + + deactivate : function(supressEvent) { + var me = this; + + me.active = false; + me.removeClsWithUI([me.activeCls, me.position + '-' + me.activeCls]); + + if (supressEvent !== true) { + me.fireEvent('deactivate', me); + } + } +}); + + +Ext.define('Ext.tab.Bar', { + extend: 'Ext.panel.Header', + alias: 'widget.tabbar', + baseCls: Ext.baseCSSPrefix + 'tab-bar', + + requires: ['Ext.tab.Tab'], + + + isTabBar: true, + + + + + + + defaultType: 'tab', + + + plain: false, + + childEls: [ + 'body', 'strip' + ], + + + renderTpl: [ + '
    {baseCls}-body-{ui} {parent.baseCls}-body-{parent.ui}-{.}" style="{bodyStyle}">', + '{%this.renderContainer(out,values)%}', + '
    ', + '
    {baseCls}-strip-{ui} {parent.baseCls}-strip-{parent.ui}-{.}">
    ' + ], + + + + + + + initComponent: function() { + var me = this; + + if (me.plain) { + me.setUI(me.ui + '-plain'); + } + + me.addClsWithUI(me.dock); + + me.addEvents( + + 'change' + ); + + + me.callParent(arguments); + + + me.layout.align = (me.orientation == 'vertical') ? 'left' : 'top'; + me.layout.overflowHandler = new Ext.layout.container.boxOverflow.Scroller(me.layout); + + me.remove(me.titleCmp); + delete me.titleCmp; + + Ext.apply(me.renderData, { + bodyCls: me.bodyCls + }); + }, + + getLayout: function() { + var me = this; + me.layout.type = (me.dock === 'top' || me.dock === 'bottom') ? 'hbox' : 'vbox'; + return me.callParent(arguments); + }, + + + onAdd: function(tab) { + tab.position = this.dock; + this.callParent(arguments); + }, + + onRemove: function(tab) { + var me = this; + + if (tab === me.previousTab) { + me.previousTab = null; + } + me.callParent(arguments); + }, + + afterComponentLayout : function(width) { + this.callParent(arguments); + this.strip.setWidth(width); + }, + + + onClick: function(e, target) { + + var me = this, + tabEl = e.getTarget('.' + Ext.tab.Tab.prototype.baseCls), + tab = tabEl && Ext.getCmp(tabEl.id), + tabPanel = me.tabPanel, + isCloseClick = tab && tab.closeEl && (target === tab.closeEl.dom); + + if (isCloseClick) { + e.preventDefault(); + } + if (tab && tab.isDisabled && !tab.isDisabled()) { + if (tab.closable && isCloseClick) { + tab.onCloseClick(); + } else { + if (tabPanel) { + + tabPanel.setActiveTab(tab.card); + } else { + me.setActiveTab(tab); + } + tab.focus(); + } + } + }, + + + closeTab: function(toClose) { + var me = this, + card = toClose.card, + tabPanel = me.tabPanel, + toActivate; + + if (card && card.fireEvent('beforeclose', card) === false) { + return false; + } + + + + + toActivate = me.findNextActivatable(toClose); + + + + Ext.suspendLayouts(); + + if (tabPanel && card) { + + + delete toClose.ownerCt; + + + + card.fireEvent('close', card); + tabPanel.remove(card); + + + if (!tabPanel.getComponent(card)) { + + toClose.fireClose(); + me.remove(toClose); + } else { + + toClose.ownerCt = me; + Ext.resumeLayouts(true); + return false; + } + } + + + if (toActivate) { + + + if (tabPanel) { + tabPanel.setActiveTab(toActivate.card); + } else { + me.setActiveTab(toActivate); + } + toActivate.focus(); + } + Ext.resumeLayouts(true); + }, + + + + findNextActivatable: function(toClose) { + var me = this; + if (toClose.active && me.items.getCount() > 1) { + return (me.previousTab && me.previousTab !== toClose && !me.previousTab.disabled) ? me.previousTab : (toClose.next('tab[disabled=false]') || toClose.prev('tab[disabled=false]')); + } + }, + + + setActiveTab: function(tab) { + var me = this; + + if (!tab.disabled && tab !== me.activeTab) { + if (me.activeTab) { + if (me.activeTab.isDestroyed) { + me.previousTab = null; + } else { + me.previousTab = me.activeTab; + me.activeTab.deactivate(); + } + } + tab.activate(); + + me.activeTab = tab; + me.fireEvent('change', me, tab, tab.card); + + + me.on({ + afterlayout: me.afterTabActivate, + scope: me, + single: true + }); + me.updateLayout(); + } + }, + + afterTabActivate: function() { + this.layout.overflowHandler.scrollToItem(this.activeTab); + } +}); + + +Ext.define('Ext.tab.Panel', { + extend: 'Ext.panel.Panel', + alias: 'widget.tabpanel', + alternateClassName: ['Ext.TabPanel'], + + requires: ['Ext.layout.container.Card', 'Ext.tab.Bar'], + + + tabPosition : 'top', + + + + + + + + + + + removePanelHeader: true, + + + plain: false, + + + itemCls: Ext.baseCSSPrefix + 'tabpanel-child', + + + minTabWidth: undefined, + + + maxTabWidth: undefined, + + + deferredRender : true, + + + initComponent: function() { + var me = this, + dockedItems = [].concat(me.dockedItems || []), + activeTab = me.activeTab || (me.activeTab = 0); + + + me.layout = new Ext.layout.container.Card(Ext.apply({ + owner: me, + deferredRender: me.deferredRender, + itemCls: me.itemCls, + activeItem: me.activeTab + }, me.layout)); + + + me.tabBar = new Ext.tab.Bar(Ext.apply({ + dock: me.tabPosition, + plain: me.plain, + border: me.border, + cardLayout: me.layout, + tabPanel: me + }, me.tabBar)); + + dockedItems.push(me.tabBar); + me.dockedItems = dockedItems; + + me.addEvents( + + 'beforetabchange', + + + 'tabchange' + ); + + me.callParent(arguments); + + + me.activeTab = me.getComponent(activeTab); + + + if (me.activeTab) { + me.activeTab.tab.activate(true); + + + me.tabBar.activeTab = me.activeTab.tab; + } + }, + + + setActiveTab: function(card) { + var me = this, + previous; + + card = me.getComponent(card); + if (card) { + previous = me.getActiveTab(); + + if (previous !== card && me.fireEvent('beforetabchange', me, card, previous) === false) { + return false; + } + + + + if (!card.isComponent) { + Ext.suspendLayouts(); + card = me.add(card); + Ext.resumeLayouts(); + } + + + + me.activeTab = card; + + + + + Ext.suspendLayouts(); + me.layout.setActiveItem(card); + + + card = me.activeTab = me.layout.getActiveItem(); + + + if (card && card !== previous) { + + + me.tabBar.setActiveTab(card.tab); + Ext.resumeLayouts(true); + + + if (previous !== card) { + me.fireEvent('tabchange', me, card, previous); + } + } + + else { + Ext.resumeLayouts(true); + } + return card; + } + }, + + + getActiveTab: function() { + var me = this, + + result = me.getComponent(me.activeTab); + + + if (result && me.items.indexOf(result) != -1) { + me.activeTab = result; + } else { + me.activeTab = null; + } + + return me.activeTab; + }, + + + getTabBar: function() { + return this.tabBar; + }, + + + onAdd: function(item, index) { + var me = this, + cfg = item.tabConfig || {}, + defaultConfig = { + xtype: 'tab', + card: item, + disabled: item.disabled, + closable: item.closable, + hidden: item.hidden && !item.hiddenByLayout, + tooltip: item.tooltip, + tabBar: me.tabBar, + closeText: item.closeText + }; + + cfg = Ext.applyIf(cfg, defaultConfig); + + + item.tab = me.tabBar.insert(index, cfg); + + item.on({ + scope : me, + enable: me.onItemEnable, + disable: me.onItemDisable, + beforeshow: me.onItemBeforeShow, + iconchange: me.onItemIconChange, + iconclschange: me.onItemIconClsChange, + titlechange: me.onItemTitleChange + }); + + if (item.isPanel) { + if (me.removePanelHeader) { + if (item.rendered) { + if (item.header) { + item.header.hide(); + } + } else { + item.header = false; + } + } + if (item.isPanel && me.border) { + item.setBorder(false); + } + } + }, + + + onItemEnable: function(item){ + item.tab.enable(); + }, + + + onItemDisable: function(item){ + item.tab.disable(); + }, + + + onItemBeforeShow: function(item) { + if (item !== this.activeTab) { + this.setActiveTab(item); + return false; + } + }, + + + onItemIconChange: function(item, newIcon) { + item.tab.setIcon(newIcon); + }, + + + onItemIconClsChange: function(item, newIconCls) { + item.tab.setIconCls(newIconCls); + }, + + + onItemTitleChange: function(item, newTitle) { + item.tab.setText(newTitle); + }, + + + doRemove: function(item, autoDestroy) { + var me = this, + toActivate; + + + if (me.destroying || me.items.getCount() == 1) { + me.activeTab = null; + } + + + + else if ((toActivate = me.tabBar.items.indexOf(me.tabBar.findNextActivatable(item.tab))) !== -1) { + me.setActiveTab(toActivate); + } + this.callParent(arguments); + + + delete item.tab.card; + delete item.tab; + }, + + + onRemove: function(item, destroying) { + var me = this; + + item.un({ + scope : me, + enable: me.onItemEnable, + disable: me.onItemDisable, + beforeshow: me.onItemBeforeShow + }); + if (!me.destroying && item.tab.ownerCt === me.tabBar) { + me.tabBar.remove(item.tab); + } + } +}); + + +Ext.define('Ext.toolbar.Spacer', { + extend: 'Ext.Component', + alias: 'widget.tbspacer', + alternateClassName: 'Ext.Toolbar.Spacer', + baseCls: Ext.baseCSSPrefix + 'toolbar-spacer', + focusable: false +}); + + +Ext.define('Ext.tree.Column', { + extend: 'Ext.grid.column.Column', + alias: 'widget.treecolumn', + + tdCls: Ext.baseCSSPrefix + 'grid-cell-treecolumn', + + treePrefix: Ext.baseCSSPrefix + 'tree-', + elbowPrefix: Ext.baseCSSPrefix + 'tree-elbow-', + expanderCls: Ext.baseCSSPrefix + 'tree-expander', + imgText: '', + checkboxText: '', + + initComponent: function() { + var me = this; + + me.origRenderer = me.renderer || me.defaultRenderer; + me.origScope = me.scope || window; + + me.renderer = me.treeRenderer; + me.scope = me; + + me.callParent(); + }, + + treeRenderer: function(value, metaData, record, rowIdx, colIdx, store, view){ + var me = this, + buf = [], + format = Ext.String.format, + depth = record.getDepth(), + treePrefix = me.treePrefix, + elbowPrefix = me.elbowPrefix, + expanderCls = me.expanderCls, + imgText = me.imgText, + checkboxText= me.checkboxText, + formattedValue = me.origRenderer.apply(me.origScope, arguments), + blank = Ext.BLANK_IMAGE_URL, + href = record.get('href'), + target = record.get('hrefTarget'), + cls = record.get('cls'); + + while (record) { + if (!record.isRoot() || (record.isRoot() && view.rootVisible)) { + if (record.getDepth() === depth) { + buf.unshift(format(imgText, + treePrefix + 'icon ' + + treePrefix + 'icon' + (record.get('icon') ? '-inline ' : (record.isLeaf() ? '-leaf ' : '-parent ')) + + (record.get('iconCls') || ''), + record.get('icon') || blank + )); + if (record.get('checked') !== null) { + buf.unshift(format( + checkboxText, + (treePrefix + 'checkbox') + (record.get('checked') ? ' ' + treePrefix + 'checkbox-checked' : ''), + record.get('checked') ? 'aria-checked="true"' : '' + )); + if (record.get('checked')) { + metaData.tdCls += (' ' + treePrefix + 'checked'); + } + } + if (record.isLast()) { + if (record.isExpandable()) { + buf.unshift(format(imgText, (elbowPrefix + 'end-plus ' + expanderCls), blank)); + } else { + buf.unshift(format(imgText, (elbowPrefix + 'end'), blank)); + } + + } else { + if (record.isExpandable()) { + buf.unshift(format(imgText, (elbowPrefix + 'plus ' + expanderCls), blank)); + } else { + buf.unshift(format(imgText, (treePrefix + 'elbow'), blank)); + } + } + } else { + if (record.isLast() || record.getDepth() === 0) { + buf.unshift(format(imgText, (elbowPrefix + 'empty'), blank)); + } else if (record.getDepth() !== 0) { + buf.unshift(format(imgText, (elbowPrefix + 'line'), blank)); + } + } + } + record = record.parentNode; + } + if (href) { + buf.push('', formattedValue, ''); + } else { + buf.push(formattedValue); + } + if (cls) { + metaData.tdCls += ' ' + cls; + } + return buf.join(''); + }, + + defaultRenderer: function(value) { + return value; + } +}); + + +Ext.define('Ext.tree.View', { + extend: 'Ext.view.Table', + alias: 'widget.treeview', + + requires: [ + 'Ext.data.NodeStore' + ], + + loadingCls: Ext.baseCSSPrefix + 'grid-tree-loading', + expandedCls: Ext.baseCSSPrefix + 'grid-tree-node-expanded', + leafCls: Ext.baseCSSPrefix + 'grid-tree-node-leaf', + + expanderSelector: '.' + Ext.baseCSSPrefix + 'tree-expander', + checkboxSelector: '.' + Ext.baseCSSPrefix + 'tree-checkbox', + expanderIconOverCls: Ext.baseCSSPrefix + 'tree-expander-over', + + + + + nodeAnimWrapCls: Ext.baseCSSPrefix + 'tree-animator-wrap', + + blockRefresh: true, + + + loadMask: false, + + + rootVisible: true, + + + deferInitialRefresh: false, + + + + expandDuration: 250, + collapseDuration: 250, + + toggleOnDblClick: true, + + stripeRows: false, + + + uiFields: ['expanded', 'loaded', 'checked', 'expandable', 'leaf', 'icon', 'iconCls', 'loading', 'qtip', 'qtitle'], + + initComponent: function() { + var me = this, + treeStore = me.panel.getStore(); + + if (me.initialConfig.animate === undefined) { + me.animate = Ext.enableFx; + } + + me.store = new Ext.data.NodeStore({ + treeStore: treeStore, + recursive: true, + rootVisible: me.rootVisible, + listeners: { + beforeexpand: me.onBeforeExpand, + expand: me.onExpand, + beforecollapse: me.onBeforeCollapse, + collapse: me.onCollapse, + write: me.onStoreWrite, + datachanged: me.onStoreDataChanged, + scope: me + } + }); + + if (me.node) { + me.setRootNode(me.node); + } + me.animQueue = {}; + me.animWraps = {}; + me.addEvents( + + 'afteritemexpand', + + 'afteritemcollapse' + ); + me.callParent(arguments); + me.on({ + element: 'el', + scope: me, + delegate: me.expanderSelector, + mouseover: me.onExpanderMouseOver, + mouseout: me.onExpanderMouseOut + }); + me.on({ + element: 'el', + scope: me, + delegate: me.checkboxSelector, + click: me.onCheckboxChange + }); + }, + + getMaskStore: function(){ + return this.panel.getStore(); + }, + + afterComponentLayout: function(){ + this.callParent(arguments); + var stretcher = this.stretcher; + if (stretcher) { + stretcher.setWidth((this.getWidth() - Ext.getScrollbarSize().width)); + } + }, + + processUIEvent: function(e) { + + + + if (e.getTarget('.' + this.nodeAnimWrapCls, this.el)) { + return false; + } + return this.callParent(arguments); + }, + + onClear: function(){ + this.store.removeAll(); + }, + + setRootNode: function(node) { + var me = this; + me.store.setNode(node); + me.node = node; + }, + + onCheckboxChange: function(e, t) { + var me = this, + item = e.getTarget(me.getItemSelector(), me.getTargetEl()); + + if (item) { + me.onCheckChange(me.getRecord(item)); + } + }, + + onCheckChange: function(record){ + var checked = record.get('checked'); + if (Ext.isBoolean(checked)) { + checked = !checked; + record.set('checked', checked); + this.fireEvent('checkchange', record, checked); + } + }, + + getChecked: function() { + var checked = []; + this.node.cascadeBy(function(rec){ + if (rec.get('checked')) { + checked.push(rec); + } + }); + return checked; + }, + + isItemChecked: function(rec){ + return rec.get('checked'); + }, + + + createAnimWrap: function(record, index) { + var thHtml = '', + headerCt = this.panel.headerCt, + headers = headerCt.getGridColumns(), + i = 0, len = headers.length, item, + node = this.getNode(record), + tmpEl, nodeEl; + + for (; i < len; i++) { + item = headers[i]; + thHtml += ''; + } + + nodeEl = Ext.get(node); + tmpEl = nodeEl.insertSibling({ + tag: 'tr', + html: [ + '', + '
    ', + '', + thHtml, + '
    ', + '
    ', + '' + ].join('') + }, 'after'); + + return { + record: record, + node: node, + el: tmpEl, + expanding: false, + collapsing: false, + animating: false, + animateEl: tmpEl.down('div'), + targetEl: tmpEl.down('tbody') + }; + }, + + + getAnimWrap: function(parent, bubble) { + if (!this.animate) { + return null; + } + + var wraps = this.animWraps, + wrap = wraps[parent.internalId]; + + if (bubble !== false) { + while (!wrap && parent) { + parent = parent.parentNode; + if (parent) { + wrap = wraps[parent.internalId]; + } + } + } + return wrap; + }, + + doAdd: function(nodes, records, index) { + + + var me = this, + record = records[0], + parent = record.parentNode, + a = me.all.elements, + relativeIndex = 0, + animWrap = me.getAnimWrap(parent), + targetEl, children, len; + + if (!animWrap || !animWrap.expanding) { + return me.callParent(arguments); + } + + + parent = animWrap.record; + + + targetEl = animWrap.targetEl; + children = targetEl.dom.childNodes; + + + len = children.length - 1; + + + relativeIndex = index - me.indexOf(parent) - 1; + + + + if (!len || relativeIndex >= len) { + targetEl.appendChild(nodes); + } + + + else { + + Ext.fly(children[relativeIndex + 1]).insertSibling(nodes, 'before', true); + } + + + Ext.Array.insert(a, index, nodes); + + + + if (animWrap.isAnimating) { + me.onExpand(parent); + } + }, + + beginBulkUpdate: function(){ + this.bulkUpdate = true; + }, + + endBulkUpdate: function(){ + this.bulkUpdate = false; + }, + + onRemove : function(ds, record, index) { + var me = this, + bulk = me.bulkUpdate; + + if (me.viewReady) { + me.doRemove(record, index); + if (!bulk) { + me.updateIndexes(index); + } + if (me.store.getCount() === 0){ + me.refresh(); + } + if (!bulk) { + me.fireEvent('itemremove', record, index); + } + } + }, + + doRemove: function(record, index) { + + + var me = this, + all = me.all, + animWrap = me.getAnimWrap(record), + item = all.item(index), + node = item ? item.dom : null; + + if (!node || !animWrap || !animWrap.collapsing) { + return me.callParent(arguments); + } + + animWrap.targetEl.appendChild(node); + all.removeElement(index); + }, + + onBeforeExpand: function(parent, records, index) { + var me = this, + animWrap; + + if (!me.rendered || !me.animate) { + return; + } + + if (me.getNode(parent)) { + animWrap = me.getAnimWrap(parent, false); + if (!animWrap) { + animWrap = me.animWraps[parent.internalId] = me.createAnimWrap(parent); + animWrap.animateEl.setHeight(0); + } + else if (animWrap.collapsing) { + + + animWrap.targetEl.select(me.itemSelector).remove(); + } + animWrap.expanding = true; + animWrap.collapsing = false; + } + }, + + onExpand: function(parent) { + var me = this, + queue = me.animQueue, + id = parent.getId(), + node = me.getNode(parent), + index = node ? me.indexOf(node) : -1, + animWrap, + animateEl, + targetEl; + + if (me.singleExpand) { + me.ensureSingleExpand(parent); + } + + + if (index === -1) { + return; + } + + animWrap = me.getAnimWrap(parent, false); + + if (!animWrap) { + me.isExpandingOrCollapsing = false; + me.fireEvent('afteritemexpand', parent, index, node); + return; + } + + animateEl = animWrap.animateEl; + targetEl = animWrap.targetEl; + + animateEl.stopAnimation(); + + queue[id] = true; + animateEl.slideIn('t', { + duration: me.expandDuration, + listeners: { + scope: me, + lastframe: function() { + + animWrap.el.insertSibling(targetEl.query(me.itemSelector), 'before'); + animWrap.el.remove(); + me.refreshSize(); + delete me.animWraps[animWrap.record.internalId]; + delete queue[id]; + } + }, + callback: function() { + me.isExpandingOrCollapsing = false; + me.fireEvent('afteritemexpand', parent, index, node); + } + }); + + animWrap.isAnimating = true; + }, + + onBeforeCollapse: function(parent, records, index) { + var me = this, + animWrap; + + if (!me.rendered || !me.animate) { + return; + } + + if (me.getNode(parent)) { + animWrap = me.getAnimWrap(parent); + if (!animWrap) { + animWrap = me.animWraps[parent.internalId] = me.createAnimWrap(parent, index); + } + else if (animWrap.expanding) { + + + animWrap.targetEl.select(this.itemSelector).remove(); + } + animWrap.expanding = false; + animWrap.collapsing = true; + } + }, + + onCollapse: function(parent) { + var me = this, + queue = me.animQueue, + id = parent.getId(), + node = me.getNode(parent), + index = node ? me.indexOf(node) : -1, + animWrap = me.getAnimWrap(parent), + animateEl, targetEl; + + + if (index === -1) { + return; + } + + if (!animWrap) { + me.isExpandingOrCollapsing = false; + me.fireEvent('afteritemcollapse', parent, index, node); + return; + } + + animateEl = animWrap.animateEl; + targetEl = animWrap.targetEl; + + queue[id] = true; + + + animateEl.stopAnimation(); + animateEl.slideOut('t', { + duration: me.collapseDuration, + listeners: { + scope: me, + lastframe: function() { + animWrap.el.remove(); + me.refreshSize(); + delete me.animWraps[animWrap.record.internalId]; + delete queue[id]; + } + }, + callback: function() { + me.isExpandingOrCollapsing = false; + me.fireEvent('afteritemcollapse', parent, index, node); + } + }); + animWrap.isAnimating = true; + }, + + + isAnimating: function(node) { + return !!this.animQueue[node.getId()]; + }, + + collectData: function(records) { + var data = this.callParent(arguments), + rows = data.rows, + len = rows.length, + i = 0, + row, record; + + for (; i < len; i++) { + row = rows[i]; + record = records[i]; + if (record.get('qtip')) { + row.rowAttr = 'data-qtip="' + record.get('qtip') + '"'; + if (record.get('qtitle')) { + row.rowAttr += ' ' + 'data-qtitle="' + record.get('qtitle') + '"'; + } + } + if (record.isExpanded()) { + row.rowCls = (row.rowCls || '') + ' ' + this.expandedCls; + } + if (record.isLeaf()) { + row.rowCls = (row.rowCls || '') + ' ' + this.leafCls; + } + if (record.isLoading()) { + row.rowCls = (row.rowCls || '') + ' ' + this.loadingCls; + } + } + + return data; + }, + + + expand: function(record, deep, callback, scope) { + return record.expand(deep, callback, scope); + }, + + + collapse: function(record, deep, callback, scope) { + return record.collapse(deep, callback, scope); + }, + + + toggle: function(record, deep, callback, scope) { + var me = this, + doAnimate = !!this.animate; + + + if (!doAnimate || !this.isExpandingOrCollapsing) { + if (!record.isLeaf()) { + this.isExpandingOrCollapsing = doAnimate; + } + if (record.isExpanded()) { + me.collapse(record, deep, callback, scope); + } else { + me.expand(record, deep, callback, scope); + } + } + }, + + onItemDblClick: function(record, item, index) { + var me = this, + editingPlugin = me.editingPlugin; + + me.callParent(arguments); + if (me.toggleOnDblClick && record.isExpandable() && !(editingPlugin && editingPlugin.clicksToEdit === 2)) { + me.toggle(record); + } + }, + + onBeforeItemMouseDown: function(record, item, index, e) { + if (e.getTarget(this.expanderSelector, item)) { + return false; + } + return this.callParent(arguments); + }, + + onItemClick: function(record, item, index, e) { + if (e.getTarget(this.expanderSelector, item) && record.isExpandable()) { + this.toggle(record, e.ctrlKey); + return false; + } + return this.callParent(arguments); + }, + + onExpanderMouseOver: function(e, t) { + e.getTarget(this.cellSelector, 10, true).addCls(this.expanderIconOverCls); + }, + + onExpanderMouseOut: function(e, t) { + e.getTarget(this.cellSelector, 10, true).removeCls(this.expanderIconOverCls); + }, + + + getTreeStore: function() { + return this.panel.store; + }, + + ensureSingleExpand: function(node) { + var parent = node.parentNode; + if (parent) { + parent.eachChild(function(child) { + if (child !== node && child.isExpanded()) { + child.collapse(); + } + }); + } + }, + + shouldUpdateCell: function(column, changedFieldNames){ + if (changedFieldNames) { + var i = 0, + len = changedFieldNames.length; + + for (; i < len; ++i) { + if (Ext.Array.contains(this.uiFields, changedFieldNames[i])) { + return true; + } + } + } + return this.callParent(arguments); + }, + + + onStoreWrite: function(store, operation) { + var treeStore = this.panel.store; + treeStore.fireEvent('write', treeStore, operation); + }, + + + onStoreDataChanged: function(store, operation) { + var treeStore = this.panel.store; + treeStore.fireEvent('datachanged', treeStore); + } +}); + + +Ext.define('Ext.tree.Panel', { + extend: 'Ext.panel.Table', + alias: 'widget.treepanel', + alternateClassName: ['Ext.tree.TreePanel', 'Ext.TreePanel'], + requires: ['Ext.tree.View', 'Ext.selection.TreeModel', 'Ext.tree.Column', 'Ext.data.TreeStore'], + viewType: 'treeview', + selType: 'treemodel', + + treeCls: Ext.baseCSSPrefix + 'tree-panel', + + deferRowRender: false, + + + rowLines: false, + + + lines: true, + + + useArrows: false, + + + singleExpand: false, + + ddConfig: { + enableDrag: true, + enableDrop: true + }, + + + + + rootVisible: true, + + + displayField: 'text', + + + root: null, + + + + normalCfgCopy: ['displayField', 'root', 'singleExpand', 'useArrows', 'lines', 'rootVisible', 'scroll'], + lockedCfgCopy: ['displayField', 'root', 'singleExpand', 'useArrows', 'lines', 'rootVisible'], + + isTree: true, + + + + + + + + constructor: function(config) { + config = config || {}; + if (config.animate === undefined) { + config.animate = Ext.isDefined(this.animate) ? this.animate : Ext.enableFx; + } + this.enableAnimations = config.animate; + delete config.animate; + + this.callParent([config]); + }, + + initComponent: function() { + var me = this, + cls = [me.treeCls], + view; + + if (me.useArrows) { + cls.push(Ext.baseCSSPrefix + 'tree-arrows'); + me.lines = false; + } + + if (me.lines) { + cls.push(Ext.baseCSSPrefix + 'tree-lines'); + } else if (!me.useArrows) { + cls.push(Ext.baseCSSPrefix + 'tree-no-lines'); + } + + if (Ext.isString(me.store)) { + me.store = Ext.StoreMgr.lookup(me.store); + } else if (!me.store || Ext.isObject(me.store) && !me.store.isStore) { + me.store = new Ext.data.TreeStore(Ext.apply({}, me.store || {}, { + root: me.root, + fields: me.fields, + model: me.model, + folderSort: me.folderSort + })); + } else if (me.root) { + me.store = Ext.data.StoreManager.lookup(me.store); + me.store.setRootNode(me.root); + if (me.folderSort !== undefined) { + me.store.folderSort = me.folderSort; + me.store.sort(); + } + } + + + + + + + me.viewConfig = Ext.apply({}, me.viewConfig); + me.viewConfig = Ext.applyIf(me.viewConfig, { + rootVisible: me.rootVisible, + animate: me.enableAnimations, + singleExpand: me.singleExpand, + node: me.store.getRootNode(), + hideHeaders: me.hideHeaders + }); + + me.mon(me.store, { + scope: me, + rootchange: me.onRootChange, + clear: me.onClear + }); + + me.relayEvents(me.store, [ + + 'beforeload', + + + 'load' + ]); + + me.mon(me.store, { + + append: me.createRelayer('itemappend'), + + + remove: me.createRelayer('itemremove'), + + + move: me.createRelayer('itemmove', [0, 4]), + + + insert: me.createRelayer('iteminsert'), + + + beforeappend: me.createRelayer('beforeitemappend'), + + + beforeremove: me.createRelayer('beforeitemremove'), + + + beforemove: me.createRelayer('beforeitemmove'), + + + beforeinsert: me.createRelayer('beforeiteminsert'), + + + expand: me.createRelayer('itemexpand', [0, 1]), + + + collapse: me.createRelayer('itemcollapse', [0, 1]), + + + beforeexpand: me.createRelayer('beforeitemexpand', [0, 1]), + + + beforecollapse: me.createRelayer('beforeitemcollapse', [0, 1]) + }); + + + if (!me.columns) { + if (me.initialConfig.hideHeaders === undefined) { + me.hideHeaders = true; + } + me.addCls(Ext.baseCSSPrefix + 'autowidth-table'); + me.columns = [{ + xtype : 'treecolumn', + text : 'Name', + width : Ext.isIE6 ? null : 10000, + dataIndex: me.displayField + }]; + } + + if (me.cls) { + cls.push(me.cls); + } + me.cls = cls.join(' '); + me.callParent(); + + view = me.getView(); + + me.relayEvents(view, [ + + 'checkchange', + + 'afteritemexpand', + + 'afteritemcollapse' + ]); + + + if (!view.rootVisible && !me.getRootNode()) { + me.setRootNode({ + expanded: true + }); + } + }, + + onClear: function(){ + this.view.onClear(); + }, + + + setRootNode: function() { + return this.store.setRootNode.apply(this.store, arguments); + }, + + + getRootNode: function() { + return this.store.getRootNode(); + }, + + onRootChange: function(root) { + this.view.setRootNode(root); + }, + + + getChecked: function() { + return this.getView().getChecked(); + }, + + isItemChecked: function(rec) { + return rec.get('checked'); + }, + + + expandNode: function(record, deep, callback, scope) { + return this.getView().expand(record, deep, callback, scope || this); + }, + + + collapseNode: function(record, deep, callback, scope) { + return this.getView().collapse(record, deep, callback, scope || this); + }, + + + expandAll : function(callback, scope) { + var me = this, + root = me.getRootNode(), + animate = me.enableAnimations, + view = me.getView(); + if (root) { + if (!animate) { + view.beginBulkUpdate(); + } + root.expand(true, callback, scope || me); + if (!animate) { + view.endBulkUpdate(); + } + } + }, + + + collapseAll : function(callback, scope) { + var me = this, + root = me.getRootNode(), + animate = me.enableAnimations, + view = me.getView(); + + if (root) { + if (!animate) { + view.beginBulkUpdate(); + } + scope = scope || me; + if (view.rootVisible) { + root.collapse(true, callback, scope); + } else { + root.collapseChildren(true, callback, scope); + } + if (!animate) { + view.endBulkUpdate(); + } + } + }, + + + expandPath: function(path, field, separator, callback, scope) { + var me = this, + current = me.getRootNode(), + index = 1, + view = me.getView(), + keys, + expander; + + field = field || me.getRootNode().idProperty; + separator = separator || '/'; + + if (Ext.isEmpty(path)) { + Ext.callback(callback, scope || me, [false, null]); + return; + } + + keys = path.split(separator); + if (current.get(field) != keys[1]) { + + Ext.callback(callback, scope || me, [false, current]); + return; + } + + expander = function(){ + if (++index === keys.length) { + Ext.callback(callback, scope || me, [true, current]); + return; + } + var node = current.findChild(field, keys[index]); + if (!node) { + Ext.callback(callback, scope || me, [false, current]); + return; + } + current = node; + current.expand(false, expander); + }; + current.expand(false, expander); + }, + + + selectPath: function(path, field, separator, callback, scope) { + var me = this, + root, + keys, + last; + + field = field || me.getRootNode().idProperty; + separator = separator || '/'; + + keys = path.split(separator); + last = keys.pop(); + if (keys.length > 1) { + me.expandPath(keys.join(separator), field, separator, function(success, node){ + var lastNode = node; + if (success && node) { + node = node.findChild(field, last); + if (node) { + me.getSelectionModel().select(node); + Ext.callback(callback, scope || me, [true, node]); + return; + } + } + Ext.callback(callback, scope || me, [false, lastNode]); + }, me); + } else { + root = me.getRootNode(); + if (root.getId() === last) { + me.getSelectionModel().select(root); + Ext.callback(callback, scope || me, [true, root]); + } else { + Ext.callback(callback, scope || me, [false, null]); + } + } + } +}); + + +Ext.define('Ext.view.DragZone', { + extend: 'Ext.dd.DragZone', + containerScroll: false, + + constructor: function(config) { + var me = this, + view, + ownerCt, + el; + + Ext.apply(me, config); + + + + + + + if (!me.ddGroup) { + me.ddGroup = 'view-dd-zone-' + me.view.id; + } + + + + + + + + + view = me.view; + ownerCt = view.ownerCt; + + + if (ownerCt) { + el = ownerCt.getTargetEl().dom; + } else { + el = view.el.dom.parentNode; + } + me.callParent([el]); + + me.ddel = Ext.get(document.createElement('div')); + me.ddel.addCls(Ext.baseCSSPrefix + 'grid-dd-wrap'); + }, + + init: function(id, sGroup, config) { + this.initTarget(id, sGroup, config); + this.view.mon(this.view, { + itemmousedown: this.onItemMouseDown, + scope: this + }); + }, + + onValidDrop: function(target, e, id) { + this.callParent(); + + target.el.focus(); + }, + + onItemMouseDown: function(view, record, item, index, e) { + if (!this.isPreventDrag(e, record, item, index)) { + + + + this.view.focus(); + this.handleMouseDown(e); + + + + if (view.getSelectionModel().selectionMode == 'MULTI' && !e.ctrlKey && view.getSelectionModel().isSelected(record)) { + return false; + } + } + }, + + + isPreventDrag: function(e) { + return false; + }, + + getDragData: function(e) { + var view = this.view, + item = e.getTarget(view.getItemSelector()); + + if (item) { + return { + copy: view.copy || (view.allowCopy && e.ctrlKey), + event: new Ext.EventObjectImpl(e), + view: view, + ddel: this.ddel, + item: item, + records: view.getSelectionModel().getSelection(), + fromPosition: Ext.fly(item).getXY() + }; + } + }, + + onInitDrag: function(x, y) { + var me = this, + data = me.dragData, + view = data.view, + selectionModel = view.getSelectionModel(), + record = view.getRecord(data.item), + e = data.event; + + + + if (!selectionModel.isSelected(record)) { + selectionModel.select(record, true); + } + data.records = selectionModel.getSelection(); + + me.ddel.update(me.getDragText()); + me.proxy.update(me.ddel.dom); + me.onStartDrag(x, y); + return true; + }, + + getDragText: function() { + var count = this.dragData.records.length; + return Ext.String.format(this.dragText, count, count == 1 ? '' : 's'); + }, + + getRepairXY : function(e, data){ + return data ? data.fromPosition : false; + } +}); + + +Ext.define('Ext.tree.ViewDragZone', { + extend: 'Ext.view.DragZone', + + isPreventDrag: function(e, record) { + return (record.get('allowDrag') === false) || !!e.getTarget(this.view.expanderSelector); + }, + + afterRepair: function() { + var me = this, + view = me.view, + selectedRowCls = view.selectedItemCls, + records = me.dragData.records, + r, + rLen = records.length, + fly = Ext.fly, + item; + + if (Ext.enableFx && me.repairHighlight) { + + for (r = 0; r < rLen; r++) { + + + item = view.getNode(records[r]); + + + + fly(item.firstChild).highlight(me.repairHighlightColor, { + listeners: { + beforeanimate: function() { + if (view.isSelected(item)) { + fly(item).removeCls(selectedRowCls); + } + }, + afteranimate: function() { + if (view.isSelected(item)) { + fly(item).addCls(selectedRowCls); + } + } + } + }); + } + + } + me.dragging = false; + } +}); + + +Ext.define('Ext.tree.ViewDropZone', { + extend: 'Ext.view.DropZone', + + + allowParentInserts: false, + + + allowContainerDrops: false, + + + appendOnly: false, + + + expandDelay : 500, + + indicatorCls: Ext.baseCSSPrefix + 'tree-ddindicator', + + + expandNode : function(node) { + var view = this.view; + if (!node.isLeaf() && !node.isExpanded()) { + view.expand(node); + this.expandProcId = false; + } + }, + + + queueExpand : function(node) { + this.expandProcId = Ext.Function.defer(this.expandNode, this.expandDelay, this, [node]); + }, + + + cancelExpand : function() { + if (this.expandProcId) { + clearTimeout(this.expandProcId); + this.expandProcId = false; + } + }, + + getPosition: function(e, node) { + var view = this.view, + record = view.getRecord(node), + y = e.getPageY(), + noAppend = record.isLeaf(), + noBelow = false, + region = Ext.fly(node).getRegion(), + fragment; + + + if (record.isRoot()) { + return 'append'; + } + + + if (this.appendOnly) { + return noAppend ? false : 'append'; + } + + if (!this.allowParentInsert) { + noBelow = record.hasChildNodes() && record.isExpanded(); + } + + fragment = (region.bottom - region.top) / (noAppend ? 2 : 3); + if (y >= region.top && y < (region.top + fragment)) { + return 'before'; + } + else if (!noBelow && (noAppend || (y >= (region.bottom - fragment) && y <= region.bottom))) { + return 'after'; + } + else { + return 'append'; + } + }, + + isValidDropPoint : function(node, position, dragZone, e, data) { + if (!node || !data.item) { + return false; + } + + var view = this.view, + targetNode = view.getRecord(node), + draggedRecords = data.records, + dataLength = draggedRecords.length, + ln = draggedRecords.length, + i, record; + + + if (!(targetNode && position && dataLength)) { + return false; + } + + + for (i = 0; i < ln; i++) { + record = draggedRecords[i]; + if (record.isNode && record.contains(targetNode)) { + return false; + } + } + + + if (position === 'append' && targetNode.get('allowDrop') === false) { + return false; + } + else if (position != 'append' && targetNode.parentNode.get('allowDrop') === false) { + return false; + } + + + if (Ext.Array.contains(draggedRecords, targetNode)) { + return false; + } + + + + return true; + }, + + onNodeOver : function(node, dragZone, e, data) { + var position = this.getPosition(e, node), + returnCls = this.dropNotAllowed, + view = this.view, + targetNode = view.getRecord(node), + indicator = this.getIndicator(), + indicatorX = 0, + indicatorY = 0; + + + this.cancelExpand(); + if (position == 'append' && !this.expandProcId && !Ext.Array.contains(data.records, targetNode) && !targetNode.isLeaf() && !targetNode.isExpanded()) { + this.queueExpand(targetNode); + } + + + if (this.isValidDropPoint(node, position, dragZone, e, data)) { + this.valid = true; + this.currentPosition = position; + this.overRecord = targetNode; + + indicator.setWidth(Ext.fly(node).getWidth()); + indicatorY = Ext.fly(node).getY() - Ext.fly(view.el).getY() - 1; + + + if (position == 'before') { + returnCls = targetNode.isFirst() ? Ext.baseCSSPrefix + 'tree-drop-ok-above' : Ext.baseCSSPrefix + 'tree-drop-ok-between'; + indicator.showAt(0, indicatorY); + dragZone.proxy.show(); + } else if (position == 'after') { + returnCls = targetNode.isLast() ? Ext.baseCSSPrefix + 'tree-drop-ok-below' : Ext.baseCSSPrefix + 'tree-drop-ok-between'; + indicatorY += Ext.fly(node).getHeight(); + indicator.showAt(0, indicatorY); + dragZone.proxy.show(); + } else { + returnCls = Ext.baseCSSPrefix + 'tree-drop-ok-append'; + + indicator.hide(); + } + } else { + this.valid = false; + } + + this.currentCls = returnCls; + return returnCls; + }, + + onContainerOver : function(dd, e, data) { + return e.getTarget('.' + this.indicatorCls) ? this.currentCls : this.dropNotAllowed; + }, + + notifyOut: function() { + this.callParent(arguments); + this.cancelExpand(); + }, + + handleNodeDrop : function(data, targetNode, position) { + var me = this, + view = me.view, + parentNode = targetNode.parentNode, + store = view.getStore(), + recordDomNodes = [], + records, i, len, + insertionMethod, argList, + needTargetExpand, + transferData, + processDrop; + + + if (data.copy) { + records = data.records; + data.records = []; + for (i = 0, len = records.length; i < len; i++) { + data.records.push(Ext.apply({}, records[i].data)); + } + } + + + me.cancelExpand(); + + + + + + if (position == 'before') { + insertionMethod = parentNode.insertBefore; + argList = [null, targetNode]; + targetNode = parentNode; + } + else if (position == 'after') { + if (targetNode.nextSibling) { + insertionMethod = parentNode.insertBefore; + argList = [null, targetNode.nextSibling]; + } + else { + insertionMethod = parentNode.appendChild; + argList = [null]; + } + targetNode = parentNode; + } + else { + if (!targetNode.isExpanded()) { + needTargetExpand = true; + } + insertionMethod = targetNode.appendChild; + argList = [null]; + } + + + transferData = function() { + var node, + r, rLen, color, n; + for (i = 0, len = data.records.length; i < len; i++) { + argList[0] = data.records[i]; + node = insertionMethod.apply(targetNode, argList); + + if (Ext.enableFx && me.dropHighlight) { + recordDomNodes.push(view.getNode(node)); + } + } + + + + if (Ext.enableFx && me.dropHighlight) { + + + rLen = recordDomNodes.length; + color = me.dropHighlightColor; + + for (r = 0; r < rLen; r++) { + n = recordDomNodes[r]; + + if (n) { + Ext.fly(n.firstChild ? n.firstChild : n).highlight(color); + } + } + } + }; + + + if (needTargetExpand) { + targetNode.expand(false, transferData); + } + + else { + transferData(); + } + } +}); + + +Ext.define('Ext.tree.plugin.TreeViewDragDrop', { + extend: 'Ext.AbstractPlugin', + alias: 'plugin.treeviewdragdrop', + + uses: [ + 'Ext.tree.ViewDragZone', + 'Ext.tree.ViewDropZone' + ], + + + + + + + + dragText : '{0} selected node{1}', + + + + allowParentInserts: false, + + + allowContainerDrops: false, + + + appendOnly: false, + + + ddGroup : "TreeDD", + + + + + + + expandDelay : 1000, + + + enableDrop: true, + + + enableDrag: true, + + + nodeHighlightColor: 'c3daf9', + + + nodeHighlightOnDrop: Ext.enableFx, + + + nodeHighlightOnRepair: Ext.enableFx, + + init : function(view) { + view.on('render', this.onViewRender, this, {single: true}); + }, + + + destroy: function() { + Ext.destroy(this.dragZone, this.dropZone); + }, + + onViewRender : function(view) { + var me = this; + + if (me.enableDrag) { + me.dragZone = new Ext.tree.ViewDragZone({ + view: view, + ddGroup: me.dragGroup || me.ddGroup, + dragText: me.dragText, + repairHighlightColor: me.nodeHighlightColor, + repairHighlight: me.nodeHighlightOnRepair + }); + } + + if (me.enableDrop) { + me.dropZone = new Ext.tree.ViewDropZone({ + view: view, + ddGroup: me.dropGroup || me.ddGroup, + allowContainerDrops: me.allowContainerDrops, + appendOnly: me.appendOnly, + allowParentInserts: me.allowParentInserts, + expandDelay: me.expandDelay, + dropHighlightColor: me.nodeHighlightColor, + dropHighlight: me.nodeHighlightOnDrop + }); + } + } +}); + + +Ext.define('Ext.util.CSS', (function() { + var rules = null, + doc = document, + camelRe = /(-[a-z])/gi, + camelFn = function(m, a){ return a.charAt(1).toUpperCase(); }; + + return { + + singleton: true, + + constructor: function() { + this.rules = {}; + this.initialized = false; + }, + + + createStyleSheet : function(cssText, id) { + var ss, + head = doc.getElementsByTagName("head")[0], + styleEl = doc.createElement("style"); + + styleEl.setAttribute("type", "text/css"); + if (id) { + styleEl.setAttribute("id", id); + } + + if (Ext.isIE) { + head.appendChild(styleEl); + ss = styleEl.styleSheet; + ss.cssText = cssText; + } else { + try{ + styleEl.appendChild(doc.createTextNode(cssText)); + } catch(e) { + styleEl.cssText = cssText; + } + head.appendChild(styleEl); + ss = styleEl.styleSheet ? styleEl.styleSheet : (styleEl.sheet || doc.styleSheets[doc.styleSheets.length-1]); + } + this.cacheStyleSheet(ss); + return ss; + }, + + + removeStyleSheet : function(id) { + var existing = document.getElementById(id); + if (existing) { + existing.parentNode.removeChild(existing); + } + }, + + + swapStyleSheet : function(id, url) { + var doc = document, + ss; + this.removeStyleSheet(id); + ss = doc.createElement("link"); + ss.setAttribute("rel", "stylesheet"); + ss.setAttribute("type", "text/css"); + ss.setAttribute("id", id); + ss.setAttribute("href", url); + doc.getElementsByTagName("head")[0].appendChild(ss); + }, + + + refreshCache : function() { + return this.getRules(true); + }, + + + cacheStyleSheet : function(ss) { + if(!rules){ + rules = {}; + } + try { + var ssRules = ss.cssRules || ss.rules, + selectorText, + i = ssRules.length - 1, + j, + selectors; + + for (; i >= 0; --i) { + selectorText = ssRules[i].selectorText; + if (selectorText) { + + + selectorText = selectorText.split(','); + selectors = selectorText.length; + for (j = 0; j < selectors; j++) { + rules[Ext.String.trim(selectorText[j]).toLowerCase()] = ssRules[i]; + } + } + } + } catch(e) {} + }, + + + getRules : function(refreshCache) { + if (rules === null || refreshCache) { + rules = {}; + var ds = doc.styleSheets, + i = 0, + len = ds.length; + + for (; i < len; i++) { + try { + if (!ds[i].disabled) { + this.cacheStyleSheet(ds[i]); + } + } catch(e) {} + } + } + return rules; + }, + + + getRule: function(selector, refreshCache) { + var rs = this.getRules(refreshCache), + i; + if (!Ext.isArray(selector)) { + return rs[selector.toLowerCase()]; + } + for (i = 0; i < selector.length; i++) { + if (rs[selector[i]]) { + return rs[selector[i].toLowerCase()]; + } + } + return null; + }, + + + updateRule : function(selector, property, value){ + var rule, i; + if (!Ext.isArray(selector)) { + rule = this.getRule(selector); + if (rule) { + rule.style[property.replace(camelRe, camelFn)] = value; + return true; + } + } else { + for (i = 0; i < selector.length; i++) { + if (this.updateRule(selector[i], property, value)) { + return true; + } + } + } + return false; + } + }; +}())); + + +Ext.define('Ext.util.Cookies', { + singleton: true, + + + set : function(name, value){ + var argv = arguments, + argc = arguments.length, + expires = (argc > 2) ? argv[2] : null, + path = (argc > 3) ? argv[3] : '/', + domain = (argc > 4) ? argv[4] : null, + secure = (argc > 5) ? argv[5] : false; + + document.cookie = name + "=" + escape(value) + ((expires === null) ? "" : ("; expires=" + expires.toGMTString())) + ((path === null) ? "" : ("; path=" + path)) + ((domain === null) ? "" : ("; domain=" + domain)) + ((secure === true) ? "; secure" : ""); + }, + + + get : function(name){ + var arg = name + "=", + alen = arg.length, + clen = document.cookie.length, + i = 0, + j = 0; + + while(i < clen){ + j = i + alen; + if(document.cookie.substring(i, j) == arg){ + return this.getCookieVal(j); + } + i = document.cookie.indexOf(" ", i) + 1; + if(i === 0){ + break; + } + } + return null; + }, + + + clear : function(name, path){ + if(this.get(name)){ + path = path || '/'; + document.cookie = name + '=' + '; expires=Thu, 01-Jan-70 00:00:01 GMT; path=' + path; + } + }, + + + getCookieVal : function(offset){ + var endstr = document.cookie.indexOf(";", offset); + if(endstr == -1){ + endstr = document.cookie.length; + } + return unescape(document.cookie.substring(offset, endstr)); + } +}); + + + +Ext.define('Ext.util.Grouper', { + + + + extend: 'Ext.util.Sorter', + + + + isGrouper: true, + + + getGroupString: function(instance) { + return instance.get(this.property); + } +}); + + +Ext.define('Ext.util.History', { + singleton: true, + alternateClassName: 'Ext.History', + mixins: { + observable: 'Ext.util.Observable' + }, + + + useTopWindow: true, + + + fieldId: Ext.baseCSSPrefix + 'history-field', + + iframeId: Ext.baseCSSPrefix + 'history-frame', + + constructor: function() { + var me = this; + me.oldIEMode = Ext.isIE6 || Ext.isIE7 || !Ext.isStrict && Ext.isIE8; + me.iframe = null; + me.hiddenField = null; + me.ready = false; + me.currentToken = null; + me.mixins.observable.constructor.call(me); + }, + + getHash: function() { + var href = window.location.href, + i = href.indexOf("#"); + + return i >= 0 ? href.substr(i + 1) : null; + }, + + setHash: function (hash) { + var me = this, + win = me.useTopWindow ? window.top : window; + try { + win.location.hash = hash; + } catch (e) { + + } + }, + + doSave: function() { + this.hiddenField.value = this.currentToken; + }, + + + handleStateChange: function(token) { + this.currentToken = token; + this.fireEvent('change', token); + }, + + updateIFrame: function(token) { + var html = '
    ' + + Ext.util.Format.htmlEncode(token) + + '
    ', + doc; + + try { + doc = this.iframe.contentWindow.document; + doc.open(); + doc.write(html); + doc.close(); + return true; + } catch (e) { + return false; + } + }, + + checkIFrame: function () { + var me = this, + contentWindow = me.iframe.contentWindow, + doc, elem, oldToken, oldHash; + + if (!contentWindow || !contentWindow.document) { + Ext.Function.defer(this.checkIFrame, 10, this); + return; + } + + doc = contentWindow.document; + elem = doc.getElementById("state"); + oldToken = elem ? elem.innerText : null; + oldHash = me.getHash(); + + Ext.TaskManager.start({ + run: function () { + var doc = contentWindow.document, + elem = doc.getElementById("state"), + newToken = elem ? elem.innerText : null, + newHash = me.getHash(); + + if (newToken !== oldToken) { + oldToken = newToken; + me.handleStateChange(newToken); + me.setHash(newToken); + oldHash = newToken; + me.doSave(); + } else if (newHash !== oldHash) { + oldHash = newHash; + me.updateIFrame(newHash); + } + }, + interval: 50, + scope: me + }); + me.ready = true; + me.fireEvent('ready', me); + }, + + startUp: function () { + var me = this, + hash; + + me.currentToken = me.hiddenField.value || this.getHash(); + + if (me.oldIEMode) { + me.checkIFrame(); + } else { + hash = me.getHash(); + Ext.TaskManager.start({ + run: function () { + var newHash = me.getHash(); + if (newHash !== hash) { + hash = newHash; + me.handleStateChange(hash); + me.doSave(); + } + }, + interval: 50, + scope: me + }); + me.ready = true; + me.fireEvent('ready', me); + } + + }, + + + init: function (onReady, scope) { + var me = this, + DomHelper = Ext.DomHelper; + + if (me.ready) { + Ext.callback(onReady, scope, [me]); + return; + } + + if (!Ext.isReady) { + Ext.onReady(function() { + me.init(onReady, scope); + }); + return; + } + + + me.hiddenField = Ext.getDom(me.fieldId); + if (!me.hiddenField) { + me.hiddenField = Ext.getBody().createChild({ + id: Ext.id(), + tag: 'form', + cls: Ext.baseCSSPrefix + 'hide-display', + children: [{ + tag: 'input', + type: 'hidden', + id: me.fieldId + }] + }, false, true).firstChild; + } + + if (me.oldIEMode) { + me.iframe = Ext.getDom(me.iframeId); + if (!me.iframe) { + me.iframe = DomHelper.append(me.hiddenField.parentNode, { + tag: 'iframe', + id: me.iframeId, + src: Ext.SSL_SECURE_URL + }); + } + } + + me.addEvents( + + 'ready', + + 'change' + ); + + if (onReady) { + me.on('ready', onReady, scope, {single: true}); + } + me.startUp(); + }, + + + add: function (token, preventDup) { + var me = this; + + if (preventDup !== false) { + if (me.getToken() === token) { + return true; + } + } + + if (me.oldIEMode) { + return me.updateIFrame(token); + } else { + me.setHash(token); + return true; + } + }, + + + back: function() { + window.history.go(-1); + }, + + + forward: function(){ + window.history.go(1); + }, + + + getToken: function() { + return this.ready ? this.currentToken : this.getHash(); + } +}); + + +Ext.define('Ext.util.Point', { + + + extend: 'Ext.util.Region', + + statics: { + + + fromEvent: function(e) { + e = (e.changedTouches && e.changedTouches.length > 0) ? e.changedTouches[0] : e; + return new this(e.pageX, e.pageY); + } + }, + + + + + constructor: function(x, y) { + this.callParent([y, x, y, x]); + }, + + + toString: function() { + return "Point[" + this.x + "," + this.y + "]"; + }, + + + equals: function(p) { + return (this.x == p.x && this.y == p.y); + }, + + + isWithin: function(p, threshold) { + if (!Ext.isObject(threshold)) { + threshold = { + x: threshold, + y: threshold + }; + } + + return (this.x <= p.x + threshold.x && this.x >= p.x - threshold.x && + this.y <= p.y + threshold.y && this.y >= p.y - threshold.y); + }, + + + roundedEquals: function(p) { + return (Math.round(this.x) == Math.round(p.x) && Math.round(this.y) == Math.round(p.y)); + } +}, function() { + + this.prototype.translate = Ext.util.Region.prototype.translateBy; +}); + + +Ext.define('Ext.view.TableChunker', { + singleton: true, + requires: ['Ext.XTemplate'], + metaTableTpl: [ + '{%if (this.openTableWrap)out.push(this.openTableWrap())%}', + '', + '', + '', + '', + '', + '', + '', + '{[this.openRows()]}', + '{row}', + '', + '{[this.embedFeature(values, parent, xindex, xcount)]}', + '', + '{[this.closeRows()]}', + '', + '
    ', + '{%if (this.closeTableWrap)out.push(this.closeTableWrap())%}' + ], + + constructor: function() { + Ext.XTemplate.prototype.recurse = function(values, reference) { + return this.apply(reference ? values[reference] : values); + }; + }, + + embedFeature: function(values, parent, x, xcount) { + var tpl = ''; + if (!values.disabled) { + tpl = values.getFeatureTpl(values, parent, x, xcount); + } + return tpl; + }, + + embedFullWidth: function(values) { + var result = 'style="width:{fullWidth}px;'; + + + + if (!values.rowCount) { + result += 'height:1px;'; + } + return result + '"'; + }, + + openRows: function() { + return ''; + }, + + closeRows: function() { + return ''; + }, + + metaRowTpl: [ + '', + '', + '', + '
    {{id}}
    ', + '', + '
    ', + '' + ], + + firstOrLastCls: function(xindex, xcount) { + if (xindex === 1) { + return Ext.view.Table.prototype.firstCls; + } else if (xindex === xcount) { + return Ext.view.Table.prototype.lastCls; + } + }, + + embedRowCls: function() { + return '{rowCls}'; + }, + + embedRowAttr: function() { + return '{rowAttr}'; + }, + + openTableWrap: undefined, + + closeTableWrap: undefined, + + getTableTpl: function(cfg, textOnly) { + var tpl, + tableTplMemberFns = { + openRows: this.openRows, + closeRows: this.closeRows, + embedFeature: this.embedFeature, + embedFullWidth: this.embedFullWidth, + openTableWrap: this.openTableWrap, + closeTableWrap: this.closeTableWrap + }, + tplMemberFns = {}, + features = cfg.features || [], + ln = features.length, + i = 0, + memberFns = { + embedRowCls: this.embedRowCls, + embedRowAttr: this.embedRowAttr, + firstOrLastCls: this.firstOrLastCls, + unselectableAttr: cfg.enableTextSelection ? '' : 'unselectable="on"', + unselectableCls: cfg.enableTextSelection ? '' : Ext.baseCSSPrefix + 'unselectable' + }, + + metaRowTpl = Array.prototype.slice.call(this.metaRowTpl, 0), + metaTableTpl; + + for (; i < ln; i++) { + if (!features[i].disabled) { + features[i].mutateMetaRowTpl(metaRowTpl); + Ext.apply(memberFns, features[i].getMetaRowTplFragments()); + Ext.apply(tplMemberFns, features[i].getFragmentTpl()); + Ext.apply(tableTplMemberFns, features[i].getTableFragments()); + } + } + + metaRowTpl = new Ext.XTemplate(metaRowTpl.join(''), memberFns); + cfg.row = metaRowTpl.applyTemplate(cfg); + + metaTableTpl = new Ext.XTemplate(this.metaTableTpl.join(''), tableTplMemberFns); + + tpl = metaTableTpl.applyTemplate(cfg); + + + if (!textOnly) { + tpl = new Ext.XTemplate(tpl, tplMemberFns); + } + return tpl; + + } +}); + +//@tail + + + + +Ext._endTime = new Date().getTime(); +if (Ext._beforereadyhandler){ + Ext._beforereadyhandler(); +} diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/css/ext-all.css b/sfdx-project/force-app/main/default/staticresources/extjs/resources/css/ext-all.css new file mode 100644 index 0000000..caa6d9c --- /dev/null +++ b/sfdx-project/force-app/main/default/staticresources/extjs/resources/css/ext-all.css @@ -0,0 +1,18 @@ +/* +This file is part of Ext JS 4.1 + +Copyright (c) 2011-2012 Sencha Inc + +Contact: http://www.sencha.com/contact + +Commercial Usage +Licensees holding valid commercial licenses may use this file in accordance with the Commercial +Software License Agreement provided with the Software or, alternatively, in accordance with the +terms contained in a written agreement between you and Sencha. + +If you are unsure which license is appropriate for your use, please contact the sales department +at http://www.sencha.com/contact. + +Build date: 2012-07-04 21:23:42 (65ff594cd80b9bad45df640c22cc0adb52c95a7b) +*/ +html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}li{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%}q:before,q:after{content:""}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}*:focus{outline:0}.x-border-box,.x-border-box *{box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-webkit-box-sizing:border-box}.x-body{color:black;font-size:12px;font-family:tahoma,arial,verdana,sans-serif}.x-rtl{direction:rtl}.x-ltr{direction:ltr}.x-clear{overflow:hidden;clear:both;font-size:0;line-height:0;display:table}.x-strict .x-ie7 .x-clear{height:0;width:0}.x-layer{position:absolute!important;overflow:hidden;zoom:1}.x-shim{position:absolute;left:0;top:0;overflow:hidden;filter:alpha(opacity=0);opacity:0}.x-hide-display{display:none!important}.x-hide-visibility{visibility:hidden!important}.x-item-disabled .x-form-item-label,.x-item-disabled .x-form-field,.x-item-disabled .x-form-cb-label,.x-item-disabled .x-form-trigger{filter:alpha(opacity=30);opacity:.3}.x-ie6 .x-item-disabled{filter:none}.x-hidden,.x-hide-offsets{display:block!important;visibility:hidden!important;position:absolute!important;left:-10000px!important;top:-10000px!important}.x-hide-nosize{height:0!important;width:0!important}.x-masked-relative{position:relative}.x-ie6 .x-masked select,.x-ie6.x-body-masked select{visibility:hidden!important}.x-css-shadow{position:absolute;-webkit-border-radius:5px 5px;-moz-border-radius:5px 5px;-ms-border-radius:5px 5px;-o-border-radius:5px 5px;border-radius:5px 5px}.x-ie-shadow{background-color:#777;display:none;position:absolute;overflow:hidden;zoom:1}.x-box-tl{background:transparent no-repeat 0 0;zoom:1}.x-box-tc{height:8px;background:transparent repeat-x 0 0;overflow:hidden}.x-box-tr{background:transparent no-repeat right -8px}.x-box-ml{background:transparent repeat-y 0;padding-left:4px;overflow:hidden;zoom:1}.x-box-mc{background:repeat-x 0 -16px;padding:4px 10px}.x-box-mc h3{margin:0 0 4px 0;zoom:1}.x-box-mr{background:transparent repeat-y right;padding-right:4px;overflow:hidden}.x-box-bl{background:transparent no-repeat 0 -16px;zoom:1}.x-box-bc{background:transparent repeat-x 0 -8px;height:8px;overflow:hidden}.x-box-br{background:transparent no-repeat right -24px}.x-box-tl,.x-box-bl{padding-left:8px;overflow:hidden}.x-box-tr,.x-box-br{padding-right:8px;overflow:hidden}.x-box-tl{background-image:url('../../resources/themes/images/default/box/corners.gif')}.x-box-tc{background-image:url('../../resources/themes/images/default/box/tb.gif')}.x-box-tr{background-image:url('../../resources/themes/images/default/box/corners.gif')}.x-box-ml{background-image:url('../../resources/themes/images/default/box/l.gif')}.x-box-mc{background-color:#eee;background-image:url('../../resources/themes/images/default/box/tb.gif');font-family:"Myriad Pro","Myriad Web","Tahoma","Helvetica","Arial",sans-serif;color:#393939;font-size:15px}.x-box-mc h3{font-size:18px;font-weight:bold}.x-box-mr{background-image:url('../../resources/themes/images/default/box/r.gif')}.x-box-bl{background-image:url('../../resources/themes/images/default/box/corners.gif')}.x-box-bc{background-image:url('../../resources/themes/images/default/box/tb.gif')}.x-box-br{background-image:url('../../resources/themes/images/default/box/corners.gif')}.x-box-blue .x-box-bl,.x-box-blue .x-box-br,.x-box-blue .x-box-tl,.x-box-blue .x-box-tr{background-image:url('../../resources/themes/images/default/box/corners-blue.gif')}.x-box-blue .x-box-bc,.x-box-blue .x-box-mc,.x-box-blue .x-box-tc{background-image:url('../../resources/themes/images/default/box/tb-blue.gif')}.x-box-blue .x-box-mc{background-color:#c3daf9}.x-box-blue .x-box-mc h3{color:#17385b}.x-box-blue .x-box-ml{background-image:url('../../resources/themes/images/default/box/l-blue.gif')}.x-box-blue .x-box-mr{background-image:url('../../resources/themes/images/default/box/r-blue.gif')}.x-container{zoom:1}.x-container:before{content:"";clear:both;display:table}table.x-container:before,tbody.x-container:before,tr.x-container:before{display:none}.x-focus-element{position:absolute;top:-10px;left:-10px;width:0;height:0}.x-focus-frame{position:absolute;left:0;top:0;z-index:100000000;width:0;height:0}.x-focus-frame-top,.x-focus-frame-bottom,.x-focus-frame-left,.x-focus-frame-right{position:absolute;top:0;left:0}.x-focus-frame-top,.x-focus-frame-bottom{border-top:solid 2px #15428b;height:2px}.x-focus-frame-left,.x-focus-frame-right{border-left:solid 2px #15428b;width:2px}.x-mask{z-index:100;position:absolute;top:0;left:0;filter:alpha(opacity=50);opacity:.5;width:100%;height:100%;zoom:1;background:#ccc}.x-mask-msg{z-index:20001;position:absolute;top:0;left:0;padding:2px;border:1px solid;border-color:#99bce8;background-image:none;background-color:#dfe9f6}.x-mask-msg div{padding:5px 10px 5px 25px;background-image:url('../../resources/themes/images/default/grid/loading.gif');background-repeat:no-repeat;background-position:5px center;cursor:wait;border:1px solid #a3bad9;background-color:#eee;color:#222;font:normal 11px tahoma,arial,verdana,sans-serif}.x-boundlist{border-width:1px;border-style:solid;border-color:#98c0f4;background:white}.x-boundlist .x-toolbar{border-width:1px 0 0 0}.x-strict .x-ie6 .x-boundlist-list-ct,.x-strict .x-ie7 .x-boundlist-list-ct{position:relative}.x-boundlist-item{padding:2px;user-select:none;-o-user-select:none;-ms-user-select:none;-moz-user-select:-moz-none;-webkit-user-select:none;cursor:default;cursor:pointer;cursor:hand;position:relative;border-width:1px;border-style:dotted;border-color:white}.x-boundlist-selected{background:#cbdaf0;border-color:#8eabe4}.x-boundlist-item-over{background:#dfe8f6;border-color:#a3bae9}.x-boundlist-floating{border-top-width:0}.x-boundlist-above{border-top-width:1px;border-bottom-width:1px}.x-btn{display:inline-block;zoom:1;*display:inline;position:relative;cursor:pointer;cursor:hand;white-space:nowrap;vertical-align:middle;background-repeat:no-repeat}.x-btn *{cursor:pointer;cursor:hand}.x-btn em{background-repeat:no-repeat}.x-btn em a{text-decoration:none;display:block;color:inherit;width:100%;zoom:1}.x-btn button{width:100%;display:block;margin:0;padding:0;border:0;background:0;outline:0 none;overflow:hidden;vertical-align:bottom;-webkit-appearance:none}.x-btn button::-moz-focus-inner{border:0;padding:0}.x-btn .x-btn-inner{display:block;white-space:nowrap;background-color:transparent;background-repeat:no-repeat;background-position:left center;overflow:hidden}.x-btn .x-btn-left .x-btn-inner{text-align:left}.x-btn .x-btn-center .x-btn-inner{text-align:center}.x-btn .x-btn-right .x-btn-inner{text-align:right}.x-btn-disabled span{filter:alpha(opacity=50);opacity:.5}.x-ie6 .x-btn-disabled span,.x-ie7 .x-btn-disabled span{filter:none}.x-ie7 .x-btn-disabled,.x-ie8 .x-btn-disabled{filter:none}.x-ie6 .x-btn-disabled .x-btn-icon,.x-ie7 .x-btn-disabled .x-btn-icon,.x-ie8 .x-btn-disabled .x-btn-icon{filter:alpha(opacity=60);opacity:.6}.x-ie9 .x-btn button{overflow:visible!important}* html .x-ie .x-btn button{width:1px}.x-ie .x-btn button{overflow-x:visible;vertical-align:baseline}.x-strict .x-ie6 .x-btn .x-frame-mc,.x-strict .x-ie7 .x-btn .x-frame-mc{height:100%}.x-btn .x-frame-mc{vertical-align:middle;white-space:nowrap;cursor:pointer}.x-btn-noicon .x-frame-mc{text-align:center}.x-btn-icon-text-left .x-btn-icon{background-position:left center}.x-btn-icon-text-right .x-btn-icon{background-position:right center}.x-btn-icon-text-top .x-btn-icon{background-position:center top}.x-btn-icon-text-bottom .x-btn-icon{background-position:center bottom}.x-btn button,.x-btn a{position:relative}.x-btn button .x-btn-icon,.x-btn a .x-btn-icon{position:absolute;background-repeat:no-repeat}.x-btn-arrow-right{background:transparent no-repeat right center;padding-right:12px}.x-btn-arrow-right .x-btn-inner{padding-right:0!important}.x-toolbar .x-btn-arrow-right{padding-right:12px}.x-btn-arrow-bottom{background:transparent no-repeat center bottom;padding-bottom:12px}.x-btn-arrow{background-image:url('../../resources/themes/images/default/button/arrow.gif');display:block}.x-btn-split-right,.x-btn-over .x-btn-split-right{background:transparent no-repeat right center;background-image:url('../../resources/themes/images/default/button/s-arrow.gif');padding-right:14px!important}.x-btn-split-bottom,.x-btn-over .x-btn-split-bottom{background:transparent no-repeat center bottom;background-image:url('../../resources/themes/images/default/button/s-arrow-b.gif');padding-bottom:14px}.x-toolbar .x-btn-split-right{background-image:url('../../resources/themes/images/default/button/s-arrow-noline.gif');padding-right:12px!important}.x-toolbar .x-btn-split-bottom{background-image:url('../../resources/themes/images/default/button/s-arrow-b-noline.gif')}.x-btn-split{display:block}.x-item-disabled,.x-item-disabled *{cursor:default}.x-cycle-fixed-width .x-btn-inner{text-align:inherit}.x-btn-over .x-btn-split-right{background-image:url('../../resources/themes/images/default/button/s-arrow-o.gif')}.x-btn-over .x-btn-split-bottom{background-image:url('../../resources/themes/images/default/button/s-arrow-bo.gif')}.x-btn-default-small{border-color:#d1d1d1}.x-btn-default-small{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;padding:2px 2px 2px 2px;border-width:1px;border-style:solid;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(48%,#f9f9f9),color-stop(52%,#e2e2e2),color-stop(100%,#e7e7e7));background-image:-webkit-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:-moz-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:-o-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:-ms-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7)}.x-nlg .x-btn-default-small-mc{background-image:url('../../resources/themes/images/default/btn/btn-default-small-bg.gif');background-color:white}.x-nbr .x-btn-default-small{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1100303px 1000303px}.x-nbr .x-btn-default-small-tl,.x-nbr .x-btn-default-small-bl,.x-nbr .x-btn-default-small-tr,.x-nbr .x-btn-default-small-br,.x-nbr .x-btn-default-small-tc,.x-nbr .x-btn-default-small-bc,.x-nbr .x-btn-default-small-ml,.x-nbr .x-btn-default-small-mr{zoom:1;background-image:url('../../resources/themes/images/default/btn/btn-default-small-corners.gif')}.x-nbr .x-btn-default-small-ml,.x-nbr .x-btn-default-small-mr{zoom:1;background-image:url('../../resources/themes/images/default/btn/btn-default-small-sides.gif');background-position:0 0}.x-nbr .x-btn-default-small-mc{padding:0}.x-strict .x-ie7 .x-btn-default-small-tl,.x-strict .x-ie7 .x-btn-default-small-bl{position:relative;right:0}.x-btn-default-small .x-btn-inner{font-size:11px;font-weight:normal;font-family:tahoma,arial,verdana,sans-serif;color:#333;background-repeat:no-repeat;padding:0 4px}.x-btn-default-small-icon button,.x-btn-default-small-icon a,.x-btn-default-small-icon .x-btn-inner,.x-btn-default-small-noicon button,.x-btn-default-small-noicon a,.x-btn-default-small-noicon .x-btn-inner{height:16px;line-height:16px}.x-btn-default-small-icon button,.x-btn-default-small-icon a{padding:0}.x-btn-default-small-icon .x-btn-inner{width:16px;padding:0}.x-btn-default-small-icon .x-btn-icon{width:16px;height:16px;top:0;left:0;bottom:0;right:0}.x-btn-default-small-icon-text-left button,.x-btn-default-small-icon-text-left a{height:16px}.x-btn-default-small-icon-text-left .x-btn-inner{height:16px;line-height:16px;padding-left:20px}.x-btn-default-small-icon-text-left .x-btn-icon{width:16px;height:auto;top:0;left:0;bottom:0;right:auto}.x-ie6 .x-btn-default-small-icon-text-left .x-btn-icon,.x-quirks .x-btn-default-small-icon-text-left .x-btn-icon{height:16px}.x-btn-default-small-icon-text-right button,.x-btn-default-small-icon-text-right a{height:16px}.x-btn-default-small-icon-text-right .x-btn-inner{height:16px;line-height:16px;padding-right:20px!important}.x-btn-default-small-icon-text-right .x-btn-icon{width:16px;height:auto;top:0;left:auto;bottom:0;right:0}.x-ie6 .x-btn-default-small-icon-text-right .x-btn-icon,.x-quirks .x-btn-default-small-icon-text-right .x-btn-icon{height:16px}.x-btn-default-small-icon-text-top .x-btn-inner{padding-top:20px}.x-btn-default-small-icon-text-top .x-btn-icon{width:auto;height:16px;top:0;left:0;bottom:auto;right:0}.x-ie6 .x-btn-default-small-icon-text-top .x-btn-icon,.x-quirks .x-ie .x-btn-default-small-icon-text-top .x-btn-icon{width:16px}.x-btn-default-small-icon-text-bottom .x-btn-inner{padding-bottom:20px}.x-btn-default-small-icon-text-bottom .x-btn-icon{width:auto;height:16px;top:auto;left:0;bottom:0;right:0}.x-ie6 .x-btn-default-small-icon-text-bottom .x-btn-icon,.x-quirks .x-ie .x-btn-default-small-icon-text-bottom .x-btn-icon{width:16px}.x-btn-default-small-over{border-color:#b0ccf2;background-image:none;background-color:#e4f3ff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#e4f3ff),color-stop(48%,#d9edff),color-stop(52%,#c2d8f2),color-stop(100%,#c6dcf6));background-image:-webkit-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:-moz-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:-o-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:-ms-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6)}.x-btn-default-small-focus{border-color:#b0ccf2;background-image:none;background-color:#e4f3ff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#e4f3ff),color-stop(48%,#d9edff),color-stop(52%,#c2d8f2),color-stop(100%,#c6dcf6));background-image:-webkit-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:-moz-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:-o-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:-ms-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6)}.x-btn-default-small-menu-active,.x-btn-default-small-pressed{border-color:#9ebae1;background-image:none;background-color:#b6cbe4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#b6cbe4),color-stop(48%,#bfd2e6),color-stop(52%,#8dc0f5),color-stop(100%,#98c5f5));background-image:-webkit-linear-gradient(top,#b6cbe4,#bfd2e6 48%,#8dc0f5 52%,#98c5f5);background-image:-moz-linear-gradient(top,#b6cbe4,#bfd2e6 48%,#8dc0f5 52%,#98c5f5);background-image:-o-linear-gradient(top,#b6cbe4,#bfd2e6 48%,#8dc0f5 52%,#98c5f5);background-image:-ms-linear-gradient(top,#b6cbe4,#bfd2e6 48%,#8dc0f5 52%,#98c5f5);background-image:linear-gradient(top,#b6cbe4,#bfd2e6 48%,#8dc0f5 52%,#98c5f5)}.x-btn-default-small-disabled{border-color:#e1e1e1;background-image:none;background-color:#f7f7f7;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#f7f7f7),color-stop(48%,#f1f1f1),color-stop(52%,#dadada),color-stop(100%,#dfdfdf));background-image:-webkit-linear-gradient(top,#f7f7f7,#f1f1f1 48%,#dadada 52%,#dfdfdf);background-image:-moz-linear-gradient(top,#f7f7f7,#f1f1f1 48%,#dadada 52%,#dfdfdf);background-image:-o-linear-gradient(top,#f7f7f7,#f1f1f1 48%,#dadada 52%,#dfdfdf);background-image:-ms-linear-gradient(top,#f7f7f7,#f1f1f1 48%,#dadada 52%,#dfdfdf);background-image:linear-gradient(top,#f7f7f7,#f1f1f1 48%,#dadada 52%,#dfdfdf)}.x-btn-default-small-disabled .x-btn-inner{color:#333!important}.x-ie .x-btn-default-small-disabled .x-btn-inner{color:#595959!important}.x-ie6 .x-btn-default-small-disabled .x-btn-inner{color:#8c8c8c!important}.x-nbr .x-btn-default-small-over .x-frame-tl,.x-nbr .x-btn-default-small-over .x-frame-bl,.x-nbr .x-btn-default-small-over .x-frame-tr,.x-nbr .x-btn-default-small-over .x-frame-br,.x-nbr .x-btn-default-small-over .x-frame-tc,.x-nbr .x-btn-default-small-over .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-small-over-corners.gif')}.x-nbr .x-btn-default-small-over .x-frame-ml,.x-nbr .x-btn-default-small-over .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-small-over-sides.gif')}.x-nbr .x-btn-default-small-over .x-frame-mc{background-color:#e4f3ff;background-image:url('../../resources/themes/images/default/btn/btn-default-small-over-bg.gif')}.x-nbr .x-btn-default-small-focus .x-frame-tl,.x-nbr .x-btn-default-small-focus .x-frame-bl,.x-nbr .x-btn-default-small-focus .x-frame-tr,.x-nbr .x-btn-default-small-focus .x-frame-br,.x-nbr .x-btn-default-small-focus .x-frame-tc,.x-nbr .x-btn-default-small-focus .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-small-focus-corners.gif')}.x-nbr .x-btn-default-small-focus .x-frame-ml,.x-nbr .x-btn-default-small-focus .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-small-focus-sides.gif')}.x-nbr .x-btn-default-small-focus .x-frame-mc{background-color:#e4f3ff;background-image:url('../../resources/themes/images/default/btn/btn-default-small-focus-bg.gif')}.x-nbr .x-btn-default-small-menu-active .x-frame-tl,.x-nbr .x-btn-default-small-menu-active .x-frame-bl,.x-nbr .x-btn-default-small-menu-active .x-frame-tr,.x-nbr .x-btn-default-small-menu-active .x-frame-br,.x-nbr .x-btn-default-small-menu-active .x-frame-tc,.x-nbr .x-btn-default-small-menu-active .x-frame-bc,.x-nbr .x-btn-default-small-pressed .x-frame-tl,.x-nbr .x-btn-default-small-pressed .x-frame-bl,.x-nbr .x-btn-default-small-pressed .x-frame-tr,.x-nbr .x-btn-default-small-pressed .x-frame-br,.x-nbr .x-btn-default-small-pressed .x-frame-tc,.x-nbr .x-btn-default-small-pressed .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-small-pressed-corners.gif')}.x-nbr .x-btn-default-small-menu-active .x-frame-ml,.x-nbr .x-btn-default-small-menu-active .x-frame-mr,.x-nbr .x-btn-default-small-pressed .x-frame-ml,.x-nbr .x-btn-default-small-pressed .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-small-pressed-sides.gif')}.x-nbr .x-btn-default-small-menu-active .x-frame-mc,.x-nbr .x-btn-default-small-pressed .x-frame-mc{background-color:#b6cbe4;background-image:url('../../resources/themes/images/default/btn/btn-default-small-pressed-bg.gif')}.x-nbr .x-btn-default-small-disabled .x-frame-tl,.x-nbr .x-btn-default-small-disabled .x-frame-bl,.x-nbr .x-btn-default-small-disabled .x-frame-tr,.x-nbr .x-btn-default-small-disabled .x-frame-br,.x-nbr .x-btn-default-small-disabled .x-frame-tc,.x-nbr .x-btn-default-small-disabled .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-small-disabled-corners.gif')}.x-nbr .x-btn-default-small-disabled .x-frame-ml,.x-nbr .x-btn-default-small-disabled .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-small-disabled-sides.gif')}.x-nbr .x-btn-default-small-disabled .x-frame-mc{background-color:#f7f7f7;background-image:url('../../resources/themes/images/default/btn/btn-default-small-disabled-bg.gif')}.x-nlg .x-btn-default-small{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-small-bg.gif')}.x-nlg .x-btn-default-small-over{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-small-over-bg.gif')}.x-nlg .x-btn-default-small-focus{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-small-focus-bg.gif')}.x-nlg .x-btn-default-small-menu-active,.x-nlg .x-btn-default-small-pressed{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-small-pressed-bg.gif')}.x-nlg .x-btn-default-small-disabled{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-small-disabled-bg.gif')}.x-btn-default-medium{border-color:#d1d1d1}.x-btn-default-medium{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;padding:3px 3px 3px 3px;border-width:1px;border-style:solid;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(48%,#f9f9f9),color-stop(52%,#e2e2e2),color-stop(100%,#e7e7e7));background-image:-webkit-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:-moz-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:-o-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:-ms-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7)}.x-nlg .x-btn-default-medium-mc{background-image:url('../../resources/themes/images/default/btn/btn-default-medium-bg.gif');background-color:white}.x-nbr .x-btn-default-medium{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1100303px 1000303px}.x-nbr .x-btn-default-medium-tl,.x-nbr .x-btn-default-medium-bl,.x-nbr .x-btn-default-medium-tr,.x-nbr .x-btn-default-medium-br,.x-nbr .x-btn-default-medium-tc,.x-nbr .x-btn-default-medium-bc,.x-nbr .x-btn-default-medium-ml,.x-nbr .x-btn-default-medium-mr{zoom:1;background-image:url('../../resources/themes/images/default/btn/btn-default-medium-corners.gif')}.x-nbr .x-btn-default-medium-ml,.x-nbr .x-btn-default-medium-mr{zoom:1;background-image:url('../../resources/themes/images/default/btn/btn-default-medium-sides.gif');background-position:0 0}.x-nbr .x-btn-default-medium-mc{padding:1px 1px 1px 1px}.x-strict .x-ie7 .x-btn-default-medium-tl,.x-strict .x-ie7 .x-btn-default-medium-bl{position:relative;right:0}.x-btn-default-medium .x-btn-inner{font-size:11px;font-weight:normal;font-family:tahoma,arial,verdana,sans-serif;color:#333;background-repeat:no-repeat;padding:0 3px}.x-btn-default-medium-icon button,.x-btn-default-medium-icon a,.x-btn-default-medium-icon .x-btn-inner,.x-btn-default-medium-noicon button,.x-btn-default-medium-noicon a,.x-btn-default-medium-noicon .x-btn-inner{height:24px;line-height:24px}.x-btn-default-medium-icon button,.x-btn-default-medium-icon a{padding:0}.x-btn-default-medium-icon .x-btn-inner{width:24px;padding:0}.x-btn-default-medium-icon .x-btn-icon{width:24px;height:24px;top:0;left:0;bottom:0;right:0}.x-btn-default-medium-icon-text-left button,.x-btn-default-medium-icon-text-left a{height:24px}.x-btn-default-medium-icon-text-left .x-btn-inner{height:24px;line-height:24px;padding-left:28px}.x-btn-default-medium-icon-text-left .x-btn-icon{width:24px;height:auto;top:0;left:0;bottom:0;right:auto}.x-ie6 .x-btn-default-medium-icon-text-left .x-btn-icon,.x-quirks .x-btn-default-medium-icon-text-left .x-btn-icon{height:24px}.x-btn-default-medium-icon-text-right button,.x-btn-default-medium-icon-text-right a{height:24px}.x-btn-default-medium-icon-text-right .x-btn-inner{height:24px;line-height:24px;padding-right:28px!important}.x-btn-default-medium-icon-text-right .x-btn-icon{width:24px;height:auto;top:0;left:auto;bottom:0;right:0}.x-ie6 .x-btn-default-medium-icon-text-right .x-btn-icon,.x-quirks .x-btn-default-medium-icon-text-right .x-btn-icon{height:24px}.x-btn-default-medium-icon-text-top .x-btn-inner{padding-top:28px}.x-btn-default-medium-icon-text-top .x-btn-icon{width:auto;height:24px;top:0;left:0;bottom:auto;right:0}.x-ie6 .x-btn-default-medium-icon-text-top .x-btn-icon,.x-quirks .x-ie .x-btn-default-medium-icon-text-top .x-btn-icon{width:24px}.x-btn-default-medium-icon-text-bottom .x-btn-inner{padding-bottom:28px}.x-btn-default-medium-icon-text-bottom .x-btn-icon{width:auto;height:24px;top:auto;left:0;bottom:0;right:0}.x-ie6 .x-btn-default-medium-icon-text-bottom .x-btn-icon,.x-quirks .x-ie .x-btn-default-medium-icon-text-bottom .x-btn-icon{width:24px}.x-btn-default-medium-over{border-color:#b0ccf2;background-image:none;background-color:#e4f3ff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#e4f3ff),color-stop(48%,#d9edff),color-stop(52%,#c2d8f2),color-stop(100%,#c6dcf6));background-image:-webkit-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:-moz-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:-o-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:-ms-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6)}.x-btn-default-medium-focus{border-color:#b0ccf2;background-image:none;background-color:#e4f3ff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#e4f3ff),color-stop(48%,#d9edff),color-stop(52%,#c2d8f2),color-stop(100%,#c6dcf6));background-image:-webkit-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:-moz-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:-o-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:-ms-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6)}.x-btn-default-medium-menu-active,.x-btn-default-medium-pressed{border-color:#9ebae1;background-image:none;background-color:#b6cbe4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#b6cbe4),color-stop(48%,#bfd2e6),color-stop(52%,#8dc0f5),color-stop(100%,#98c5f5));background-image:-webkit-linear-gradient(top,#b6cbe4,#bfd2e6 48%,#8dc0f5 52%,#98c5f5);background-image:-moz-linear-gradient(top,#b6cbe4,#bfd2e6 48%,#8dc0f5 52%,#98c5f5);background-image:-o-linear-gradient(top,#b6cbe4,#bfd2e6 48%,#8dc0f5 52%,#98c5f5);background-image:-ms-linear-gradient(top,#b6cbe4,#bfd2e6 48%,#8dc0f5 52%,#98c5f5);background-image:linear-gradient(top,#b6cbe4,#bfd2e6 48%,#8dc0f5 52%,#98c5f5)}.x-btn-default-medium-disabled{border-color:#e1e1e1;background-image:none;background-color:#f7f7f7;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#f7f7f7),color-stop(48%,#f1f1f1),color-stop(52%,#dadada),color-stop(100%,#dfdfdf));background-image:-webkit-linear-gradient(top,#f7f7f7,#f1f1f1 48%,#dadada 52%,#dfdfdf);background-image:-moz-linear-gradient(top,#f7f7f7,#f1f1f1 48%,#dadada 52%,#dfdfdf);background-image:-o-linear-gradient(top,#f7f7f7,#f1f1f1 48%,#dadada 52%,#dfdfdf);background-image:-ms-linear-gradient(top,#f7f7f7,#f1f1f1 48%,#dadada 52%,#dfdfdf);background-image:linear-gradient(top,#f7f7f7,#f1f1f1 48%,#dadada 52%,#dfdfdf)}.x-btn-default-medium-disabled .x-btn-inner{color:#333!important}.x-ie .x-btn-default-medium-disabled .x-btn-inner{color:#595959!important}.x-ie6 .x-btn-default-medium-disabled .x-btn-inner{color:#8c8c8c!important}.x-nbr .x-btn-default-medium-over .x-frame-tl,.x-nbr .x-btn-default-medium-over .x-frame-bl,.x-nbr .x-btn-default-medium-over .x-frame-tr,.x-nbr .x-btn-default-medium-over .x-frame-br,.x-nbr .x-btn-default-medium-over .x-frame-tc,.x-nbr .x-btn-default-medium-over .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-medium-over-corners.gif')}.x-nbr .x-btn-default-medium-over .x-frame-ml,.x-nbr .x-btn-default-medium-over .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-medium-over-sides.gif')}.x-nbr .x-btn-default-medium-over .x-frame-mc{background-color:#e4f3ff;background-image:url('../../resources/themes/images/default/btn/btn-default-medium-over-bg.gif')}.x-nbr .x-btn-default-medium-focus .x-frame-tl,.x-nbr .x-btn-default-medium-focus .x-frame-bl,.x-nbr .x-btn-default-medium-focus .x-frame-tr,.x-nbr .x-btn-default-medium-focus .x-frame-br,.x-nbr .x-btn-default-medium-focus .x-frame-tc,.x-nbr .x-btn-default-medium-focus .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-medium-focus-corners.gif')}.x-nbr .x-btn-default-medium-focus .x-frame-ml,.x-nbr .x-btn-default-medium-focus .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-medium-focus-sides.gif')}.x-nbr .x-btn-default-medium-focus .x-frame-mc{background-color:#e4f3ff;background-image:url('../../resources/themes/images/default/btn/btn-default-medium-focus-bg.gif')}.x-nbr .x-btn-default-medium-menu-active .x-frame-tl,.x-nbr .x-btn-default-medium-menu-active .x-frame-bl,.x-nbr .x-btn-default-medium-menu-active .x-frame-tr,.x-nbr .x-btn-default-medium-menu-active .x-frame-br,.x-nbr .x-btn-default-medium-menu-active .x-frame-tc,.x-nbr .x-btn-default-medium-menu-active .x-frame-bc,.x-nbr .x-btn-default-medium-pressed .x-frame-tl,.x-nbr .x-btn-default-medium-pressed .x-frame-bl,.x-nbr .x-btn-default-medium-pressed .x-frame-tr,.x-nbr .x-btn-default-medium-pressed .x-frame-br,.x-nbr .x-btn-default-medium-pressed .x-frame-tc,.x-nbr .x-btn-default-medium-pressed .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-medium-pressed-corners.gif')}.x-nbr .x-btn-default-medium-menu-active .x-frame-ml,.x-nbr .x-btn-default-medium-menu-active .x-frame-mr,.x-nbr .x-btn-default-medium-pressed .x-frame-ml,.x-nbr .x-btn-default-medium-pressed .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-medium-pressed-sides.gif')}.x-nbr .x-btn-default-medium-menu-active .x-frame-mc,.x-nbr .x-btn-default-medium-pressed .x-frame-mc{background-color:#b6cbe4;background-image:url('../../resources/themes/images/default/btn/btn-default-medium-pressed-bg.gif')}.x-nbr .x-btn-default-medium-disabled .x-frame-tl,.x-nbr .x-btn-default-medium-disabled .x-frame-bl,.x-nbr .x-btn-default-medium-disabled .x-frame-tr,.x-nbr .x-btn-default-medium-disabled .x-frame-br,.x-nbr .x-btn-default-medium-disabled .x-frame-tc,.x-nbr .x-btn-default-medium-disabled .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-medium-disabled-corners.gif')}.x-nbr .x-btn-default-medium-disabled .x-frame-ml,.x-nbr .x-btn-default-medium-disabled .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-medium-disabled-sides.gif')}.x-nbr .x-btn-default-medium-disabled .x-frame-mc{background-color:#f7f7f7;background-image:url('../../resources/themes/images/default/btn/btn-default-medium-disabled-bg.gif')}.x-nlg .x-btn-default-medium{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-medium-bg.gif')}.x-nlg .x-btn-default-medium-over{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-medium-over-bg.gif')}.x-nlg .x-btn-default-medium-focus{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-medium-focus-bg.gif')}.x-nlg .x-btn-default-medium-menu-active,.x-nlg .x-btn-default-medium-pressed{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-medium-pressed-bg.gif')}.x-nlg .x-btn-default-medium-disabled{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-medium-disabled-bg.gif')}.x-btn-default-large{border-color:#d1d1d1}.x-btn-default-large{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;padding:3px 3px 3px 3px;border-width:1px;border-style:solid;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(48%,#f9f9f9),color-stop(52%,#e2e2e2),color-stop(100%,#e7e7e7));background-image:-webkit-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:-moz-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:-o-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:-ms-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7)}.x-nlg .x-btn-default-large-mc{background-image:url('../../resources/themes/images/default/btn/btn-default-large-bg.gif');background-color:white}.x-nbr .x-btn-default-large{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1100303px 1000303px}.x-nbr .x-btn-default-large-tl,.x-nbr .x-btn-default-large-bl,.x-nbr .x-btn-default-large-tr,.x-nbr .x-btn-default-large-br,.x-nbr .x-btn-default-large-tc,.x-nbr .x-btn-default-large-bc,.x-nbr .x-btn-default-large-ml,.x-nbr .x-btn-default-large-mr{zoom:1;background-image:url('../../resources/themes/images/default/btn/btn-default-large-corners.gif')}.x-nbr .x-btn-default-large-ml,.x-nbr .x-btn-default-large-mr{zoom:1;background-image:url('../../resources/themes/images/default/btn/btn-default-large-sides.gif');background-position:0 0}.x-nbr .x-btn-default-large-mc{padding:1px 1px 1px 1px}.x-strict .x-ie7 .x-btn-default-large-tl,.x-strict .x-ie7 .x-btn-default-large-bl{position:relative;right:0}.x-btn-default-large .x-btn-inner{font-size:11px;font-weight:normal;font-family:tahoma,arial,verdana,sans-serif;color:#333;background-repeat:no-repeat;padding:0 3px}.x-btn-default-large-icon button,.x-btn-default-large-icon a,.x-btn-default-large-icon .x-btn-inner,.x-btn-default-large-noicon button,.x-btn-default-large-noicon a,.x-btn-default-large-noicon .x-btn-inner{height:32px;line-height:32px}.x-btn-default-large-icon button,.x-btn-default-large-icon a{padding:0}.x-btn-default-large-icon .x-btn-inner{width:32px;padding:0}.x-btn-default-large-icon .x-btn-icon{width:32px;height:32px;top:0;left:0;bottom:0;right:0}.x-btn-default-large-icon-text-left button,.x-btn-default-large-icon-text-left a{height:32px}.x-btn-default-large-icon-text-left .x-btn-inner{height:32px;line-height:32px;padding-left:36px}.x-btn-default-large-icon-text-left .x-btn-icon{width:32px;height:auto;top:0;left:0;bottom:0;right:auto}.x-ie6 .x-btn-default-large-icon-text-left .x-btn-icon,.x-quirks .x-btn-default-large-icon-text-left .x-btn-icon{height:32px}.x-btn-default-large-icon-text-right button,.x-btn-default-large-icon-text-right a{height:32px}.x-btn-default-large-icon-text-right .x-btn-inner{height:32px;line-height:32px;padding-right:36px!important}.x-btn-default-large-icon-text-right .x-btn-icon{width:32px;height:auto;top:0;left:auto;bottom:0;right:0}.x-ie6 .x-btn-default-large-icon-text-right .x-btn-icon,.x-quirks .x-btn-default-large-icon-text-right .x-btn-icon{height:32px}.x-btn-default-large-icon-text-top .x-btn-inner{padding-top:36px}.x-btn-default-large-icon-text-top .x-btn-icon{width:auto;height:32px;top:0;left:0;bottom:auto;right:0}.x-ie6 .x-btn-default-large-icon-text-top .x-btn-icon,.x-quirks .x-ie .x-btn-default-large-icon-text-top .x-btn-icon{width:32px}.x-btn-default-large-icon-text-bottom .x-btn-inner{padding-bottom:36px}.x-btn-default-large-icon-text-bottom .x-btn-icon{width:auto;height:32px;top:auto;left:0;bottom:0;right:0}.x-ie6 .x-btn-default-large-icon-text-bottom .x-btn-icon,.x-quirks .x-ie .x-btn-default-large-icon-text-bottom .x-btn-icon{width:32px}.x-btn-default-large-over{border-color:#b0ccf2;background-image:none;background-color:#e4f3ff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#e4f3ff),color-stop(48%,#d9edff),color-stop(52%,#c2d8f2),color-stop(100%,#c6dcf6));background-image:-webkit-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:-moz-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:-o-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:-ms-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6)}.x-btn-default-large-focus{border-color:#b0ccf2;background-image:none;background-color:#e4f3ff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#e4f3ff),color-stop(48%,#d9edff),color-stop(52%,#c2d8f2),color-stop(100%,#c6dcf6));background-image:-webkit-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:-moz-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:-o-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:-ms-linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6);background-image:linear-gradient(top,#e4f3ff,#d9edff 48%,#c2d8f2 52%,#c6dcf6)}.x-btn-default-large-menu-active,.x-btn-default-large-pressed{border-color:#9ebae1;background-image:none;background-color:#b6cbe4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#b6cbe4),color-stop(48%,#bfd2e6),color-stop(52%,#8dc0f5),color-stop(100%,#98c5f5));background-image:-webkit-linear-gradient(top,#b6cbe4,#bfd2e6 48%,#8dc0f5 52%,#98c5f5);background-image:-moz-linear-gradient(top,#b6cbe4,#bfd2e6 48%,#8dc0f5 52%,#98c5f5);background-image:-o-linear-gradient(top,#b6cbe4,#bfd2e6 48%,#8dc0f5 52%,#98c5f5);background-image:-ms-linear-gradient(top,#b6cbe4,#bfd2e6 48%,#8dc0f5 52%,#98c5f5);background-image:linear-gradient(top,#b6cbe4,#bfd2e6 48%,#8dc0f5 52%,#98c5f5)}.x-btn-default-large-disabled{border-color:#e1e1e1;background-image:none;background-color:#f7f7f7;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#f7f7f7),color-stop(48%,#f1f1f1),color-stop(52%,#dadada),color-stop(100%,#dfdfdf));background-image:-webkit-linear-gradient(top,#f7f7f7,#f1f1f1 48%,#dadada 52%,#dfdfdf);background-image:-moz-linear-gradient(top,#f7f7f7,#f1f1f1 48%,#dadada 52%,#dfdfdf);background-image:-o-linear-gradient(top,#f7f7f7,#f1f1f1 48%,#dadada 52%,#dfdfdf);background-image:-ms-linear-gradient(top,#f7f7f7,#f1f1f1 48%,#dadada 52%,#dfdfdf);background-image:linear-gradient(top,#f7f7f7,#f1f1f1 48%,#dadada 52%,#dfdfdf)}.x-btn-default-large-disabled .x-btn-inner{color:#333!important}.x-ie .x-btn-default-large-disabled .x-btn-inner{color:#595959!important}.x-ie6 .x-btn-default-large-disabled .x-btn-inner{color:#8c8c8c!important}.x-nbr .x-btn-default-large-over .x-frame-tl,.x-nbr .x-btn-default-large-over .x-frame-bl,.x-nbr .x-btn-default-large-over .x-frame-tr,.x-nbr .x-btn-default-large-over .x-frame-br,.x-nbr .x-btn-default-large-over .x-frame-tc,.x-nbr .x-btn-default-large-over .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-large-over-corners.gif')}.x-nbr .x-btn-default-large-over .x-frame-ml,.x-nbr .x-btn-default-large-over .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-large-over-sides.gif')}.x-nbr .x-btn-default-large-over .x-frame-mc{background-color:#e4f3ff;background-image:url('../../resources/themes/images/default/btn/btn-default-large-over-bg.gif')}.x-nbr .x-btn-default-large-focus .x-frame-tl,.x-nbr .x-btn-default-large-focus .x-frame-bl,.x-nbr .x-btn-default-large-focus .x-frame-tr,.x-nbr .x-btn-default-large-focus .x-frame-br,.x-nbr .x-btn-default-large-focus .x-frame-tc,.x-nbr .x-btn-default-large-focus .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-large-focus-corners.gif')}.x-nbr .x-btn-default-large-focus .x-frame-ml,.x-nbr .x-btn-default-large-focus .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-large-focus-sides.gif')}.x-nbr .x-btn-default-large-focus .x-frame-mc{background-color:#e4f3ff;background-image:url('../../resources/themes/images/default/btn/btn-default-large-focus-bg.gif')}.x-nbr .x-btn-default-large-menu-active .x-frame-tl,.x-nbr .x-btn-default-large-menu-active .x-frame-bl,.x-nbr .x-btn-default-large-menu-active .x-frame-tr,.x-nbr .x-btn-default-large-menu-active .x-frame-br,.x-nbr .x-btn-default-large-menu-active .x-frame-tc,.x-nbr .x-btn-default-large-menu-active .x-frame-bc,.x-nbr .x-btn-default-large-pressed .x-frame-tl,.x-nbr .x-btn-default-large-pressed .x-frame-bl,.x-nbr .x-btn-default-large-pressed .x-frame-tr,.x-nbr .x-btn-default-large-pressed .x-frame-br,.x-nbr .x-btn-default-large-pressed .x-frame-tc,.x-nbr .x-btn-default-large-pressed .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-large-pressed-corners.gif')}.x-nbr .x-btn-default-large-menu-active .x-frame-ml,.x-nbr .x-btn-default-large-menu-active .x-frame-mr,.x-nbr .x-btn-default-large-pressed .x-frame-ml,.x-nbr .x-btn-default-large-pressed .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-large-pressed-sides.gif')}.x-nbr .x-btn-default-large-menu-active .x-frame-mc,.x-nbr .x-btn-default-large-pressed .x-frame-mc{background-color:#b6cbe4;background-image:url('../../resources/themes/images/default/btn/btn-default-large-pressed-bg.gif')}.x-nbr .x-btn-default-large-disabled .x-frame-tl,.x-nbr .x-btn-default-large-disabled .x-frame-bl,.x-nbr .x-btn-default-large-disabled .x-frame-tr,.x-nbr .x-btn-default-large-disabled .x-frame-br,.x-nbr .x-btn-default-large-disabled .x-frame-tc,.x-nbr .x-btn-default-large-disabled .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-large-disabled-corners.gif')}.x-nbr .x-btn-default-large-disabled .x-frame-ml,.x-nbr .x-btn-default-large-disabled .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-large-disabled-sides.gif')}.x-nbr .x-btn-default-large-disabled .x-frame-mc{background-color:#f7f7f7;background-image:url('../../resources/themes/images/default/btn/btn-default-large-disabled-bg.gif')}.x-nlg .x-btn-default-large{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-large-bg.gif')}.x-nlg .x-btn-default-large-over{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-large-over-bg.gif')}.x-nlg .x-btn-default-large-focus{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-large-focus-bg.gif')}.x-nlg .x-btn-default-large-menu-active,.x-nlg .x-btn-default-large-pressed{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-large-pressed-bg.gif')}.x-nlg .x-btn-default-large-disabled{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-large-disabled-bg.gif')}.x-btn-default-toolbar-small{border-color:transparent}.x-btn-default-toolbar-small{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;padding:2px 2px 2px 2px;border-width:1px;border-style:solid;background-color:transparent}.x-nlg .x-btn-default-toolbar-small-mc{background-color:transparent}.x-nbr .x-btn-default-toolbar-small{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1100303px 1000303px}.x-nbr .x-btn-default-toolbar-small-tl,.x-nbr .x-btn-default-toolbar-small-bl,.x-nbr .x-btn-default-toolbar-small-tr,.x-nbr .x-btn-default-toolbar-small-br,.x-nbr .x-btn-default-toolbar-small-tc,.x-nbr .x-btn-default-toolbar-small-bc,.x-nbr .x-btn-default-toolbar-small-ml,.x-nbr .x-btn-default-toolbar-small-mr{zoom:1}.x-nbr .x-btn-default-toolbar-small-ml,.x-nbr .x-btn-default-toolbar-small-mr{zoom:1}.x-nbr .x-btn-default-toolbar-small-mc{padding:0}.x-strict .x-ie7 .x-btn-default-toolbar-small-tl,.x-strict .x-ie7 .x-btn-default-toolbar-small-bl{position:relative;right:0}.x-btn-default-toolbar-small .x-btn-inner{font-size:11px;font-weight:normal;font-family:tahoma,arial,verdana,sans-serif;color:#333;background-repeat:no-repeat;padding:0 4px}.x-btn-default-toolbar-small-icon button,.x-btn-default-toolbar-small-icon a,.x-btn-default-toolbar-small-icon .x-btn-inner,.x-btn-default-toolbar-small-noicon button,.x-btn-default-toolbar-small-noicon a,.x-btn-default-toolbar-small-noicon .x-btn-inner{height:16px;line-height:16px}.x-btn-default-toolbar-small-icon button,.x-btn-default-toolbar-small-icon a{padding:0}.x-btn-default-toolbar-small-icon .x-btn-inner{width:16px;padding:0}.x-btn-default-toolbar-small-icon .x-btn-icon{width:16px;height:16px;top:0;left:0;bottom:0;right:0}.x-btn-default-toolbar-small-icon-text-left button,.x-btn-default-toolbar-small-icon-text-left a{height:16px}.x-btn-default-toolbar-small-icon-text-left .x-btn-inner{height:16px;line-height:16px;padding-left:20px}.x-btn-default-toolbar-small-icon-text-left .x-btn-icon{width:16px;height:auto;top:0;left:0;bottom:0;right:auto}.x-ie6 .x-btn-default-toolbar-small-icon-text-left .x-btn-icon,.x-quirks .x-btn-default-toolbar-small-icon-text-left .x-btn-icon{height:16px}.x-btn-default-toolbar-small-icon-text-right button,.x-btn-default-toolbar-small-icon-text-right a{height:16px}.x-btn-default-toolbar-small-icon-text-right .x-btn-inner{height:16px;line-height:16px;padding-right:20px!important}.x-btn-default-toolbar-small-icon-text-right .x-btn-icon{width:16px;height:auto;top:0;left:auto;bottom:0;right:0}.x-ie6 .x-btn-default-toolbar-small-icon-text-right .x-btn-icon,.x-quirks .x-btn-default-toolbar-small-icon-text-right .x-btn-icon{height:16px}.x-btn-default-toolbar-small-icon-text-top .x-btn-inner{padding-top:20px}.x-btn-default-toolbar-small-icon-text-top .x-btn-icon{width:auto;height:16px;top:0;left:0;bottom:auto;right:0}.x-ie6 .x-btn-default-toolbar-small-icon-text-top .x-btn-icon,.x-quirks .x-ie .x-btn-default-toolbar-small-icon-text-top .x-btn-icon{width:16px}.x-btn-default-toolbar-small-icon-text-bottom .x-btn-inner{padding-bottom:20px}.x-btn-default-toolbar-small-icon-text-bottom .x-btn-icon{width:auto;height:16px;top:auto;left:0;bottom:0;right:0}.x-ie6 .x-btn-default-toolbar-small-icon-text-bottom .x-btn-icon,.x-quirks .x-ie .x-btn-default-toolbar-small-icon-text-bottom .x-btn-icon{width:16px}.x-btn-default-toolbar-small-over{border-color:#81a4d0;background-image:none;background-color:#dbeeff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#dbeeff),color-stop(48%,#d0e7ff),color-stop(52%,#bbd2f0),color-stop(100%,#bed6f5));background-image:-webkit-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:-moz-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:-o-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:-ms-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5)}.x-btn-default-toolbar-small-focus{border-color:#81a4d0;background-image:none;background-color:#dbeeff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#dbeeff),color-stop(48%,#d0e7ff),color-stop(52%,#bbd2f0),color-stop(100%,#bed6f5));background-image:-webkit-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:-moz-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:-o-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:-ms-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5)}.x-btn-default-toolbar-small-menu-active,.x-btn-default-toolbar-small-pressed{border-color:#7a9ac4;background-image:none;background-color:#bccfe5;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#bccfe5),color-stop(48%,#c5d6e7),color-stop(52%,#95c4f4),color-stop(100%,#9fc9f5));background-image:-webkit-linear-gradient(top,#bccfe5,#c5d6e7 48%,#95c4f4 52%,#9fc9f5);background-image:-moz-linear-gradient(top,#bccfe5,#c5d6e7 48%,#95c4f4 52%,#9fc9f5);background-image:-o-linear-gradient(top,#bccfe5,#c5d6e7 48%,#95c4f4 52%,#9fc9f5);background-image:-ms-linear-gradient(top,#bccfe5,#c5d6e7 48%,#95c4f4 52%,#9fc9f5);background-image:linear-gradient(top,#bccfe5,#c5d6e7 48%,#95c4f4 52%,#9fc9f5)}.x-btn-default-toolbar-small-disabled{background-image:none;background-color:transparent}.x-btn-default-toolbar-small-disabled .x-btn-inner{color:#333!important}.x-ie .x-btn-default-toolbar-small-disabled .x-btn-inner{color:#595959!important}.x-ie6 .x-btn-default-toolbar-small-disabled .x-btn-inner{color:#8c8c8c!important}.x-nbr .x-btn-default-toolbar-small-over .x-frame-tl,.x-nbr .x-btn-default-toolbar-small-over .x-frame-bl,.x-nbr .x-btn-default-toolbar-small-over .x-frame-tr,.x-nbr .x-btn-default-toolbar-small-over .x-frame-br,.x-nbr .x-btn-default-toolbar-small-over .x-frame-tc,.x-nbr .x-btn-default-toolbar-small-over .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-small-over-corners.gif')}.x-nbr .x-btn-default-toolbar-small-over .x-frame-ml,.x-nbr .x-btn-default-toolbar-small-over .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-small-over-sides.gif')}.x-nbr .x-btn-default-toolbar-small-over .x-frame-mc{background-color:#dbeeff;background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-small-over-bg.gif')}.x-nbr .x-btn-default-toolbar-small-focus .x-frame-tl,.x-nbr .x-btn-default-toolbar-small-focus .x-frame-bl,.x-nbr .x-btn-default-toolbar-small-focus .x-frame-tr,.x-nbr .x-btn-default-toolbar-small-focus .x-frame-br,.x-nbr .x-btn-default-toolbar-small-focus .x-frame-tc,.x-nbr .x-btn-default-toolbar-small-focus .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-small-focus-corners.gif')}.x-nbr .x-btn-default-toolbar-small-focus .x-frame-ml,.x-nbr .x-btn-default-toolbar-small-focus .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-small-focus-sides.gif')}.x-nbr .x-btn-default-toolbar-small-focus .x-frame-mc{background-color:#dbeeff;background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-small-focus-bg.gif')}.x-nbr .x-btn-default-toolbar-small-menu-active .x-frame-tl,.x-nbr .x-btn-default-toolbar-small-menu-active .x-frame-bl,.x-nbr .x-btn-default-toolbar-small-menu-active .x-frame-tr,.x-nbr .x-btn-default-toolbar-small-menu-active .x-frame-br,.x-nbr .x-btn-default-toolbar-small-menu-active .x-frame-tc,.x-nbr .x-btn-default-toolbar-small-menu-active .x-frame-bc,.x-nbr .x-btn-default-toolbar-small-pressed .x-frame-tl,.x-nbr .x-btn-default-toolbar-small-pressed .x-frame-bl,.x-nbr .x-btn-default-toolbar-small-pressed .x-frame-tr,.x-nbr .x-btn-default-toolbar-small-pressed .x-frame-br,.x-nbr .x-btn-default-toolbar-small-pressed .x-frame-tc,.x-nbr .x-btn-default-toolbar-small-pressed .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-small-pressed-corners.gif')}.x-nbr .x-btn-default-toolbar-small-menu-active .x-frame-ml,.x-nbr .x-btn-default-toolbar-small-menu-active .x-frame-mr,.x-nbr .x-btn-default-toolbar-small-pressed .x-frame-ml,.x-nbr .x-btn-default-toolbar-small-pressed .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-small-pressed-sides.gif')}.x-nbr .x-btn-default-toolbar-small-menu-active .x-frame-mc,.x-nbr .x-btn-default-toolbar-small-pressed .x-frame-mc{background-color:#bccfe5;background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-small-pressed-bg.gif')}.x-nbr .x-btn-default-toolbar-small-disabled .x-frame-tl,.x-nbr .x-btn-default-toolbar-small-disabled .x-frame-bl,.x-nbr .x-btn-default-toolbar-small-disabled .x-frame-tr,.x-nbr .x-btn-default-toolbar-small-disabled .x-frame-br,.x-nbr .x-btn-default-toolbar-small-disabled .x-frame-tc,.x-nbr .x-btn-default-toolbar-small-disabled .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-small-disabled-corners.gif')}.x-nbr .x-btn-default-toolbar-small-disabled .x-frame-ml,.x-nbr .x-btn-default-toolbar-small-disabled .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-small-disabled-sides.gif')}.x-nbr .x-btn-default-toolbar-small-disabled .x-frame-mc{background-color:transparent}.x-nlg .x-btn-default-toolbar-small-over{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-small-over-bg.gif')}.x-nlg .x-btn-default-toolbar-small-focus{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-small-focus-bg.gif')}.x-nlg .x-btn-default-toolbar-small-menu-active,.x-nlg .x-btn-default-toolbar-small-pressed{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-small-pressed-bg.gif')}.x-btn-default-toolbar-medium{border-color:transparent}.x-btn-default-toolbar-medium{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;padding:3px 3px 3px 3px;border-width:1px;border-style:solid;background-color:transparent}.x-nlg .x-btn-default-toolbar-medium-mc{background-color:transparent}.x-nbr .x-btn-default-toolbar-medium{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1100303px 1000303px}.x-nbr .x-btn-default-toolbar-medium-tl,.x-nbr .x-btn-default-toolbar-medium-bl,.x-nbr .x-btn-default-toolbar-medium-tr,.x-nbr .x-btn-default-toolbar-medium-br,.x-nbr .x-btn-default-toolbar-medium-tc,.x-nbr .x-btn-default-toolbar-medium-bc,.x-nbr .x-btn-default-toolbar-medium-ml,.x-nbr .x-btn-default-toolbar-medium-mr{zoom:1}.x-nbr .x-btn-default-toolbar-medium-ml,.x-nbr .x-btn-default-toolbar-medium-mr{zoom:1}.x-nbr .x-btn-default-toolbar-medium-mc{padding:1px 1px 1px 1px}.x-strict .x-ie7 .x-btn-default-toolbar-medium-tl,.x-strict .x-ie7 .x-btn-default-toolbar-medium-bl{position:relative;right:0}.x-btn-default-toolbar-medium .x-btn-inner{font-size:11px;font-weight:normal;font-family:tahoma,arial,verdana,sans-serif;color:#333;background-repeat:no-repeat;padding:0 3px}.x-btn-default-toolbar-medium-icon button,.x-btn-default-toolbar-medium-icon a,.x-btn-default-toolbar-medium-icon .x-btn-inner,.x-btn-default-toolbar-medium-noicon button,.x-btn-default-toolbar-medium-noicon a,.x-btn-default-toolbar-medium-noicon .x-btn-inner{height:24px;line-height:24px}.x-btn-default-toolbar-medium-icon button,.x-btn-default-toolbar-medium-icon a{padding:0}.x-btn-default-toolbar-medium-icon .x-btn-inner{width:24px;padding:0}.x-btn-default-toolbar-medium-icon .x-btn-icon{width:24px;height:24px;top:0;left:0;bottom:0;right:0}.x-btn-default-toolbar-medium-icon-text-left button,.x-btn-default-toolbar-medium-icon-text-left a{height:24px}.x-btn-default-toolbar-medium-icon-text-left .x-btn-inner{height:24px;line-height:24px;padding-left:28px}.x-btn-default-toolbar-medium-icon-text-left .x-btn-icon{width:24px;height:auto;top:0;left:0;bottom:0;right:auto}.x-ie6 .x-btn-default-toolbar-medium-icon-text-left .x-btn-icon,.x-quirks .x-btn-default-toolbar-medium-icon-text-left .x-btn-icon{height:24px}.x-btn-default-toolbar-medium-icon-text-right button,.x-btn-default-toolbar-medium-icon-text-right a{height:24px}.x-btn-default-toolbar-medium-icon-text-right .x-btn-inner{height:24px;line-height:24px;padding-right:28px!important}.x-btn-default-toolbar-medium-icon-text-right .x-btn-icon{width:24px;height:auto;top:0;left:auto;bottom:0;right:0}.x-ie6 .x-btn-default-toolbar-medium-icon-text-right .x-btn-icon,.x-quirks .x-btn-default-toolbar-medium-icon-text-right .x-btn-icon{height:24px}.x-btn-default-toolbar-medium-icon-text-top .x-btn-inner{padding-top:28px}.x-btn-default-toolbar-medium-icon-text-top .x-btn-icon{width:auto;height:24px;top:0;left:0;bottom:auto;right:0}.x-ie6 .x-btn-default-toolbar-medium-icon-text-top .x-btn-icon,.x-quirks .x-ie .x-btn-default-toolbar-medium-icon-text-top .x-btn-icon{width:24px}.x-btn-default-toolbar-medium-icon-text-bottom .x-btn-inner{padding-bottom:28px}.x-btn-default-toolbar-medium-icon-text-bottom .x-btn-icon{width:auto;height:24px;top:auto;left:0;bottom:0;right:0}.x-ie6 .x-btn-default-toolbar-medium-icon-text-bottom .x-btn-icon,.x-quirks .x-ie .x-btn-default-toolbar-medium-icon-text-bottom .x-btn-icon{width:24px}.x-btn-default-toolbar-medium-over{border-color:#81a4d0;background-image:none;background-color:#dbeeff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#dbeeff),color-stop(48%,#d0e7ff),color-stop(52%,#bbd2f0),color-stop(100%,#bed6f5));background-image:-webkit-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:-moz-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:-o-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:-ms-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5)}.x-btn-default-toolbar-medium-focus{border-color:#81a4d0;background-image:none;background-color:#dbeeff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#dbeeff),color-stop(48%,#d0e7ff),color-stop(52%,#bbd2f0),color-stop(100%,#bed6f5));background-image:-webkit-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:-moz-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:-o-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:-ms-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5)}.x-btn-default-toolbar-medium-menu-active,.x-btn-default-toolbar-medium-pressed{border-color:#7a9ac4;background-image:none;background-color:#bccfe5;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#bccfe5),color-stop(48%,#c5d6e7),color-stop(52%,#95c4f4),color-stop(100%,#9fc9f5));background-image:-webkit-linear-gradient(top,#bccfe5,#c5d6e7 48%,#95c4f4 52%,#9fc9f5);background-image:-moz-linear-gradient(top,#bccfe5,#c5d6e7 48%,#95c4f4 52%,#9fc9f5);background-image:-o-linear-gradient(top,#bccfe5,#c5d6e7 48%,#95c4f4 52%,#9fc9f5);background-image:-ms-linear-gradient(top,#bccfe5,#c5d6e7 48%,#95c4f4 52%,#9fc9f5);background-image:linear-gradient(top,#bccfe5,#c5d6e7 48%,#95c4f4 52%,#9fc9f5)}.x-btn-default-toolbar-medium-disabled{background-image:none;background-color:transparent}.x-btn-default-toolbar-medium-disabled .x-btn-inner{color:#333!important}.x-ie .x-btn-default-toolbar-medium-disabled .x-btn-inner{color:#595959!important}.x-ie6 .x-btn-default-toolbar-medium-disabled .x-btn-inner{color:#8c8c8c!important}.x-nbr .x-btn-default-toolbar-medium-over .x-frame-tl,.x-nbr .x-btn-default-toolbar-medium-over .x-frame-bl,.x-nbr .x-btn-default-toolbar-medium-over .x-frame-tr,.x-nbr .x-btn-default-toolbar-medium-over .x-frame-br,.x-nbr .x-btn-default-toolbar-medium-over .x-frame-tc,.x-nbr .x-btn-default-toolbar-medium-over .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-medium-over-corners.gif')}.x-nbr .x-btn-default-toolbar-medium-over .x-frame-ml,.x-nbr .x-btn-default-toolbar-medium-over .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-medium-over-sides.gif')}.x-nbr .x-btn-default-toolbar-medium-over .x-frame-mc{background-color:#dbeeff;background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-medium-over-bg.gif')}.x-nbr .x-btn-default-toolbar-medium-focus .x-frame-tl,.x-nbr .x-btn-default-toolbar-medium-focus .x-frame-bl,.x-nbr .x-btn-default-toolbar-medium-focus .x-frame-tr,.x-nbr .x-btn-default-toolbar-medium-focus .x-frame-br,.x-nbr .x-btn-default-toolbar-medium-focus .x-frame-tc,.x-nbr .x-btn-default-toolbar-medium-focus .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-medium-focus-corners.gif')}.x-nbr .x-btn-default-toolbar-medium-focus .x-frame-ml,.x-nbr .x-btn-default-toolbar-medium-focus .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-medium-focus-sides.gif')}.x-nbr .x-btn-default-toolbar-medium-focus .x-frame-mc{background-color:#dbeeff;background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-medium-focus-bg.gif')}.x-nbr .x-btn-default-toolbar-medium-menu-active .x-frame-tl,.x-nbr .x-btn-default-toolbar-medium-menu-active .x-frame-bl,.x-nbr .x-btn-default-toolbar-medium-menu-active .x-frame-tr,.x-nbr .x-btn-default-toolbar-medium-menu-active .x-frame-br,.x-nbr .x-btn-default-toolbar-medium-menu-active .x-frame-tc,.x-nbr .x-btn-default-toolbar-medium-menu-active .x-frame-bc,.x-nbr .x-btn-default-toolbar-medium-pressed .x-frame-tl,.x-nbr .x-btn-default-toolbar-medium-pressed .x-frame-bl,.x-nbr .x-btn-default-toolbar-medium-pressed .x-frame-tr,.x-nbr .x-btn-default-toolbar-medium-pressed .x-frame-br,.x-nbr .x-btn-default-toolbar-medium-pressed .x-frame-tc,.x-nbr .x-btn-default-toolbar-medium-pressed .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-corners.gif')}.x-nbr .x-btn-default-toolbar-medium-menu-active .x-frame-ml,.x-nbr .x-btn-default-toolbar-medium-menu-active .x-frame-mr,.x-nbr .x-btn-default-toolbar-medium-pressed .x-frame-ml,.x-nbr .x-btn-default-toolbar-medium-pressed .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-sides.gif')}.x-nbr .x-btn-default-toolbar-medium-menu-active .x-frame-mc,.x-nbr .x-btn-default-toolbar-medium-pressed .x-frame-mc{background-color:#bccfe5;background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-bg.gif')}.x-nbr .x-btn-default-toolbar-medium-disabled .x-frame-tl,.x-nbr .x-btn-default-toolbar-medium-disabled .x-frame-bl,.x-nbr .x-btn-default-toolbar-medium-disabled .x-frame-tr,.x-nbr .x-btn-default-toolbar-medium-disabled .x-frame-br,.x-nbr .x-btn-default-toolbar-medium-disabled .x-frame-tc,.x-nbr .x-btn-default-toolbar-medium-disabled .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-corners.gif')}.x-nbr .x-btn-default-toolbar-medium-disabled .x-frame-ml,.x-nbr .x-btn-default-toolbar-medium-disabled .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-sides.gif')}.x-nbr .x-btn-default-toolbar-medium-disabled .x-frame-mc{background-color:transparent}.x-nlg .x-btn-default-toolbar-medium-over{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-medium-over-bg.gif')}.x-nlg .x-btn-default-toolbar-medium-focus{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-medium-focus-bg.gif')}.x-nlg .x-btn-default-toolbar-medium-menu-active,.x-nlg .x-btn-default-toolbar-medium-pressed{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-bg.gif')}.x-btn-default-toolbar-large{border-color:transparent}.x-btn-default-toolbar-large{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;padding:3px 3px 3px 3px;border-width:1px;border-style:solid;background-color:transparent}.x-nlg .x-btn-default-toolbar-large-mc{background-color:transparent}.x-nbr .x-btn-default-toolbar-large{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1100303px 1000303px}.x-nbr .x-btn-default-toolbar-large-tl,.x-nbr .x-btn-default-toolbar-large-bl,.x-nbr .x-btn-default-toolbar-large-tr,.x-nbr .x-btn-default-toolbar-large-br,.x-nbr .x-btn-default-toolbar-large-tc,.x-nbr .x-btn-default-toolbar-large-bc,.x-nbr .x-btn-default-toolbar-large-ml,.x-nbr .x-btn-default-toolbar-large-mr{zoom:1}.x-nbr .x-btn-default-toolbar-large-ml,.x-nbr .x-btn-default-toolbar-large-mr{zoom:1}.x-nbr .x-btn-default-toolbar-large-mc{padding:1px 1px 1px 1px}.x-strict .x-ie7 .x-btn-default-toolbar-large-tl,.x-strict .x-ie7 .x-btn-default-toolbar-large-bl{position:relative;right:0}.x-btn-default-toolbar-large .x-btn-inner{font-size:11px;font-weight:normal;font-family:tahoma,arial,verdana,sans-serif;color:#333;background-repeat:no-repeat;padding:0 3px}.x-btn-default-toolbar-large-icon button,.x-btn-default-toolbar-large-icon a,.x-btn-default-toolbar-large-icon .x-btn-inner,.x-btn-default-toolbar-large-noicon button,.x-btn-default-toolbar-large-noicon a,.x-btn-default-toolbar-large-noicon .x-btn-inner{height:32px;line-height:32px}.x-btn-default-toolbar-large-icon button,.x-btn-default-toolbar-large-icon a{padding:0}.x-btn-default-toolbar-large-icon .x-btn-inner{width:32px;padding:0}.x-btn-default-toolbar-large-icon .x-btn-icon{width:32px;height:32px;top:0;left:0;bottom:0;right:0}.x-btn-default-toolbar-large-icon-text-left button,.x-btn-default-toolbar-large-icon-text-left a{height:32px}.x-btn-default-toolbar-large-icon-text-left .x-btn-inner{height:32px;line-height:32px;padding-left:36px}.x-btn-default-toolbar-large-icon-text-left .x-btn-icon{width:32px;height:auto;top:0;left:0;bottom:0;right:auto}.x-ie6 .x-btn-default-toolbar-large-icon-text-left .x-btn-icon,.x-quirks .x-btn-default-toolbar-large-icon-text-left .x-btn-icon{height:32px}.x-btn-default-toolbar-large-icon-text-right button,.x-btn-default-toolbar-large-icon-text-right a{height:32px}.x-btn-default-toolbar-large-icon-text-right .x-btn-inner{height:32px;line-height:32px;padding-right:36px!important}.x-btn-default-toolbar-large-icon-text-right .x-btn-icon{width:32px;height:auto;top:0;left:auto;bottom:0;right:0}.x-ie6 .x-btn-default-toolbar-large-icon-text-right .x-btn-icon,.x-quirks .x-btn-default-toolbar-large-icon-text-right .x-btn-icon{height:32px}.x-btn-default-toolbar-large-icon-text-top .x-btn-inner{padding-top:36px}.x-btn-default-toolbar-large-icon-text-top .x-btn-icon{width:auto;height:32px;top:0;left:0;bottom:auto;right:0}.x-ie6 .x-btn-default-toolbar-large-icon-text-top .x-btn-icon,.x-quirks .x-ie .x-btn-default-toolbar-large-icon-text-top .x-btn-icon{width:32px}.x-btn-default-toolbar-large-icon-text-bottom .x-btn-inner{padding-bottom:36px}.x-btn-default-toolbar-large-icon-text-bottom .x-btn-icon{width:auto;height:32px;top:auto;left:0;bottom:0;right:0}.x-ie6 .x-btn-default-toolbar-large-icon-text-bottom .x-btn-icon,.x-quirks .x-ie .x-btn-default-toolbar-large-icon-text-bottom .x-btn-icon{width:32px}.x-btn-default-toolbar-large-over{border-color:#81a4d0;background-image:none;background-color:#dbeeff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#dbeeff),color-stop(48%,#d0e7ff),color-stop(52%,#bbd2f0),color-stop(100%,#bed6f5));background-image:-webkit-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:-moz-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:-o-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:-ms-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5)}.x-btn-default-toolbar-large-focus{border-color:#81a4d0;background-image:none;background-color:#dbeeff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#dbeeff),color-stop(48%,#d0e7ff),color-stop(52%,#bbd2f0),color-stop(100%,#bed6f5));background-image:-webkit-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:-moz-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:-o-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:-ms-linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5);background-image:linear-gradient(top,#dbeeff,#d0e7ff 48%,#bbd2f0 52%,#bed6f5)}.x-btn-default-toolbar-large-menu-active,.x-btn-default-toolbar-large-pressed{border-color:#7a9ac4;background-image:none;background-color:#bccfe5;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#bccfe5),color-stop(48%,#c5d6e7),color-stop(52%,#95c4f4),color-stop(100%,#9fc9f5));background-image:-webkit-linear-gradient(top,#bccfe5,#c5d6e7 48%,#95c4f4 52%,#9fc9f5);background-image:-moz-linear-gradient(top,#bccfe5,#c5d6e7 48%,#95c4f4 52%,#9fc9f5);background-image:-o-linear-gradient(top,#bccfe5,#c5d6e7 48%,#95c4f4 52%,#9fc9f5);background-image:-ms-linear-gradient(top,#bccfe5,#c5d6e7 48%,#95c4f4 52%,#9fc9f5);background-image:linear-gradient(top,#bccfe5,#c5d6e7 48%,#95c4f4 52%,#9fc9f5)}.x-btn-default-toolbar-large-disabled{background-image:none;background-color:transparent}.x-btn-default-toolbar-large-disabled .x-btn-inner{color:#333!important}.x-ie .x-btn-default-toolbar-large-disabled .x-btn-inner{color:#595959!important}.x-ie6 .x-btn-default-toolbar-large-disabled .x-btn-inner{color:#8c8c8c!important}.x-nbr .x-btn-default-toolbar-large-over .x-frame-tl,.x-nbr .x-btn-default-toolbar-large-over .x-frame-bl,.x-nbr .x-btn-default-toolbar-large-over .x-frame-tr,.x-nbr .x-btn-default-toolbar-large-over .x-frame-br,.x-nbr .x-btn-default-toolbar-large-over .x-frame-tc,.x-nbr .x-btn-default-toolbar-large-over .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-large-over-corners.gif')}.x-nbr .x-btn-default-toolbar-large-over .x-frame-ml,.x-nbr .x-btn-default-toolbar-large-over .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-large-over-sides.gif')}.x-nbr .x-btn-default-toolbar-large-over .x-frame-mc{background-color:#dbeeff;background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-large-over-bg.gif')}.x-nbr .x-btn-default-toolbar-large-focus .x-frame-tl,.x-nbr .x-btn-default-toolbar-large-focus .x-frame-bl,.x-nbr .x-btn-default-toolbar-large-focus .x-frame-tr,.x-nbr .x-btn-default-toolbar-large-focus .x-frame-br,.x-nbr .x-btn-default-toolbar-large-focus .x-frame-tc,.x-nbr .x-btn-default-toolbar-large-focus .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-large-focus-corners.gif')}.x-nbr .x-btn-default-toolbar-large-focus .x-frame-ml,.x-nbr .x-btn-default-toolbar-large-focus .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-large-focus-sides.gif')}.x-nbr .x-btn-default-toolbar-large-focus .x-frame-mc{background-color:#dbeeff;background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-large-focus-bg.gif')}.x-nbr .x-btn-default-toolbar-large-menu-active .x-frame-tl,.x-nbr .x-btn-default-toolbar-large-menu-active .x-frame-bl,.x-nbr .x-btn-default-toolbar-large-menu-active .x-frame-tr,.x-nbr .x-btn-default-toolbar-large-menu-active .x-frame-br,.x-nbr .x-btn-default-toolbar-large-menu-active .x-frame-tc,.x-nbr .x-btn-default-toolbar-large-menu-active .x-frame-bc,.x-nbr .x-btn-default-toolbar-large-pressed .x-frame-tl,.x-nbr .x-btn-default-toolbar-large-pressed .x-frame-bl,.x-nbr .x-btn-default-toolbar-large-pressed .x-frame-tr,.x-nbr .x-btn-default-toolbar-large-pressed .x-frame-br,.x-nbr .x-btn-default-toolbar-large-pressed .x-frame-tc,.x-nbr .x-btn-default-toolbar-large-pressed .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-large-pressed-corners.gif')}.x-nbr .x-btn-default-toolbar-large-menu-active .x-frame-ml,.x-nbr .x-btn-default-toolbar-large-menu-active .x-frame-mr,.x-nbr .x-btn-default-toolbar-large-pressed .x-frame-ml,.x-nbr .x-btn-default-toolbar-large-pressed .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-large-pressed-sides.gif')}.x-nbr .x-btn-default-toolbar-large-menu-active .x-frame-mc,.x-nbr .x-btn-default-toolbar-large-pressed .x-frame-mc{background-color:#bccfe5;background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-large-pressed-bg.gif')}.x-nbr .x-btn-default-toolbar-large-disabled .x-frame-tl,.x-nbr .x-btn-default-toolbar-large-disabled .x-frame-bl,.x-nbr .x-btn-default-toolbar-large-disabled .x-frame-tr,.x-nbr .x-btn-default-toolbar-large-disabled .x-frame-br,.x-nbr .x-btn-default-toolbar-large-disabled .x-frame-tc,.x-nbr .x-btn-default-toolbar-large-disabled .x-frame-bc{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-large-disabled-corners.gif')}.x-nbr .x-btn-default-toolbar-large-disabled .x-frame-ml,.x-nbr .x-btn-default-toolbar-large-disabled .x-frame-mr{background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-large-disabled-sides.gif')}.x-nbr .x-btn-default-toolbar-large-disabled .x-frame-mc{background-color:transparent}.x-nlg .x-btn-default-toolbar-large-over{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-large-over-bg.gif')}.x-nlg .x-btn-default-toolbar-large-focus{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-large-focus-bg.gif')}.x-nlg .x-btn-default-toolbar-large-menu-active,.x-nlg .x-btn-default-toolbar-large-pressed{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/btn/btn-default-toolbar-large-pressed-bg.gif')}.x-btn-default-toolbar-small-disabled,.x-btn-default-toolbar-medium-disabled,.x-btn-default-toolbar-large-disabled{border-color:transparent;background-image:none;background:transparent}.x-btn-group{position:relative;overflow:hidden}.x-btn-group-body{position:relative;zoom:1;padding:0 1px}.x-btn-group-body .x-table-layout-cell{vertical-align:top}.x-btn-group-header-text{white-space:nowrap}.x-btn-group-default-framed{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;padding:1px 1px 1px 1px;border-width:1px;border-style:solid;background-color:#d0def0}.x-nlg .x-btn-group-default-framed-mc{background-color:#d0def0}.x-nbr .x-btn-group-default-framed{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000202px 1000202px}.x-nbr .x-btn-group-default-framed-tl,.x-nbr .x-btn-group-default-framed-bl,.x-nbr .x-btn-group-default-framed-tr,.x-nbr .x-btn-group-default-framed-br,.x-nbr .x-btn-group-default-framed-tc,.x-nbr .x-btn-group-default-framed-bc,.x-nbr .x-btn-group-default-framed-ml,.x-nbr .x-btn-group-default-framed-mr{zoom:1;background-image:url('../../resources/themes/images/default/btn-group/btn-group-default-framed-corners.gif')}.x-nbr .x-btn-group-default-framed-ml,.x-nbr .x-btn-group-default-framed-mr{zoom:1;background-image:url('../../resources/themes/images/default/btn-group/btn-group-default-framed-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-btn-group-default-framed-mc{padding:0}.x-strict .x-ie7 .x-btn-group-default-framed-tl,.x-strict .x-ie7 .x-btn-group-default-framed-bl{position:relative;right:0}.x-btn-group-default-framed{border-color:#b7c8d7;-webkit-box-shadow:#e3ebf5 0 1px 0 0 inset,#e3ebf5 0 -1px 0 0 inset,#e3ebf5 -1px 0 0 0 inset,#e3ebf5 1px 0 0 0 inset;-moz-box-shadow:#e3ebf5 0 1px 0 0 inset,#e3ebf5 0 -1px 0 0 inset,#e3ebf5 -1px 0 0 0 inset,#e3ebf5 1px 0 0 0 inset;box-shadow:#e3ebf5 0 1px 0 0 inset,#e3ebf5 0 -1px 0 0 inset,#e3ebf5 -1px 0 0 0 inset,#e3ebf5 1px 0 0 0 inset}.x-btn-group-header-default-framed{margin:2px 2px 0 2px}.x-btn-group-header-body-default-framed{padding:1px 0;background:#c2d8f0;-moz-border-radius-topleft:2px;-webkit-border-top-left-radius:2px;-ms-border-top-left-radius:2px;-o-border-top-left-radius:2px;border-top-left-radius:2px;-moz-border-radius-topright:2px;-webkit-border-top-right-radius:2px;-ms-border-top-right-radius:2px;-o-border-top-right-radius:2px;border-top-right-radius:2px}.x-btn-group-header-text-default-framed{font:normal 11px tahoma,arial,verdana,sans-serif;color:#3e6aaa}.x-datepicker{border:1px solid #1b376c;background-color:white;position:relative}.x-datepicker a{-moz-outline:0 none;outline:0 none;color:#15428b;text-decoration:none;border-width:0}.x-datepicker-inner,.x-datepicker-inner td,.x-datepicker-inner th{border-collapse:separate}.x-datepicker-header{position:relative;height:26px;background-image:none;background-color:#23427c;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#264888),color-stop(100%,#1f3a6c));background-image:-webkit-linear-gradient(top,#264888,#1f3a6c);background-image:-moz-linear-gradient(top,#264888,#1f3a6c);background-image:-o-linear-gradient(top,#264888,#1f3a6c);background-image:-ms-linear-gradient(top,#264888,#1f3a6c);background-image:linear-gradient(top,#264888,#1f3a6c)}.x-datepicker-prev,.x-datepicker-next{position:absolute;top:5px;width:18px}.x-datepicker-prev a,.x-datepicker-next a{display:block;width:16px;height:16px;background-position:top;background-repeat:no-repeat;cursor:pointer;text-decoration:none!important;filter:alpha(opacity=70);opacity:.7}.x-datepicker-prev a:hover,.x-datepicker-next a:hover{filter:alpha(opacity=100);opacity:1}.x-datepicker-next{right:5px}.x-datepicker-next a{background-image:url('../../resources/themes/images/default/shared/right-btn.gif')}.x-datepicker-prev{left:5px}.x-datepicker-prev a{background-image:url('../../resources/themes/images/default/shared/left-btn.gif')}.x-item-disabled .x-datepicker-prev a:hover,.x-item-disabled .x-datepicker-next a:hover{filter:alpha(opacity=60);opacity:.6}.x-datepicker-month{padding-top:3px}.x-datepicker-month .x-btn,.x-datepicker-month button,.x-datepicker-month .x-btn-tc,.x-datepicker-month .x-btn-tl,.x-datepicker-month .x-btn-tr,.x-datepicker-month .x-btn-mc,.x-datepicker-month .x-btn-ml,.x-datepicker-month .x-btn-mr,.x-datepicker-month .x-btn-bc,.x-datepicker-month .x-btn-bl,.x-datepicker-month .x-btn-br{background:transparent!important;border-width:0!important}.x-datepicker-month span{color:#fff!important}.x-datepicker-month .x-btn-split-right{background-image:url('../../resources/themes/images/default/button/s-arrow-light.gif');padding-right:12px}.x-datepicker-next{text-align:right}.x-datepicker-month{text-align:center}.x-datepicker-month button{color:white!important}table.x-datepicker-inner{width:100%;table-layout:fixed}table.x-datepicker-inner th{width:25px;height:19px;padding:0;color:#233d6d;font:normal 10px tahoma,arial,verdana,sans-serif;text-align:right;border-bottom:1px solid #b2d1f5;border-collapse:separate;background-image:none;background-color:#dfecfb;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#edf4fd),color-stop(100%,#cde1f9));background-image:-webkit-linear-gradient(top,#edf4fd,#cde1f9);background-image:-moz-linear-gradient(top,#edf4fd,#cde1f9);background-image:-o-linear-gradient(top,#edf4fd,#cde1f9);background-image:-ms-linear-gradient(top,#edf4fd,#cde1f9);background-image:linear-gradient(top,#edf4fd,#cde1f9);cursor:default}table.x-datepicker-inner th span{display:block;padding-right:7px}table.x-datepicker-inner tr{height:20px}table.x-datepicker-inner td{border:1px solid;height:17px;border-color:white;text-align:right;padding:0}table.x-datepicker-inner a{padding-right:4px;display:block;zoom:1;font:normal 11px tahoma,arial,verdana,sans-serif;color:black;text-decoration:none;text-align:right}table.x-datepicker-inner .x-datepicker-active{cursor:pointer;color:black}table.x-datepicker-inner .x-datepicker-selected a{background:repeat-x left top;background-color:#dae5f3;border:1px solid #8db2e3}table.x-datepicker-inner .x-datepicker-selected span{font-weight:bold}table.x-datepicker-inner .x-datepicker-today a{border:1px solid;border-color:darkred}table.x-datepicker-inner .x-datepicker-prevday a,table.x-datepicker-inner .x-datepicker-nextday a{text-decoration:none!important;color:#aaa}table.x-datepicker-inner a:hover,table.x-datepicker-inner .x-datepicker-disabled a:hover{text-decoration:none!important;color:#000;background-color:#ddecfe}table.x-datepicker-inner .x-datepicker-disabled a{cursor:default;background-color:#eee;color:#bbb}.x-datepicker-footer,.x-monthpicker-buttons{position:relative;border-top:1px solid #b2d1f5;background-image:none;background-color:#dfecfb;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#dee8f5),color-stop(49%,#d1dff0),color-stop(51%,#c7d8ed),color-stop(100%,#cbdaee));background-image:-webkit-linear-gradient(top,#dee8f5,#d1dff0 49%,#c7d8ed 51%,#cbdaee);background-image:-moz-linear-gradient(top,#dee8f5,#d1dff0 49%,#c7d8ed 51%,#cbdaee);background-image:-o-linear-gradient(top,#dee8f5,#d1dff0 49%,#c7d8ed 51%,#cbdaee);background-image:-ms-linear-gradient(top,#dee8f5,#d1dff0 49%,#c7d8ed 51%,#cbdaee);background-image:linear-gradient(top,#dee8f5,#d1dff0 49%,#c7d8ed 51%,#cbdaee);text-align:center}.x-datepicker-footer .x-btn,.x-monthpicker-buttons .x-btn{position:relative;margin:4px}.x-item-disabled .x-datepicker-inner a:hover{background:0}.x-datepicker .x-monthpicker{position:absolute;left:0;top:0}.x-monthpicker{border:1px solid #1b376c;background-color:white}.x-monthpicker-months,.x-monthpicker-years{float:left;height:167px;width:88px}.x-monthpicker-item{float:left;margin:4px 0 5px 0;font:normal 11px tahoma,arial,verdana,sans-serif;text-align:center;vertical-align:middle;height:18px;width:43px;border:0 none}.x-monthpicker-item a{display:block;margin:0 5px;text-decoration:none;color:#15428b;border:1px solid white;line-height:17px}.x-monthpicker-item a:hover{background-color:#ddecfe}.x-monthpicker-item a.x-monthpicker-selected{background-color:#dfecfb;border:1px solid #8db2e3}.x-monthpicker-months{border-right:1px solid #1b376c;width:87px}.x-monthpicker-years .x-monthpicker-item{width:44px}.x-monthpicker-yearnav{height:28px}.x-monthpicker-yearnav button{background-image:url('../../resources/themes/images/default/tools/tool-sprites.gif');height:15px;width:15px;padding:0;margin:6px 12px 5px 15px;border:0;outline:0 none}.x-monthpicker-yearnav button::-moz-focus-inner{border:0;padding:0}.x-monthpicker-yearnav-next{background-position:0 -120px}.x-monthpicker-yearnav-next-over{cursor:pointer;cursor:hand;background-position:-15px -120px}.x-monthpicker-yearnav-prev{background-position:0 -105px}.x-monthpicker-yearnav-prev-over{cursor:pointer;cursor:hand;background-position:-15px -105px}.x-monthpicker-small .x-monthpicker-item{margin:2px 0 2px 0}.x-monthpicker-small .x-monthpicker-yearnav{height:23px}.x-monthpicker-small .x-monthpicker-months,.x-monthpicker-small .x-monthpicker-years{height:136px}.x-quirks .x-ie7 .x-monthpicker-buttons .x-btn,.x-quirks .x-ie8 .x-monthpicker-buttons .x-btn{margin-top:2px}.x-quirks .x-monthpicker-small .x-monthpicker-yearnav button{margin-top:3px;margin-bottom:3px}.x-ie6 .x-monthpicker-small .x-monthpicker-yearnav button{margin-top:3px;margin-bottom:3px}.x-nlg .x-datepicker-header{background-image:url('../../resources/themes/images/default/datepicker/datepicker-header-bg.gif');background-repeat:repeat-x;background-position:top left}.x-nlg .x-datepicker-footer,.x-nlg .x-monthpicker-buttons{background-image:url('../../resources/themes/images/default/datepicker/datepicker-footer-bg.gif');background-repeat:repeat-x;background-position:top left}.x-color-picker{width:144px;height:90px;cursor:pointer}.x-color-picker a{border:1px solid #fff;float:left;padding:2px;text-decoration:none;-moz-outline:0 none;outline:0 none;cursor:pointer}.x-color-picker a:hover,.x-color-picker a.x-color-picker-selected{border-color:#8bb8f3;background-color:#deecfd}.x-color-picker em{display:block;border:1px solid #aca899}.x-color-picker em span{cursor:pointer;display:block;height:10px;width:10px;line-height:10px}.x-menu-body{user-select:none;-o-user-select:none;-ms-user-select:none;-moz-user-select:-moz-none;-webkit-user-select:none;cursor:default;background:#f0f0f0!important;padding:2px}.x-menu-item .x-form-text{user-select:text;-webkit-user-select:text;-o-user-select:text;-ie-user-select:text;-moz-user-select:text;-ie-user-select:text}.x-menu-icon-separator{position:absolute;top:0;left:27px;z-index:0;border-left:solid 1px #e0e0e0;background-color:white;width:2px;overflow:hidden}.x-menu-plain .x-menu-icon-separator{display:none}.x-menu-focus{display:block;position:absolute;top:-10px;left:-10px;width:0;height:0}.x-menu-item{white-space:nowrap;overflow:hidden;z-index:1}.x-menu-item-cmp{margin-bottom:1px}.x-menu-item-link{display:block;margin:1px;padding:6px 2px 3px 32px;text-decoration:none!important;line-height:16px;cursor:default}.x-opera .x-menu-item-link{position:relative}.x-menu-item-icon{width:16px;height:16px;position:absolute;top:5px;left:4px;background:no-repeat center center}.x-menu-item-icon-right{width:16px;height:16px;position:absolute;top:6px;right:4px;background:no-repeat center center}.x-menu-item-text{font-size:11px;color:#222}.x-menu-item-checked .x-menu-item-icon{background-image:url('../../resources/themes/images/default/menu/checked.gif')}.x-menu-item-checked .x-menu-group-icon{background-image:url('../../resources/themes/images/default/menu/group-checked.gif')}.x-menu-item-unchecked .x-menu-item-icon{background-image:url('../../resources/themes/images/default/menu/unchecked.gif')}.x-menu-item-unchecked .x-menu-group-icon{background-image:none}.x-menu-item-separator{height:2px;border-top:solid 1px #e0e0e0;background-color:white;margin:2px 0;overflow:hidden}.x-menu-item-arrow{position:absolute;width:12px;height:9px;top:9px;right:0;background:no-repeat center center;background-image:url('../../resources/themes/images/default/menu/menu-parent.gif')}.x-menu-item-indent{margin-left:31px}.x-menu-item-active{cursor:pointer}.x-menu-item-active .x-menu-item-link{background-image:none;background-color:#d9e8fb;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#e7f0fc),color-stop(100%,#c7ddf9));background-image:-webkit-linear-gradient(top,#e7f0fc,#c7ddf9);background-image:-moz-linear-gradient(top,#e7f0fc,#c7ddf9);background-image:-o-linear-gradient(top,#e7f0fc,#c7ddf9);background-image:-ms-linear-gradient(top,#e7f0fc,#c7ddf9);background-image:linear-gradient(top,#e7f0fc,#c7ddf9);margin:0;border:1px solid #a9cbf5;cursor:pointer;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px}.x-menu-item-disabled{filter:alpha(opacity=50);opacity:.5}.x-ie .x-menu-item-disabled .x-menu-item-icon{filter:alpha(opacity=50);opacity:.5}.x-ie .x-menu-item-disabled .x-menu-item-text{background-color:transparent}.x-strict .x-ie7m .x-ie .x-menu-icon-separator{width:1px}.x-strict .x-ie7m .x-ie .x-menu-item-separator{height:1px}.x-ie6 .x-menu-item-link,.x-ie7 .x-menu-item-link,.x-quirks .x-ie8 .x-menu-item-link{padding-bottom:2px}.x-nlg .x-menu-item-active .x-menu-item-link{background:#d9e8fb repeat-x left top;background-image:url('../../resources/themes/images/default/menu/menu-item-active-bg.gif')}.x-menu-date-item{border-color:#99bbe8}.x-panel .x-grid-body{background:white;border-color:#99bce8;border-style:solid;border-width:1px;border-top-color:#c5c5c5}.x-panel .x-grid-header-ct-hidden{visibility:hidden}.x-grid-empty{padding:10px;color:gray;font:normal 11px tahoma,arial,helvetica,sans-serif}.x-grid-header-hidden .x-grid-body{border-top-color:#99bce8!important}.x-grid-view{overflow:hidden;position:relative}.x-grid-table{table-layout:fixed;border-collapse:separate}.x-autowidth-table table.x-grid-table{table-layout:auto;width:auto!important}.x-grid-row .x-grid-table{border-collapse:collapse}.x-grid-locked .x-grid-inner-locked{border-width:0 1px 0 0!important;border-style:solid}.x-grid-header-ct{cursor:default;zoom:1;padding:0;border:1px solid #99bce8;border-bottom-color:#c5c5c5;background-image:none;background-color:#c5c5c5;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#f9f9f9),color-stop(100%,#e3e4e6));background-image:-webkit-linear-gradient(top,#f9f9f9,#e3e4e6);background-image:-moz-linear-gradient(top,#f9f9f9,#e3e4e6);background-image:-o-linear-gradient(top,#f9f9f9,#e3e4e6);background-image:-ms-linear-gradient(top,#f9f9f9,#e3e4e6);background-image:linear-gradient(top,#f9f9f9,#e3e4e6)}.x-accordion-item .x-grid-header-ct{border-width:0 0 1px 0!important}.x-column-header{padding:0;position:absolute;overflow:hidden;border-right:1px solid #c5c5c5;border-left:0 none;border-top:0 none;border-bottom:0 none;text-shadow:0 1px 0 rgba(255,255,255,0.3);color:null;font:normal 11px tahoma,arial,verdana,sans-serif;background-image:none;background-color:#c5c5c5;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#f9f9f9),color-stop(100%,#e3e4e6));background-image:-webkit-linear-gradient(top,#f9f9f9,#e3e4e6);background-image:-moz-linear-gradient(top,#f9f9f9,#e3e4e6);background-image:-o-linear-gradient(top,#f9f9f9,#e3e4e6);background-image:-ms-linear-gradient(top,#f9f9f9,#e3e4e6);background-image:linear-gradient(top,#f9f9f9,#e3e4e6)}.x-group-header{padding:0;border-left-width:0}.x-group-sub-header{background:transparent;border-top:1px solid #c5c5c5;border-left-width:0}.x-column-header-inner{zoom:1;position:relative;white-space:nowrap;line-height:15px;padding:3px 6px 4px}.x-column-header-inner .x-column-header-text{white-space:nowrap}.x-column-header-over,.x-column-header-sort-ASC,.x-column-header-sort-DESC{border-left-color:#aaccf6;border-right-color:#aaccf6;background-image:none;background-color:#aaccf6;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#ebf3fd),color-stop(39%,#ebf3fd),color-stop(40%,#d9e8fb),color-stop(100%,#d9e8fb));background-image:-webkit-linear-gradient(top,#ebf3fd,#ebf3fd 39%,#d9e8fb 40%,#d9e8fb);background-image:-moz-linear-gradient(top,#ebf3fd,#ebf3fd 39%,#d9e8fb 40%,#d9e8fb);background-image:-o-linear-gradient(top,#ebf3fd,#ebf3fd 39%,#d9e8fb 40%,#d9e8fb);background-image:-ms-linear-gradient(top,#ebf3fd,#ebf3fd 39%,#d9e8fb 40%,#d9e8fb);background-image:linear-gradient(top,#ebf3fd,#ebf3fd 39%,#d9e8fb 40%,#d9e8fb)}.x-nlg .x-grid-header-ct,.x-nlg .x-column-header{background:repeat-x 0 top;background-image:url('../../resources/themes/images/default/grid/column-header-bg.gif')}.x-nlg .x-column-header-over,.x-nlg .x-column-header-sort-ASC,.x-nlg .x-column-header-sort-DESC{background:#ebf3fd repeat-x 0 top;background-image:url('../../resources/themes/images/default/grid/column-header-over-bg.gif')}.x-column-header-trigger{display:none;height:100%;width:14px;background:no-repeat left center;background-color:#c3daf9;background-image:url('../../resources/themes/images/default/grid/grid3-hd-btn.gif');position:absolute;right:0;top:0;z-index:2;cursor:pointer}.x-column-header-over .x-column-header-trigger,.x-column-header-open .x-column-header-trigger{display:block}.x-column-header-align-right{text-align:right}.x-column-header-align-right .x-column-header-text{padding-right:.5ex;margin-right:6px}.x-column-header-align-center{text-align:center}.x-column-header-align-left{text-align:left}.x-column-header-sort-ASC .x-column-header-text{padding-right:16px;background:no-repeat right 6px;background-image:url('../../resources/themes/images/default/grid/sort_asc.gif')}.x-column-header-sort-DESC .x-column-header-text{padding-right:16px;background:no-repeat right 6px;background-image:url('../../resources/themes/images/default/grid/sort_desc.gif')}.x-grid-row{vertical-align:top}.x-grid-row .x-grid-cell{color:null;font:normal 11px/15px tahoma,arial,verdana,sans-serif;background-color:white;border-color:#ededed;border-style:solid;border-top-color:#fafafa;border-width:0}.x-grid-with-row-lines .x-grid-cell{border-width:1px 0}.x-grid-rowwrap-div{border-width:1px 0;border-color:#ededed;border-style:solid;border-top-color:#fafafa;overflow:hidden}.x-grid-row-alt .x-grid-cell,.x-grid-row-alt .x-grid-rowwrap-div{background-color:#fafafa}.x-grid-row-over .x-grid-cell,.x-grid-row-over .x-grid-rowwrap-div{border-color:#ddd;background-color:#efefef}.x-grid-row-focused .x-grid-cell,.x-grid-row-focused .x-grid-rowwrap-div{border-color:#ddd;background-color:#efefef}.x-grid-row-selected .x-grid-cell,.x-grid-row-selected .x-grid-rowwrap-div{border-style:dotted;border-color:#a3bae9;background-color:#dfe8f6!important}.x-grid-rowwrap-div .x-grid-cell,.x-grid-rowwrap-div .x-grid-cell-inner{border-width:0;background:transparent}.x-grid-row-body-hidden{display:none}.x-grid-rowbody{font:normal 11px/13px tahoma,arial,verdana,sans-serif;padding:4px}.x-grid-rowbody p{margin:5px 5px 10px 5px}.x-grid-cell{overflow:hidden}.x-grid-cell-inner{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;padding:2px 6px 3px;white-space:nowrap}.x-grid-with-row-lines .x-grid-cell-inner{line-height:13px;padding-bottom:4px}.x-action-col-cell .x-grid-cell-inner{line-height:0;padding:2px}.x-action-col-cell .x-item-disabled{filter:alpha(opacity=30);opacity:.3}.x-grid-with-row-lines .x-action-col-cell .x-grid-cell-inner{padding-top:1px}.x-grid-row .x-grid-cell-special{padding:0;border-right:1px solid #d0d0d0;background-image:none;background-color:#f6f6f6;background-image:-webkit-gradient(linear,0% 50%,100% 50%,color-stop(0%,#f6f6f6),color-stop(100%,#e9e9e9));background-image:-webkit-linear-gradient(left,#f6f6f6,#e9e9e9);background-image:-moz-linear-gradient(left,#f6f6f6,#e9e9e9);background-image:-o-linear-gradient(left,#f6f6f6,#e9e9e9);background-image:-ms-linear-gradient(left,#f6f6f6,#e9e9e9);background-image:linear-gradient(left,#f6f6f6,#e9e9e9)}.x-grid-row .x-grid-cell-row-checker{vertical-align:middle}.x-ie6 .x-grid-header-row,.x-ie7 .x-grid-header-row,.x-quirks .x-ie8 .x-grid-header-row{position:absolute}.x-grid-row-selected .x-grid-cell-special{border-right:1px solid #aaccf6;background-image:none;background-color:#dfe8f6;background-image:-webkit-gradient(linear,0% 50%,100% 50%,color-stop(0%,#dfe8f6),color-stop(100%,#cbdaf0));background-image:-webkit-linear-gradient(left,#dfe8f6,#cbdaf0);background-image:-moz-linear-gradient(left,#dfe8f6,#cbdaf0);background-image:-o-linear-gradient(left,#dfe8f6,#cbdaf0);background-image:-ms-linear-gradient(left,#dfe8f6,#cbdaf0);background-image:linear-gradient(left,#dfe8f6,#cbdaf0)}.x-grid-dirty-cell{background-image:url('../../resources/themes/images/default/grid/dirty.gif');background-position:0 0;background-repeat:no-repeat}.x-grid-cell-selected{background-color:#b8cfee!important}.x-nlg .x-grid-cell-special{background-repeat:repeat-y;background-position:top right}.x-nlg .x-grid-row .x-grid-cell-special,.x-nlg .x-grid-row-over .x-grid-cell-special{background-image:url('../../resources/themes/images/default/grid/cell-special-bg.gif')}.x-nlg .x-grid-row-focused .x-grid-cell-special,.x-nlg .x-grid-row-selected .x-grid-cell-special{background-image:url('../../resources/themes/images/default/grid/cell-special-selected-bg.gif')}.x-grid-with-col-lines .x-grid-cell{padding-right:0;border-right:1px solid #d0d0d0}.x-property-grid .x-grid-row .x-grid-property-name .x-grid-cell-inner,.x-property-grid .x-grid-row-over .x-grid-property-name .x-grid-cell-inner{padding-left:12px;background-image:url('../../resources/themes/images/default/grid/property-cell-bg.gif');background-repeat:no-repeat;background-position:-16px 2px}.x-grid-with-row-lines.x-property-grid .x-grid-row .x-grid-property-name .x-grid-cell-inner,.x-grid-with-row-lines.x-property-grid .x-grid-row-over .x-grid-property-name .x-grid-cell-inner{background-position:-16px 1px}.x-quirks .x-ie .x-grid-row .x-grid-property-name .x-grid-cell-inner{background-position:-16px 2px}.x-unselectable{user-select:none;-o-user-select:none;-ms-user-select:none;-moz-user-select:-moz-none;-webkit-user-select:none;cursor:default}.x-grid-row-body-hidden{display:none}.x-grid-group-collapsed{display:none}.x-grid-view .x-grid-td-expander{vertical-align:top}.x-grid-td-expander{background:repeat-y right transparent}.x-grid-view .x-grid-td-expander .x-grid-cell-inner{padding:0!important}.x-grid-row-expander{background-image:url('../../resources/themes/images/default/grid/group-collapse.gif');background-color:transparent;width:9px;height:13px;margin-left:3px;background-repeat:no-repeat;background-position:0 -2px}.x-grid-row-collapsed .x-grid-row-expander{background-image:url('../../resources/themes/images/default/grid/group-expand.gif')}.x-grid-resize-marker{position:absolute;z-index:5;top:0;width:1px;background-color:#0f0f0f}.col-move-top,.col-move-bottom{width:9px;height:9px;position:absolute;top:0;line-height:0;font-size:0;overflow:hidden;z-index:20000;background:no-repeat left top transparent}.col-move-top{background-image:url('../../resources/themes/images/default/grid/col-move-top.gif')}.col-move-bottom{background-image:url('../../resources/themes/images/default/grid/col-move-bottom.gif')}.x-tbar-page-number{width:30px}.x-grid-group,.x-grid-group-body,.x-grid-group-hd{zoom:1}.x-grid-group-hd{padding-top:6px}.x-grid-group-hd .x-grid-cell-inner{padding:10px 4px 4px 4px;background:white;border-width:0 0 2px 0;border-style:solid;border-color:#99bbe8;cursor:pointer}.x-grid-group-hd-collapsible .x-grid-group-title{background:transparent no-repeat 0 -1px;background-image:url('../../resources/themes/images/default/grid/group-collapse.gif');padding:0 0 0 14px}.x-grid-group-title{color:#3764a0;font:bold 11px tahoma,arial,verdana,sans-serif}.x-grid-group-hd-collapsed .x-grid-group-title{background-image:url('../../resources/themes/images/default/grid/group-expand.gif')}.x-grid-group-collapsed .x-grid-group-body{display:none}.x-grid-group-collapsed .x-grid-group-title{background-image:url('../../resources/themes/images/default/grid/group-expand.gif')}.x-group-by-icon{background-image:url('../../resources/themes/images/default/grid/group-by.gif')}.x-show-groups-icon{background-image:url('../../resources/themes/images/default/grid/group-by.gif')}.x-column-header-checkbox .x-column-header-inner{padding:0}.x-grid-cell-special .x-grid-cell-inner{padding-left:4px;padding-right:4px}.x-grid-row-checker,.x-column-header-checkbox .x-column-header-text{height:14px;width:14px;line-height:0;background-image:url('../../resources/themes/images/default/grid/unchecked.gif');background-position:-1px -1px;background-repeat:no-repeat;background-color:transparent}.x-column-header-checkbox .x-column-header-text{display:block;margin:0 5px}.x-quirks .x-ie .x-grid-row-checker,.x-quirks .x-ie .x-column-header-checkbox .x-column-header-text,.x-ie7m .x-grid-row-checker,.x-ie7m .x-column-header-checkbox .x-column-header-text{line-height:14px}.x-grid-hd-checker-on .x-column-header-text{background-image:url('../../resources/themes/images/default/grid/checked.gif')}.x-grid-cell-row-checker .x-grid-cell-inner{padding-top:4px;padding-bottom:2px;line-height:14px}.x-grid-with-row-lines .x-grid-cell-row-checker .x-grid-cell-inner{padding-top:3px}.x-grid-row-checker{margin-left:1px;background-position:50% -2px}.x-grid-row-selected .x-grid-row-checker,.x-grid-row-checked .x-grid-row-checker{background-image:url('../../resources/themes/images/default/grid/checked.gif')}.x-tbar-page-first{background-image:url('../../resources/themes/images/default/grid/page-first.gif')!important}.x-tbar-loading{background-image:url('../../resources/themes/images/default/grid/refresh.gif')!important}.x-tbar-page-last{background-image:url('../../resources/themes/images/default/grid/page-last.gif')!important}.x-tbar-page-next{background-image:url('../../resources/themes/images/default/grid/page-next.gif')!important}.x-tbar-page-prev{background-image:url('../../resources/themes/images/default/grid/page-prev.gif')!important}.x-item-disabled .x-tbar-loading{background-image:url('../../resources/themes/images/default/grid/refresh-disabled.gif')!important}.x-item-disabled .x-tbar-page-first{background-image:url('../../resources/themes/images/default/grid/page-first-disabled.gif')!important}.x-item-disabled .x-tbar-page-last{background-image:url('../../resources/themes/images/default/grid/page-last-disabled.gif')!important}.x-item-disabled .x-tbar-page-next{background-image:url('../../resources/themes/images/default/grid/page-next-disabled.gif')!important}.x-item-disabled .x-tbar-page-prev{background-image:url('../../resources/themes/images/default/grid/page-prev-disabled.gif')!important}.x-hmenu-sort-asc .x-menu-item-icon{background-image:url('../../resources/themes/images/default/grid/hmenu-asc.gif')}.x-hmenu-sort-desc .x-menu-item-icon{background-image:url('../../resources/themes/images/default/grid/hmenu-desc.gif')}.x-hmenu-lock .x-menu-item-icon{background-image:url('../../resources/themes/images/default/grid/hmenu-lock.gif')}.x-hmenu-unlock .x-menu-item-icon{background-image:url('../../resources/themes/images/default/grid/hmenu-unlock.gif')}.x-group-by-icon{background-image:url('../../resources/themes/images/default/grid/group-by.gif')}.x-cols-icon .x-menu-item-icon{background-image:url('../../resources/themes/images/default/grid/columns.gif')}.x-show-groups-icon{background-image:url('../../resources/themes/images/default/grid/group-by.gif')}.x-grid-drop-indicator{position:absolute;height:1px;line-height:0;background-color:#77bc71;overflow:visible}.x-grid-drop-indicator .x-grid-drop-indicator-left{position:absolute;top:-8px;left:-12px;background-image:url('../../resources/themes/images/default/grid/dd-insert-arrow-right.png');height:16px;width:16px}.x-grid-drop-indicator .x-grid-drop-indicator-right{position:absolute;top:-8px;right:-11px;background-image:url('../../resources/themes/images/default/grid/dd-insert-arrow-left.png');height:16px;width:16px}.x-ie6 .x-grid-drop-indicator-left{background-image:url('../../resources/themes/images/default/grid/dd-insert-arrow-right.gif')}.x-ie6 .x-grid-drop-indicator-right{background-image:url('../../resources/themes/images/default/grid/dd-insert-arrow-left.gif')}.x-grid-editor .x-form-text{padding:0 4px}.x-grid-editor .x-form-cb-wrap{padding-top:3px}.x-grid-row-editor{position:absolute!important;z-index:1;zoom:1;overflow:visible!important}.x-grid-row-editor .x-form-text{padding:0 2px}.x-grid-row-editor .x-form-cb-wrap{padding-top:0}.x-grid-row-editor .x-form-checkbox{margin-left:-4px}.x-grid-row-editor .x-form-display-field{font:normal 11px/15px tahoma,arial,verdana,sans-serif;padding-top:0;padding-left:2px}.x-grid-row-editor .x-panel-body{background-color:#eaf1fb;border-top:1px solid #99bce8!important;border-bottom:1px solid #99bce8!important}.x-grid-editor .x-form-cb-wrap,.x-grid-row-editor .x-form-cb-wrap{text-align:center}.x-grid-editor .x-form-trigger,.x-grid-row-editor .x-form-trigger{height:19px}.x-grid-editor .x-form-trigger-wrap .x-form-spinner-up,.x-grid-editor .x-form-trigger-wrap .x-form-spinner-down,.x-grid-row-editor .x-form-trigger-wrap .x-form-spinner-up,.x-grid-row-editor .x-form-trigger-wrap .x-form-spinner-down{background-image:url('../../resources/themes/images/default/form/spinner-small.gif');height:10px!important}.x-grid-editor .x-form-text,.x-grid-row-editor .x-form-text{font:normal 11px/15px tahoma,arial,verdana,sans-serif;height:18px}.x-border-box .x-grid-editor .x-form-trigger,.x-border-box .x-grid-row-editor .x-form-trigger{height:20px}.x-border-box .x-grid-editor .x-form-text,.x-border-box .x-grid-row-editor .x-form-text{height:20px;padding-bottom:1px}.x-ie .x-grid-editor .x-form-text{padding-left:5px}.x-ie .x-grid-row-editor .x-form-text{padding-left:3px}.x-ie8m .x-grid-editor .x-form-text,.x-ie8m .x-grid-row-editor .x-form-text{padding-top:1px}.x-strict .x-ie6 .x-grid-editor .x-form-text,.x-strict .x-ie6 .x-grid-row-editor .x-form-text,.x-strict .x-ie7 .x-grid-editor .x-form-text,.x-strict .x-ie7 .x-grid-row-editor .x-form-text{height:17px}.x-quirks .x-ie9 .x-grid-editor .x-form-text,.x-quirks .x-ie9 .x-grid-row-editor .x-form-text{line-height:17px}.x-opera .x-grid-editor .x-form-text{padding-left:5px}.x-opera .x-grid-row-editor .x-form-text{padding-left:3px}.x-grid-row-editor-buttons{background-color:#eaf1fb;position:absolute;bottom:-31px;padding:4px;height:32px}.x-strict .x-ie7m .x-grid-row-editor-buttons{width:192px;height:24px}.x-grid-row-editor-buttons-ml,.x-grid-row-editor-buttons-mr,.x-grid-row-editor-buttons-bl,.x-grid-row-editor-buttons-br,.x-grid-row-editor-buttons-bc{position:absolute;overflow:hidden}.x-grid-row-editor-buttons-bl,.x-grid-row-editor-buttons-br{width:4px;height:4px;bottom:0;background-image:url('../../resources/themes/images/default/panel/panel-default-framed-corners.gif')}.x-grid-row-editor-buttons-bl{left:0;background-position:0 -16px}.x-grid-row-editor-buttons-br{right:0;background-position:0 -20px}.x-grid-row-editor-buttons-bc{position:absolute;left:4px;bottom:0;width:192px;height:1px;background-color:#99bce8}.x-grid-row-editor-buttons-ml,.x-grid-row-editor-buttons-mr{height:27px;width:1px;top:1px;background-color:#99bce8}.x-grid-row-editor-buttons-ml{left:0}.x-grid-row-editor-buttons-mr{background-position:0 -20px;right:0}.x-grid-row-editor-errors ul{margin-left:5px}.x-grid-row-editor-errors li{list-style:disc;margin-left:15px}.x-webkit *:focus{outline:none!important}.x-form-item{vertical-align:top;table-layout:fixed}.x-autocontainer-form-item,.x-anchor-form-item,.x-vbox-form-item,.x-checkboxgroup-form-item,.x-table-form-item{margin-bottom:5px}.x-form-layout-table{border-collapse:separate;border-spacing:0 2px}.x-form-item-body{position:relative}.x-form-form-item td{border-top:1px solid transparent}.x-ie6 .x-form-layout-table{border-collapse:collapse;border-spacing:0}.x-ie6 .x-form-form-item td{border-top-width:0}.x-ie6 td.x-form-item-pad{height:5px}.x-editor .x-form-item-body{padding-bottom:0}.x-form-item-label{display:block;padding:3px 0 0;font-size:12px;user-select:none;-o-user-select:none;-ms-user-select:none;-moz-user-select:-moz-none;-webkit-user-select:none;cursor:default}.x-form-item-label-top{display:block;zoom:1;padding:0 0 5px 0}.x-form-item-label-right{text-align:right}.x-form-invalid-under{padding:2px 2px 2px 18px;color:#c0272b;font:normal 11px tahoma,arial,verdana,sans-serif;line-height:16px;background:no-repeat 0 2px;background-image:url('../../resources/themes/images/default/form/exclamation.gif')}.x-form-invalid-icon{width:18px;height:14px;background:no-repeat center center;background-image:url('../../resources/themes/images/default/form/exclamation.gif');overflow:hidden}.x-form-invalid-icon ul{display:block;width:18px}.x-form-invalid-icon ul li{display:none}.x-lbl-top-err-icon{margin-bottom:4px}.x-form-field,.x-form-display-field{margin:0;font:normal 12px tahoma,arial,verdana,sans-serif;color:black}.x-form-item-hidden{margin:0}.x-form-text,textarea.x-form-field{padding:1px 3px;background:repeat-x 0 0;border:1px solid;background-color:white;background-image:url('../../resources/themes/images/default/form/text-bg.gif');border-color:#b5b8c8}.x-form-text{height:18px;line-height:15px;vertical-align:top}.x-ie8m .x-form-text{line-height:15px}.x-border-box .x-form-text{height:22px}textarea.x-form-field{color:black;overflow:auto;height:auto;line-height:normal;background:repeat-x 0 0;background-color:white;background-image:url('../../resources/themes/images/default/form/text-bg.gif');resize:none}.x-border-box textarea.x-form-field{height:auto}.x-safari.x-mac textarea.x-form-field{margin-bottom:-2px}.x-form-focus,textarea.x-form-focus{border-color:#7eadd9}.x-form-invalid-field,textarea.x-form-invalid-field{background-color:white;background-image:url('../../resources/themes/images/default/grid/invalid_line.gif');background-repeat:repeat-x;background-position:bottom;border-color:#c30}.x-form-item{font:normal 12px tahoma,arial,verdana,sans-serif}.x-form-empty-field,textarea.x-form-empty-field{color:gray}.x-webkit .x-form-empty-field{line-height:15px}.x-form-display-field{padding-top:3px}.x-quirks .x-ie9p .x-form-text,.x-ie7m .x-form-text{margin-top:-1px;margin-bottom:-1px}.x-ie .x-form-file{height:23px;line-height:18px;vertical-align:middle}.x-field-default-toolbar .x-form-text{height:16px}.x-border-box .x-field-default-toolbar .x-form-text{height:20px}.x-field-default-toolbar .x-form-item-label-left{padding-left:4px}.x-fieldset{border:1px solid #b5b8c8;padding:10px;margin-bottom:10px;display:block;position:relative}.x-ie .x-fieldset{padding-top:0}.x-ie .x-fieldset .x-fieldset-body{padding-top:10px}.x-fieldset-header-checkbox{line-height:14px}.x-fieldset-header{font:11px/14px bold tahoma,arial,verdana,sans-serif;color:#15428b;padding:0 3px 1px;overflow:hidden}.x-fieldset-header .x-fieldset-header-text{float:left;padding:1px 0}.x-fieldset-header .x-fieldset-header-text-collapsible{cursor:pointer}.x-fieldset-header .x-form-item,.x-fieldset-header .x-tool{float:left;margin:1px 0 0 0}.x-fieldset-header .x-form-cb-wrap{padding:1px 0;font-size:0;line-height:0}.x-fieldset-with-title .x-fieldset-header-checkbox,.x-fieldset-with-title .x-tool{margin-right:3px}.x-webkit .x-fieldset-header{-webkit-padding-start:3px;-webkit-padding-end:3px}.x-opera .x-fieldset-with-legend{margin-top:-1px}.x-opera.x-mac .x-fieldset-header-text{padding:2px 0 0}.x-strict .x-ie8 .x-fieldset-header{margin-bottom:-1px}.x-strict .x-ie8 .x-fieldset-header .x-tool,.x-strict .x-ie8 .x-fieldset-header .x-fieldset-header-text,.x-strict .x-ie8 .x-fieldset-header .x-fieldset-header-checkbox{position:relative;top:-1px}.x-quirks .x-ie .x-fieldset-header,.x-ie8m .x-fieldset-header{padding-left:1px;padding-right:1px}.x-fieldset-collapsed .x-fieldset-body{display:none}.x-fieldset-collapsed{padding-bottom:0!important;border-width:1px 1px 0 1px!important;border-left-color:transparent!important;border-right-color:transparent!important}.x-ie6 .x-fieldset-collapsed{border-width:1px 0 0 0!important;padding-bottom:0!important;margin-left:1px;margin-right:1px}.x-ie .x-fieldset-bwrap{zoom:1}.x-ie .x-fieldset-noborder legend{position:relative;margin-bottom:23px}.x-ie .x-fieldset-noborder legend span{position:absolute;left:16px}.x-fieldset{overflow:hidden}.x-fieldset-bwrap{overflow:hidden;zoom:1}.x-fieldset-body{overflow:hidden}.x-form-file-wrap .x-form-text{color:#777}.x-form-file-wrap .x-form-file-btn{overflow:hidden}.x-form-file-wrap .x-form-file-input{position:absolute;top:-4px;right:-2px;height:30px;filter:alpha(opacity=0);opacity:0;font-size:100px}.x-form-cb-wrap{padding-top:3px}.x-form-checkbox,.x-form-radio{vertical-align:-1px;width:13px;height:13px;background:no-repeat;background-image:url('../../resources/themes/images/default/form/checkbox.gif');overflow:hidden;padding:0;border:0}.x-form-checkbox::-moz-focus-inner,.x-form-radio::-moz-focus-inner{padding:0;border:0}.x-nbr.x-ie .x-form-checkbox,.x-nbr.x-ie .x-form-radio{font-size:0}.x-form-cb-checked .x-form-checkbox,.x-form-cb-checked .x-form-radio{background-position:0 -13px}.x-form-cb-focus{background-position:-13px 0}.x-form-cb-checked .x-form-cb-focus{background-position:-13px -13px}.x-form-radio{background-image:url('../../resources/themes/images/default/form/radio.gif')}.x-form-cb-label-before{margin-right:4px}.x-form-cb-label-after{margin-left:4px}.x-form-checkboxgroup-body{padding:1px 4px 1px 4px}.x-form-invalid .x-form-checkboxgroup-body{border:1px solid #c30!important;background:transparent repeat-x bottom;background-image:url('../../resources/themes/images/default/grid/invalid_line.gif');padding:1px 3px 0 3px}.x-check-group-alt{background:#d1ddef;border-top:1px dotted #b5b8c8;border-bottom:1px dotted #b5b8c8}.x-form-check-group-label{color:#333;border-bottom:1px solid #333;margin:0 30px 5px 0;padding:2px}.x-form-trigger-wrap{vertical-align:top}.x-form-trigger{background-image:url('../../resources/themes/images/default/form/trigger.gif');background-position:0 0;width:17px;height:21px;border-bottom:1px solid #b5b8c8;cursor:pointer;cursor:hand;overflow:hidden}.x-border-box .x-form-trigger{height:22px}.x-field-default-toolbar .x-form-trigger{height:19px}.x-border-box .x-field-default-toolbar .x-form-trigger{height:20px}.x-form-trigger-over{background-position:-17px 0;border-bottom-color:#7eadd9}.x-form-trigger-wrap-focus .x-form-trigger{background-position:-51px 0;border-bottom-color:#7eadd9}.x-form-trigger-wrap-focus .x-form-trigger-over{background-position:-68px 0;border-bottom-color:null}.x-form-trigger-click,.x-form-trigger-wrap-focus .x-form-trigger-click{background-position:-34px 0;border-bottom-color:null}.x-form-trigger-icon{height:16px;background-repeat:no-repeat;background-position:7px 6px}.x-pickerfield-open .x-form-field{-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;-ms-border-bottom-left-radius:0;-o-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;-ms-border-bottom-right-radius:0;-o-border-bottom-right-radius:0;border-bottom-right-radius:0}.x-pickerfield-open-above .x-form-field{-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;-ms-border-bottom-left-radius:3px;-o-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;-ms-border-top-left-radius:0;-o-border-top-left-radius:0;border-top-left-radius:0;-moz-border-radius-topright:0;-webkit-border-top-right-radius:0;-ms-border-top-right-radius:0;-o-border-top-right-radius:0;border-top-right-radius:0}.x-form-arrow-trigger .x-form-trigger-icon{background-image:url('../../resources/themes/images/default/boundlist/trigger-arrow.png')}.x-form-date-trigger{background-image:url('../../resources/themes/images/default/form/date-trigger.gif')}.x-form-trigger-wrap .x-form-spinner-up,.x-form-trigger-wrap .x-form-spinner-down{background-image:url('../../resources/themes/images/default/form/spinner.gif');width:17px!important;height:11px!important;font-size:0;border-bottom:0}.x-form-trigger-wrap .x-form-spinner-down{background-position:0 -11px}.x-form-trigger-wrap-focus .x-form-spinner-down{background-position:-51px -11px}.x-form-trigger-wrap .x-form-spinner-down-over{background-position:-17px -11px}.x-form-trigger-wrap-focus .x-form-spinner-down-over{background-position:-68px -11px}.x-form-trigger-wrap .x-form-spinner-down-click{background-position:-34px -11px}.x-field-default-toolbar .x-form-trigger-wrap .x-form-spinner-up,.x-field-default-toolbar .x-form-trigger-wrap .x-form-spinner-down{background-image:url('../../resources/themes/images/default/form/spinner-small.gif');height:10px!important}.x-field-default-toolbar .x-form-trigger-wrap .x-form-spinner-down{background-position:0 -10px}.x-field-default-toolbar .x-form-trigger-wrap-focus .x-form-spinner-down{background-position:-51px -10px}.x-field-default-toolbar .x-form-trigger-wrap .x-form-spinner-down-over{background-position:-17px -10px}.x-field-default-toolbar .x-form-trigger-wrap-focus .x-form-spinner-down-over{background-position:-68px -10px}.x-field-default-toolbar .x-form-trigger-wrap .x-form-spinner-down-click{background-position:-34px -10px}.x-trigger-noedit{cursor:pointer;cursor:hand}.x-item-disabled .x-trigger-noedit,.x-item-disabled .x-form-trigger{cursor:auto}.x-form-clear-trigger{background-image:url('../../resources/themes/images/default/form/clear-trigger.gif')}.x-form-search-trigger{background-image:url('../../resources/themes/images/default/form/search-trigger.gif')}.x-quirks .prefixie6 .x-form-trigger-input-cell{height:22px}.x-quirks .prefixie6 .x-field-default-toolbar .x-form-trigger-input-cell{height:20px}.x-html-editor-wrap{border:1px solid #b5b8c8}.x-html-editor-wrap .x-toolbar{border-top-width:0;border-left-width:0;border-right-width:0}.x-html-editor-wrap textarea{background-color:white}.x-html-editor-tb .x-btn-text{background:transparent no-repeat;background-image:url('../../resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-bold,.x-menu-item img.x-edit-bold{background-position:0 0;background-image:url('../../resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-italic,.x-menu-item img.x-edit-italic{background-position:-16px 0;background-image:url('../../resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-underline,.x-menu-item img.x-edit-underline{background-position:-32px 0;background-image:url('../../resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-forecolor,.x-menu-item img.x-edit-forecolor{background-position:-160px 0;background-image:url('../../resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-backcolor,.x-menu-item img.x-edit-backcolor{background-position:-176px 0;background-image:url('../../resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-justifyleft,.x-menu-item img.x-edit-justifyleft{background-position:-112px 0;background-image:url('../../resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-justifycenter,.x-menu-item img.x-edit-justifycenter{background-position:-128px 0;background-image:url('../../resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-justifyright,.x-menu-item img.x-edit-justifyright{background-position:-144px 0;background-image:url('../../resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-insertorderedlist,.x-menu-item img.x-edit-insertorderedlist{background-position:-80px 0;background-image:url('../../resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-insertunorderedlist,.x-menu-item img.x-edit-insertunorderedlist{background-position:-96px 0;background-image:url('../../resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-increasefontsize,.x-menu-item img.x-edit-increasefontsize{background-position:-48px 0;background-image:url('../../resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-decreasefontsize,.x-menu-item img.x-edit-decreasefontsize{background-position:-64px 0;background-image:url('../../resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-sourceedit,.x-menu-item img.x-edit-sourceedit{background-position:-192px 0;background-image:url('../../resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-createlink,.x-menu-item img.x-edit-createlink{background-position:-208px 0;background-image:url('../../resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tip .x-tip-bd .x-tip-bd-inner{padding:5px;padding-bottom:1px}.x-html-editor-tb .x-toolbar{position:static!important}.x-html-editor-tb .x-font-select{font-size:11px}.x-html-editor-wrap textarea{border:0;padding:3px 2px;overflow:auto}.x-panel,.x-plain{overflow:hidden;position:relative}.x-ie .x-panel-header,.x-ie .x-panel-header-tl,.x-ie .x-panel-header-tc,.x-ie .x-panel-header-tr,.x-ie .x-panel-header-ml,.x-ie .x-panel-header-mc,.x-ie .x-panel-header-mr,.x-ie .x-panel-header-bl,.x-ie .x-panel-header-bc,.x-ie .x-panel-header-br{zoom:1}.x-ie8 td.x-frame-mc{vertical-align:top}.x-panel-header-horizontal{padding:3px 5px 4px}.x-panel-header-vertical{padding:5px 4px}.x-panel-header-icon,.x-window-header-icon{width:16px;height:16px;background-repeat:no-repeat;background-position:0 0;vertical-align:middle;margin-right:4px}.x-vertical .x-panel-header-icon,.x-vertical .x-window-header-icon{margin:0 0 4px}.x-panel-header-draggable,.x-panel-header-draggable .x-panel-header-text,.x-window-header-draggable,.x-window-header-draggable .x-window-header-text{cursor:move}.x-panel-ghost,.x-window-ghost{filter:alpha(opacity=65);opacity:.65;cursor:move}.x-panel-header-horizontal .x-panel-header-body,.x-panel-header-horizontal .x-window-header-body,.x-panel-header-horizontal .x-btn-group-header-body,.x-window-header-horizontal .x-panel-header-body,.x-window-header-horizontal .x-window-header-body,.x-window-header-horizontal .x-btn-group-header-body,.x-btn-group-header-horizontal .x-panel-header-body,.x-btn-group-header-horizontal .x-window-header-body,.x-btn-group-header-horizontal .x-btn-group-header-body{width:100%}.x-panel-header-vertical .x-panel-header-body,.x-panel-header-vertical .x-window-header-body,.x-panel-header-vertical .x-btn-group-header-body,.x-window-header-vertical .x-panel-header-body,.x-window-header-vertical .x-window-header-body,.x-window-header-vertical .x-btn-group-header-body,.x-btn-group-header-vertical .x-panel-header-body,.x-btn-group-header-vertical .x-window-header-body,.x-btn-group-header-vertical .x-btn-group-header-body{height:100%}.x-panel-header-text-container{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis}.x-panel-header-text{user-select:none;-o-user-select:none;-ms-user-select:none;-moz-user-select:-moz-none;-webkit-user-select:none;cursor:default;white-space:nowrap}.x-panel-header-left .x-vml-base,.x-panel-header-right .x-vml-base{left:-3px!important}.x-panel-body{overflow:hidden;position:relative;font-size:12px}.x-panel-header-vertical .x-surface{padding-left:1px}.x-opera .x-panel-header-vertical .x-surface,.x-strict .x-ie9 .x-panel-header-vertical .x-surface{padding-left:2px}.x-panel-collapsed .x-panel-header-collapsed-border-top{border-bottom-width:1px!important}.x-panel-collapsed .x-panel-header-collapsed-border-right{border-left-width:1px!important}.x-panel-collapsed .x-panel-header-collapsed-border-bottom{border-top-width:1px!important}.x-panel-collapsed .x-panel-header-collapsed-border-left{border-right-width:1px!important}.x-nlg .x-panel-header-vertical .x-frame-mc{background-repeat:repeat-y}.x-panel-default{border-color:#99bce8}.x-panel-header-default{font-size:11px;border-color:#99bce8;border-width:1px;border-style:solid;background-image:none;background-color:#cbddf3;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#dae7f6),color-stop(45%,#cddef3),color-stop(46%,#abc7ec),color-stop(50%,#abc7ec),color-stop(51%,#b8cfee),color-stop(100%,#cbddf3));background-image:-webkit-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-moz-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-o-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-ms-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);-webkit-box-shadow:#f4f8fd 0 1px 0 0 inset;-moz-box-shadow:#f4f8fd 0 1px 0 0 inset;box-shadow:#f4f8fd 0 1px 0 0 inset}.x-nlg .x-panel-header-default-top{background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-top-bg.gif')}.x-nlg .x-panel-header-default-bottom{background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-bottom-bg.gif')}.x-nlg .x-panel-header-default-left{background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-left-bg.gif')}.x-nlg .x-panel-header-default-right{background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-right-bg.gif')}.x-nlg .x-panel-header-default-right{background-position:top right}.x-nlg .x-panel-header-default-bottom{background-position:bottom left}.x-panel-header-text-default{color:#04408c;font-size:11px;font-weight:bold;font-family:tahoma,arial,verdana,sans-serif;line-height:17px}.x-panel-body-default{background:white;border-color:#99bce8;color:black;border-width:1px;border-style:solid}.x-panel-collapsed .x-window-header-default,.x-panel-collapsed .x-panel-header-default{border-color:#99bce8}.x-panel-header-default-vertical{border-color:#99bce8}.x-panel-header-default-left,.x-panel-header-default-right{background-image:none;background-color:#cbddf3;background-image:-webkit-gradient(linear,100% 50%,0% 50%,color-stop(0%,#dae7f6),color-stop(45%,#cddef3),color-stop(46%,#abc7ec),color-stop(50%,#abc7ec),color-stop(51%,#b8cfee),color-stop(100%,#cbddf3));background-image:-webkit-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-moz-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-o-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-ms-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3)}.x-panel-collapsed .x-panel-header-default-top{-moz-border-radius-bottomleft:null;-webkit-border-bottom-left-radius:null;-ms-border-bottom-left-radius:null;-o-border-bottom-left-radius:null;border-bottom-left-radius:null;-moz-border-radius-bottomright:null;-webkit-border-bottom-right-radius:null;-ms-border-bottom-right-radius:null;-o-border-bottom-right-radius:null;border-bottom-right-radius:null}.x-panel-collapsed .x-panel-header-default-right{-moz-border-radius-topleft:null;-webkit-border-top-left-radius:null;-ms-border-top-left-radius:null;-o-border-top-left-radius:null;border-top-left-radius:null;-moz-border-radius-bottomleft:null;-webkit-border-bottom-left-radius:null;-ms-border-bottom-left-radius:null;-o-border-bottom-left-radius:null;border-bottom-left-radius:null}.x-panel-collapsed .x-panel-header-default-bottom{-moz-border-radius-topleft:null;-webkit-border-top-left-radius:null;-ms-border-top-left-radius:null;-o-border-top-left-radius:null;border-top-left-radius:null;-moz-border-radius-topright:null;-webkit-border-top-right-radius:null;-ms-border-top-right-radius:null;-o-border-top-right-radius:null;border-top-right-radius:null}.x-panel-collapsed .x-panel-header-default-left{-moz-border-radius-topright:null;-webkit-border-top-right-radius:null;-ms-border-top-right-radius:null;-o-border-top-right-radius:null;border-top-right-radius:null;-moz-border-radius-bottomright:null;-webkit-border-bottom-right-radius:null;-ms-border-bottom-right-radius:null;-o-border-bottom-right-radius:null;border-bottom-right-radius:null}.x-panel-header-default-top{-webkit-box-shadow:#f4f8fd 0 1px 0 0 inset;-moz-box-shadow:#f4f8fd 0 1px 0 0 inset;box-shadow:#f4f8fd 0 1px 0 0 inset}.x-panel-header-default-right{-webkit-box-shadow:#f4f8fd -1px 0 0 0 inset;-moz-box-shadow:#f4f8fd -1px 0 0 0 inset;box-shadow:#f4f8fd -1px 0 0 0 inset}.x-panel-header-default-bottom{-webkit-box-shadow:#f4f8fd 0 -1px 0 0 inset;-moz-box-shadow:#f4f8fd 0 -1px 0 0 inset;box-shadow:#f4f8fd 0 -1px 0 0 inset}.x-panel-header-default-left{-webkit-box-shadow:#f4f8fd 1px 0 0 0 inset;-moz-box-shadow:#f4f8fd 1px 0 0 0 inset;box-shadow:#f4f8fd 1px 0 0 0 inset}.x-panel-header-default-right-tc,.x-panel-header-default-right-mc,.x-panel-header-default-right-bc{background-position:right 0}.x-panel-header-default-bottom-tc,.x-panel-header-default-bottom-mc,.x-panel-header-default-bottom-bc{background-position:0 bottom}.x-panel-default-framed{border-color:#99bce8}.x-panel-header-default-framed{font-size:11px;border-color:#99bce8;border-width:1px;border-style:solid;background-image:none;background-color:#cbddf3;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#dae7f6),color-stop(45%,#cddef3),color-stop(46%,#abc7ec),color-stop(50%,#abc7ec),color-stop(51%,#b8cfee),color-stop(100%,#cbddf3));background-image:-webkit-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-moz-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-o-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-ms-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);-webkit-box-shadow:#f4f8fd 0 1px 0 0 inset;-moz-box-shadow:#f4f8fd 0 1px 0 0 inset;box-shadow:#f4f8fd 0 1px 0 0 inset}.x-nlg .x-panel-header-default-framed-top{background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-top-bg.gif')}.x-nlg .x-panel-header-default-framed-bottom{background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-bottom-bg.gif')}.x-nlg .x-panel-header-default-framed-left{background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-left-bg.gif')}.x-nlg .x-panel-header-default-framed-right{background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-right-bg.gif')}.x-nlg .x-panel-header-default-framed-right{background-position:top right}.x-nlg .x-panel-header-default-framed-bottom{background-position:bottom left}.x-nbr .x-panel-header-default-framed{background-image:none}.x-strict .x-ie9 .x-panel-header-default-framed-top,.x-nlg.x-opera .x-panel-header-default-framed-top,.x-nlg.x-safari .x-panel-header-default-framed-top{background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-top-bg.gif')}.x-strict .x-ie9 .x-panel-header-default-framed-bottom,.x-nlg.x-opera .x-panel-header-default-framed-bottom,.x-nlg.x-safari .x-panel-header-default-framed-bottom{background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-bottom-bg.gif')}.x-strict .x-ie9 .x-panel-header-default-framed-left,.x-nlg.x-opera .x-panel-header-default-framed-left,.x-nlg.x-safari .x-panel-header-default-framed-left{background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-left-bg.gif')}.x-strict .x-ie9 .x-panel-header-default-framed-right,.x-nlg.x-opera .x-panel-header-default-framed-right,.x-nlg.x-safari .x-panel-header-default-framed-right{background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-right-bg.gif')}.x-panel-header-text-default-framed{color:#04408c;font-size:11px;font-weight:bold;font-family:tahoma,arial,verdana,sans-serif;line-height:17px}.x-panel-body-default-framed{background:#dfe9f6;border-color:#99bce8;color:black;border-width:0;border-style:solid}.x-panel-collapsed .x-window-header-default-framed,.x-panel-collapsed .x-panel-header-default-framed{border-color:#99bce8}.x-panel-header-default-framed-vertical{border-color:#99bce8}.x-panel-header-default-framed-left,.x-panel-header-default-framed-right{background-image:none;background-color:#cbddf3;background-image:-webkit-gradient(linear,100% 50%,0% 50%,color-stop(0%,#dae7f6),color-stop(45%,#cddef3),color-stop(46%,#abc7ec),color-stop(50%,#abc7ec),color-stop(51%,#b8cfee),color-stop(100%,#cbddf3));background-image:-webkit-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-moz-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-o-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-ms-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3)}.x-panel-default-framed{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px;padding:4px 4px 4px 4px;border-width:1px;border-style:solid;background-color:#dfe9f6}.x-nlg .x-panel-default-framed-mc{background-color:#dfe9f6}.x-nbr .x-panel-default-framed{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000404px 1000404px}.x-nbr .x-panel-default-framed-tl,.x-nbr .x-panel-default-framed-bl,.x-nbr .x-panel-default-framed-tr,.x-nbr .x-panel-default-framed-br,.x-nbr .x-panel-default-framed-tc,.x-nbr .x-panel-default-framed-bc,.x-nbr .x-panel-default-framed-ml,.x-nbr .x-panel-default-framed-mr{zoom:1;background-image:url('../../resources/themes/images/default/panel/panel-default-framed-corners.gif')}.x-nbr .x-panel-default-framed-ml,.x-nbr .x-panel-default-framed-mr{zoom:1;background-image:url('../../resources/themes/images/default/panel/panel-default-framed-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-panel-default-framed-mc{padding:1px 1px 1px 1px}.x-strict .x-ie7 .x-panel-default-framed-tl,.x-strict .x-ie7 .x-panel-default-framed-bl{position:relative;right:0}.x-panel-header-default-framed-top{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-ms-border-top-left-radius:4px;-o-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-ms-border-top-right-radius:4px;-o-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;-ms-border-bottom-right-radius:0;-o-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;-ms-border-bottom-left-radius:0;-o-border-bottom-left-radius:0;border-bottom-left-radius:0;padding:3px 5px 4px 5px;border-width:1px 1px 0 1px;border-style:solid;background-image:none;background-color:#cbddf3;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#dae7f6),color-stop(45%,#cddef3),color-stop(46%,#abc7ec),color-stop(50%,#abc7ec),color-stop(51%,#b8cfee),color-stop(100%,#cbddf3));background-image:-webkit-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-moz-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-o-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-ms-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3)}.x-nlg .x-panel-header-default-framed-top-mc{background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-top-bg.gif');background-color:#cbddf3}.x-nbr .x-panel-header-default-framed-top{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000404px 1000000px}.x-nbr .x-panel-header-default-framed-top-tl,.x-nbr .x-panel-header-default-framed-top-bl,.x-nbr .x-panel-header-default-framed-top-tr,.x-nbr .x-panel-header-default-framed-top-br,.x-nbr .x-panel-header-default-framed-top-tc,.x-nbr .x-panel-header-default-framed-top-bc,.x-nbr .x-panel-header-default-framed-top-ml,.x-nbr .x-panel-header-default-framed-top-mr{zoom:1;background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-top-corners.gif')}.x-nbr .x-panel-header-default-framed-top-ml,.x-nbr .x-panel-header-default-framed-top-mr{zoom:1;background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-top-sides.gif');background-position:0 0}.x-nbr .x-panel-header-default-framed-top-mc{padding:0 2px 4px 2px}.x-strict .x-ie7 .x-panel-header-default-framed-top-tl,.x-strict .x-ie7 .x-panel-header-default-framed-top-bl{position:relative;right:0}.x-panel-header-default-framed-right{-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;-ms-border-top-left-radius:0;-o-border-top-left-radius:0;border-top-left-radius:0;-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-ms-border-top-right-radius:4px;-o-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-ms-border-bottom-right-radius:4px;-o-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;-ms-border-bottom-left-radius:0;-o-border-bottom-left-radius:0;border-bottom-left-radius:0;padding:5px 4px 5px 4px;border-width:1px 1px 1px 0;border-style:solid;background-image:none;background-color:#cbddf3;background-image:-webkit-gradient(linear,100% 50%,0% 50%,color-stop(0%,#dae7f6),color-stop(45%,#cddef3),color-stop(46%,#abc7ec),color-stop(50%,#abc7ec),color-stop(51%,#b8cfee),color-stop(100%,#cbddf3));background-image:-webkit-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-moz-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-o-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-ms-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3)}.x-nlg .x-panel-header-default-framed-right-mc{background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-right-bg.gif');background-color:#cbddf3}.x-nbr .x-panel-header-default-framed-right{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000004px 1100400px}.x-nbr .x-panel-header-default-framed-right-tl,.x-nbr .x-panel-header-default-framed-right-bl,.x-nbr .x-panel-header-default-framed-right-tr,.x-nbr .x-panel-header-default-framed-right-br,.x-nbr .x-panel-header-default-framed-right-tc,.x-nbr .x-panel-header-default-framed-right-bc,.x-nbr .x-panel-header-default-framed-right-ml,.x-nbr .x-panel-header-default-framed-right-mr{zoom:1;background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-right-corners.gif')}.x-nbr .x-panel-header-default-framed-right-tc,.x-nbr .x-panel-header-default-framed-right-bc{zoom:1;background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-right-sides.gif');background-position:0 0;background-repeat:repeat-x}.x-nbr .x-panel-header-default-framed-right-mc{padding:2px 1px 2px 4px}.x-strict .x-ie7 .x-panel-header-default-framed-right-tl,.x-strict .x-ie7 .x-panel-header-default-framed-right-bl{position:relative;right:0}.x-panel-header-default-framed-bottom{-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;-ms-border-top-left-radius:0;-o-border-top-left-radius:0;border-top-left-radius:0;-moz-border-radius-topright:0;-webkit-border-top-right-radius:0;-ms-border-top-right-radius:0;-o-border-top-right-radius:0;border-top-right-radius:0;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-ms-border-bottom-right-radius:4px;-o-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-ms-border-bottom-left-radius:4px;-o-border-bottom-left-radius:4px;border-bottom-left-radius:4px;padding:3px 5px 4px 5px;border-width:0 1px 1px 1px;border-style:solid;background-image:none;background-color:#cbddf3;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#dae7f6),color-stop(45%,#cddef3),color-stop(46%,#abc7ec),color-stop(50%,#abc7ec),color-stop(51%,#b8cfee),color-stop(100%,#cbddf3));background-image:-webkit-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-moz-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-o-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-ms-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3)}.x-nlg .x-panel-header-default-framed-bottom-mc{background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-bottom-bg.gif');background-color:#cbddf3}.x-nbr .x-panel-header-default-framed-bottom{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000000px 1000404px}.x-nbr .x-panel-header-default-framed-bottom-tl,.x-nbr .x-panel-header-default-framed-bottom-bl,.x-nbr .x-panel-header-default-framed-bottom-tr,.x-nbr .x-panel-header-default-framed-bottom-br,.x-nbr .x-panel-header-default-framed-bottom-tc,.x-nbr .x-panel-header-default-framed-bottom-bc,.x-nbr .x-panel-header-default-framed-bottom-ml,.x-nbr .x-panel-header-default-framed-bottom-mr{zoom:1;background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-bottom-corners.gif')}.x-nbr .x-panel-header-default-framed-bottom-ml,.x-nbr .x-panel-header-default-framed-bottom-mr{zoom:1;background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-bottom-sides.gif');background-position:0 0}.x-nbr .x-panel-header-default-framed-bottom-mc{padding:3px 2px 1px 2px}.x-strict .x-ie7 .x-panel-header-default-framed-bottom-tl,.x-strict .x-ie7 .x-panel-header-default-framed-bottom-bl{position:relative;right:0}.x-panel-header-default-framed-left{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-ms-border-top-left-radius:4px;-o-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:0;-webkit-border-top-right-radius:0;-ms-border-top-right-radius:0;-o-border-top-right-radius:0;border-top-right-radius:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;-ms-border-bottom-right-radius:0;-o-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-ms-border-bottom-left-radius:4px;-o-border-bottom-left-radius:4px;border-bottom-left-radius:4px;padding:5px 4px 5px 4px;border-width:1px 0 1px 1px;border-style:solid;background-image:none;background-color:#cbddf3;background-image:-webkit-gradient(linear,100% 50%,0% 50%,color-stop(0%,#dae7f6),color-stop(45%,#cddef3),color-stop(46%,#abc7ec),color-stop(50%,#abc7ec),color-stop(51%,#b8cfee),color-stop(100%,#cbddf3));background-image:-webkit-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-moz-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-o-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-ms-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3)}.x-nlg .x-panel-header-default-framed-left-mc{background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-left-bg.gif');background-color:#cbddf3}.x-nbr .x-panel-header-default-framed-left{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000400px 1100004px}.x-nbr .x-panel-header-default-framed-left-tl,.x-nbr .x-panel-header-default-framed-left-bl,.x-nbr .x-panel-header-default-framed-left-tr,.x-nbr .x-panel-header-default-framed-left-br,.x-nbr .x-panel-header-default-framed-left-tc,.x-nbr .x-panel-header-default-framed-left-bc,.x-nbr .x-panel-header-default-framed-left-ml,.x-nbr .x-panel-header-default-framed-left-mr{zoom:1;background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-left-corners.gif')}.x-nbr .x-panel-header-default-framed-left-tc,.x-nbr .x-panel-header-default-framed-left-bc{zoom:1;background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-left-sides.gif');background-position:0 0;background-repeat:repeat-x}.x-nbr .x-panel-header-default-framed-left-mc{padding:2px 4px 2px 1px}.x-strict .x-ie7 .x-panel-header-default-framed-left-tl,.x-strict .x-ie7 .x-panel-header-default-framed-left-bl{position:relative;right:0}.x-panel-header-default-framed-top{-webkit-box-shadow:#f4f8fd 0 1px 0 0 inset,#f4f8fd -1px 0 0 0 inset,#f4f8fd 1px 0 0 0 inset;-moz-box-shadow:#f4f8fd 0 1px 0 0 inset,#f4f8fd -1px 0 0 0 inset,#f4f8fd 1px 0 0 0 inset;box-shadow:#f4f8fd 0 1px 0 0 inset,#f4f8fd -1px 0 0 0 inset,#f4f8fd 1px 0 0 0 inset}.x-panel-header-default-framed-right{-webkit-box-shadow:#f4f8fd 0 1px 0 0 inset,#f4f8fd 0 -1px 0 0 inset,#f4f8fd -1px 0 0 0 inset;-moz-box-shadow:#f4f8fd 0 1px 0 0 inset,#f4f8fd 0 -1px 0 0 inset,#f4f8fd -1px 0 0 0 inset;box-shadow:#f4f8fd 0 1px 0 0 inset,#f4f8fd 0 -1px 0 0 inset,#f4f8fd -1px 0 0 0 inset}.x-panel-header-default-framed-bottom{-webkit-box-shadow:#f4f8fd 0 -1px 0 0 inset,#f4f8fd -1px 0 0 0 inset,#f4f8fd 1px 0 0 0 inset;-moz-box-shadow:#f4f8fd 0 -1px 0 0 inset,#f4f8fd -1px 0 0 0 inset,#f4f8fd 1px 0 0 0 inset;box-shadow:#f4f8fd 0 -1px 0 0 inset,#f4f8fd -1px 0 0 0 inset,#f4f8fd 1px 0 0 0 inset}.x-panel-header-default-framed-left{-webkit-box-shadow:#f4f8fd 0 1px 0 0 inset,#f4f8fd 0 -1px 0 0 inset,#f4f8fd 1px 0 0 0 inset;-moz-box-shadow:#f4f8fd 0 1px 0 0 inset,#f4f8fd 0 -1px 0 0 inset,#f4f8fd 1px 0 0 0 inset;box-shadow:#f4f8fd 0 1px 0 0 inset,#f4f8fd 0 -1px 0 0 inset,#f4f8fd 1px 0 0 0 inset}.x-panel .x-panel-header-default-framed-top{border-bottom-width:1px!important}.x-panel .x-panel-header-default-framed-right{border-left-width:1px!important}.x-panel .x-panel-header-default-framed-bottom{border-top-width:1px!important}.x-panel .x-panel-header-default-framed-left{border-right-width:1px!important}.x-panel-header-default-framed-collapsed{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.x-panel-header-default-framed-collapsed-top{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-ms-border-top-left-radius:4px;-o-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-ms-border-top-right-radius:4px;-o-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-ms-border-bottom-right-radius:4px;-o-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-ms-border-bottom-left-radius:4px;-o-border-bottom-left-radius:4px;border-bottom-left-radius:4px;padding:3px 5px 4px 5px;border-width:1px;border-style:solid;background-image:none;background-color:#cbddf3;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#dae7f6),color-stop(45%,#cddef3),color-stop(46%,#abc7ec),color-stop(50%,#abc7ec),color-stop(51%,#b8cfee),color-stop(100%,#cbddf3));background-image:-webkit-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-moz-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-o-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-ms-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3)}.x-nlg .x-panel-header-default-framed-collapsed-top-mc{background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-bg.gif');background-color:#cbddf3}.x-nbr .x-panel-header-default-framed-collapsed-top{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000404px 1000404px}.x-nbr .x-panel-header-default-framed-collapsed-top-tl,.x-nbr .x-panel-header-default-framed-collapsed-top-bl,.x-nbr .x-panel-header-default-framed-collapsed-top-tr,.x-nbr .x-panel-header-default-framed-collapsed-top-br,.x-nbr .x-panel-header-default-framed-collapsed-top-tc,.x-nbr .x-panel-header-default-framed-collapsed-top-bc,.x-nbr .x-panel-header-default-framed-collapsed-top-ml,.x-nbr .x-panel-header-default-framed-collapsed-top-mr{zoom:1;background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-corners.gif')}.x-nbr .x-panel-header-default-framed-collapsed-top-ml,.x-nbr .x-panel-header-default-framed-collapsed-top-mr{zoom:1;background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-sides.gif');background-position:0 0}.x-nbr .x-panel-header-default-framed-collapsed-top-mc{padding:0 2px 1px 2px}.x-strict .x-ie7 .x-panel-header-default-framed-collapsed-top-tl,.x-strict .x-ie7 .x-panel-header-default-framed-collapsed-top-bl{position:relative;right:0}.x-panel-header-default-framed-collapsed-right{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-ms-border-top-left-radius:4px;-o-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-ms-border-top-right-radius:4px;-o-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-ms-border-bottom-right-radius:4px;-o-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-ms-border-bottom-left-radius:4px;-o-border-bottom-left-radius:4px;border-bottom-left-radius:4px;padding:5px 4px 5px 4px;border-width:1px;border-style:solid;background-image:none;background-color:#cbddf3;background-image:-webkit-gradient(linear,100% 50%,0% 50%,color-stop(0%,#dae7f6),color-stop(45%,#cddef3),color-stop(46%,#abc7ec),color-stop(50%,#abc7ec),color-stop(51%,#b8cfee),color-stop(100%,#cbddf3));background-image:-webkit-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-moz-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-o-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-ms-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3)}.x-nlg .x-panel-header-default-framed-collapsed-right-mc{background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-bg.gif');background-color:#cbddf3}.x-nbr .x-panel-header-default-framed-collapsed-right{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000404px 1100404px}.x-nbr .x-panel-header-default-framed-collapsed-right-tl,.x-nbr .x-panel-header-default-framed-collapsed-right-bl,.x-nbr .x-panel-header-default-framed-collapsed-right-tr,.x-nbr .x-panel-header-default-framed-collapsed-right-br,.x-nbr .x-panel-header-default-framed-collapsed-right-tc,.x-nbr .x-panel-header-default-framed-collapsed-right-bc,.x-nbr .x-panel-header-default-framed-collapsed-right-ml,.x-nbr .x-panel-header-default-framed-collapsed-right-mr{zoom:1;background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-corners.gif')}.x-nbr .x-panel-header-default-framed-collapsed-right-tc,.x-nbr .x-panel-header-default-framed-collapsed-right-bc{zoom:1;background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-sides.gif');background-position:0 0;background-repeat:repeat-x}.x-nbr .x-panel-header-default-framed-collapsed-right-mc{padding:2px 1px 2px 1px}.x-strict .x-ie7 .x-panel-header-default-framed-collapsed-right-tl,.x-strict .x-ie7 .x-panel-header-default-framed-collapsed-right-bl{position:relative;right:0}.x-panel-header-default-framed-collapsed-bottom{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-ms-border-top-left-radius:4px;-o-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-ms-border-top-right-radius:4px;-o-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-ms-border-bottom-right-radius:4px;-o-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-ms-border-bottom-left-radius:4px;-o-border-bottom-left-radius:4px;border-bottom-left-radius:4px;padding:3px 5px 4px 5px;border-width:1px;border-style:solid;background-image:none;background-color:#cbddf3;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#dae7f6),color-stop(45%,#cddef3),color-stop(46%,#abc7ec),color-stop(50%,#abc7ec),color-stop(51%,#b8cfee),color-stop(100%,#cbddf3));background-image:-webkit-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-moz-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-o-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-ms-linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:linear-gradient(top,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3)}.x-nlg .x-panel-header-default-framed-collapsed-bottom-mc{background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-bg.gif');background-color:#cbddf3}.x-nbr .x-panel-header-default-framed-collapsed-bottom{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000404px 1000404px}.x-nbr .x-panel-header-default-framed-collapsed-bottom-tl,.x-nbr .x-panel-header-default-framed-collapsed-bottom-bl,.x-nbr .x-panel-header-default-framed-collapsed-bottom-tr,.x-nbr .x-panel-header-default-framed-collapsed-bottom-br,.x-nbr .x-panel-header-default-framed-collapsed-bottom-tc,.x-nbr .x-panel-header-default-framed-collapsed-bottom-bc,.x-nbr .x-panel-header-default-framed-collapsed-bottom-ml,.x-nbr .x-panel-header-default-framed-collapsed-bottom-mr{zoom:1;background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-corners.gif')}.x-nbr .x-panel-header-default-framed-collapsed-bottom-ml,.x-nbr .x-panel-header-default-framed-collapsed-bottom-mr{zoom:1;background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-sides.gif');background-position:0 0}.x-nbr .x-panel-header-default-framed-collapsed-bottom-mc{padding:0 2px 1px 2px}.x-strict .x-ie7 .x-panel-header-default-framed-collapsed-bottom-tl,.x-strict .x-ie7 .x-panel-header-default-framed-collapsed-bottom-bl{position:relative;right:0}.x-panel-header-default-framed-collapsed-left{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-ms-border-top-left-radius:4px;-o-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-ms-border-top-right-radius:4px;-o-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-ms-border-bottom-right-radius:4px;-o-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-ms-border-bottom-left-radius:4px;-o-border-bottom-left-radius:4px;border-bottom-left-radius:4px;padding:5px 4px 5px 4px;border-width:1px;border-style:solid;background-image:none;background-color:#cbddf3;background-image:-webkit-gradient(linear,100% 50%,0% 50%,color-stop(0%,#dae7f6),color-stop(45%,#cddef3),color-stop(46%,#abc7ec),color-stop(50%,#abc7ec),color-stop(51%,#b8cfee),color-stop(100%,#cbddf3));background-image:-webkit-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-moz-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-o-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:-ms-linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3);background-image:linear-gradient(right,#dae7f6,#cddef3 45%,#abc7ec 46%,#abc7ec 50%,#b8cfee 51%,#cbddf3)}.x-nlg .x-panel-header-default-framed-collapsed-left-mc{background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-bg.gif');background-color:#cbddf3}.x-nbr .x-panel-header-default-framed-collapsed-left{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000404px 1100404px}.x-nbr .x-panel-header-default-framed-collapsed-left-tl,.x-nbr .x-panel-header-default-framed-collapsed-left-bl,.x-nbr .x-panel-header-default-framed-collapsed-left-tr,.x-nbr .x-panel-header-default-framed-collapsed-left-br,.x-nbr .x-panel-header-default-framed-collapsed-left-tc,.x-nbr .x-panel-header-default-framed-collapsed-left-bc,.x-nbr .x-panel-header-default-framed-collapsed-left-ml,.x-nbr .x-panel-header-default-framed-collapsed-left-mr{zoom:1;background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-corners.gif')}.x-nbr .x-panel-header-default-framed-collapsed-left-tc,.x-nbr .x-panel-header-default-framed-collapsed-left-bc{zoom:1;background-image:url('../../resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-sides.gif');background-position:0 0;background-repeat:repeat-x}.x-nbr .x-panel-header-default-framed-collapsed-left-mc{padding:2px 1px 2px 1px}.x-strict .x-ie7 .x-panel-header-default-framed-collapsed-left-tl,.x-strict .x-ie7 .x-panel-header-default-framed-collapsed-left-bl{position:relative;right:0}.x-panel-header-default-framed-right-tc,.x-panel-header-default-framed-right-mc,.x-panel-header-default-framed-right-bc{background-position:right 0}.x-panel-header-default-framed-bottom-tc,.x-panel-header-default-framed-bottom-mc,.x-panel-header-default-framed-bottom-bc{background-position:0 bottom}.x-panel-header-plain,.x-panel-body-plain{border:0;padding:0}.x-tip{position:absolute;overflow:visible;border-color:#8eaace}.x-tip .x-tip-header .x-box-item{padding:3px 3px 0}.x-tip .x-tip-header .x-tool{padding:0 1px 0 0!important}.x-tip{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;padding:2px 2px 2px 2px;border-width:1px;border-style:solid;background-color:#e9f2ff}.x-nlg .x-tip-mc{background-color:#e9f2ff}.x-nbr .x-tip{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1100303px 1000303px}.x-nbr .x-tip-tl,.x-nbr .x-tip-bl,.x-nbr .x-tip-tr,.x-nbr .x-tip-br,.x-nbr .x-tip-tc,.x-nbr .x-tip-bc,.x-nbr .x-tip-ml,.x-nbr .x-tip-mr{zoom:1;background-image:url('../../resources/themes/images/default/tip/tip-corners.gif')}.x-nbr .x-tip-ml,.x-nbr .x-tip-mr{zoom:1;background-image:url('../../resources/themes/images/default/tip/tip-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-tip-mc{padding:0}.x-strict .x-ie7 .x-tip-tl,.x-strict .x-ie7 .x-tip-bl{position:relative;right:0}.x-tip-header-text{user-select:none;-o-user-select:none;-ms-user-select:none;-moz-user-select:-moz-none;-webkit-user-select:none;cursor:default;color:#444;font-size:11px;font-weight:bold}.x-tip-header-draggable .x-tip-header-text{cursor:move}.x-tip-body,.x-form-invalid-tip-body{overflow:hidden;position:relative;padding:3px}.x-tip-header,.x-tip-body,.x-form-invalid-tip-body{color:#444;font-size:11px;font-weight:normal}.x-tip-header a,.x-tip-body a,.x-form-invalid-tip-body a{color:#2a2a2a}.x-tip-anchor{position:absolute;overflow:hidden;height:0;width:0;border-style:solid;border-width:5px;border-color:#8eaace;zoom:1}.x-border-box .x-tip-anchor{width:10px;height:10px}.x-tip-anchor-top{border-top-color:transparent;border-left-color:transparent;border-right-color:transparent;_border-top-color:pink;_border-left-color:pink;_border-right-color:pink;_filter:chroma(color=pink)}.x-tip-anchor-bottom{border-bottom-color:transparent;border-left-color:transparent;border-right-color:transparent;_border-bottom-color:pink;_border-left-color:pink;_border-right-color:pink;_filter:chroma(color=pink)}.x-tip-anchor-left{border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent;_border-top-color:pink;_border-bottom-color:pink;_border-left-color:pink;_filter:chroma(color=pink)}.x-tip-anchor-right{border-top-color:transparent;border-bottom-color:transparent;border-right-color:transparent;_border-top-color:pink;_border-bottom-color:pink;_border-right-color:pink;_filter:chroma(color=pink)}.x-form-invalid-tip{border-color:#a1311f;-webkit-box-shadow:#d87166 0 1px 0 0 inset,#d87166 0 -1px 0 0 inset,#d87166 -1px 0 0 0 inset,#d87166 1px 0 0 0 inset;-moz-box-shadow:#d87166 0 1px 0 0 inset,#d87166 0 -1px 0 0 inset,#d87166 -1px 0 0 0 inset,#d87166 1px 0 0 0 inset;box-shadow:#d87166 0 1px 0 0 inset,#d87166 0 -1px 0 0 inset,#d87166 -1px 0 0 0 inset,#d87166 1px 0 0 0 inset}.x-form-invalid-tip-body{background:1px 1px no-repeat;background-image:url('../../resources/themes/images/default/form/exclamation.gif');padding-left:22px}.x-form-invalid-tip-body li{margin-bottom:4px}.x-form-invalid-tip-body li.last{margin-bottom:0}.x-form-invalid-tip-default{-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px;padding:4px 4px 4px 4px;border-width:1px;border-style:solid;background-color:white}.x-nlg .x-form-invalid-tip-default-mc{background-color:white}.x-nbr .x-form-invalid-tip-default{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1100505px 1000505px}.x-nbr .x-form-invalid-tip-default-tl,.x-nbr .x-form-invalid-tip-default-bl,.x-nbr .x-form-invalid-tip-default-tr,.x-nbr .x-form-invalid-tip-default-br,.x-nbr .x-form-invalid-tip-default-tc,.x-nbr .x-form-invalid-tip-default-bc,.x-nbr .x-form-invalid-tip-default-ml,.x-nbr .x-form-invalid-tip-default-mr{zoom:1;background-image:url('../../resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-corners.gif')}.x-nbr .x-form-invalid-tip-default-ml,.x-nbr .x-form-invalid-tip-default-mr{zoom:1;background-image:url('../../resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-form-invalid-tip-default-mc{padding:0}.x-strict .x-ie7 .x-form-invalid-tip-default-tl,.x-strict .x-ie7 .x-form-invalid-tip-default-bl{position:relative;right:0}.x-slider{zoom:1}.x-slider-inner{position:relative;left:0;top:0;overflow:visible;zoom:1}.x-slider-focus{position:absolute;left:0;top:0;width:1px;height:1px;line-height:1px;font-size:1px;-moz-outline:0 none;outline:0 none;user-select:none;-o-user-select:none;-ms-user-select:none;-moz-user-select:-moz-none;-webkit-user-select:none;cursor:default;display:block;overflow:hidden}.x-slider-horz{padding-left:7px;background:transparent no-repeat 0 -24px;width:100%}.x-slider-horz .x-slider-end{padding-right:7px;zoom:1;background:transparent no-repeat right -46px}.x-slider-horz .x-slider-inner{background:transparent repeat-x 0 -2px;height:18px}.x-slider-horz .x-slider-thumb{width:14px;height:15px;margin-left:-7px;position:absolute;left:0;top:1px;background:transparent no-repeat 0 0}.x-slider-horz .x-slider-thumb-over{background-position:-14px -15px}.x-slider-horz .x-slider-thumb-drag{background-position:-28px -30px}.x-slider-vert{padding-top:7px;background:transparent no-repeat -44px 0}.x-slider-vert .x-slider-end{padding-bottom:7px;zoom:1;background:transparent no-repeat -22px bottom;width:22px}.x-slider-vert .x-slider-inner{background:transparent repeat-y 0 0;width:22px}.x-slider-vert .x-slider-thumb{width:15px;height:14px;margin-bottom:-7px;position:absolute;left:3px;bottom:0;background:transparent no-repeat 0 0}.x-slider-vert .x-slider-thumb-over{background-position:-15px -14px}.x-slider-vert .x-slider-thumb-drag{background-position:-30px -28px}.x-slider-horz,.x-slider-horz .x-slider-end,.x-slider-horz .x-slider-inner{background-image:url('../../resources/themes/images/default/slider/slider-bg.png')}.x-slider-horz .x-slider-thumb{background-image:url('../../resources/themes/images/default/slider/slider-thumb.png')}.x-slider-vert,.x-slider-vert .x-slider-end,.x-slider-vert .x-slider-inner{background-image:url('../../resources/themes/images/default/slider/slider-v-bg.png')}.x-slider-vert .x-slider-thumb{background-image:url('../../resources/themes/images/default/slider/slider-v-thumb.png')}.x-ie6 .x-slider-horz,.x-ie6 .x-slider-horz .x-slider-end,.x-ie6 .x-slider-horz .x-slider-inner{background-image:url('../../resources/themes/images/default/slider/slider-bg.gif')}.x-ie6 .x-slider-horz .x-slider-thumb{background-image:url('../../resources/themes/images/default/slider/slider-thumb.gif')}.x-ie6 .x-slider-vert,.x-ie6 .x-slider-vert .x-slider-end,.x-ie6 .x-slider-vert .x-slider-inner{background-image:url('../../resources/themes/images/default/slider/slider-v-bg.gif')}.x-ie6 .x-slider-vert .x-slider-thumb{background-image:url('../../resources/themes/images/default/slider/slider-v-thumb.gif')}.x-progress{position:relative;border-width:1px;border-style:solid;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;overflow:hidden;height:20px}.x-progress-bar{height:18px;overflow:hidden;position:absolute;width:0;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;border-right:1px solid;border-top:1px solid}.x-progress-text{overflow:hidden;position:absolute;padding:0 5px;height:18px;font-weight:bold;font-size:11px;line-height:16px;text-align:center}.x-progress-text-back{padding-top:1px}.x-strict .x-ie7m .x-progress{height:18px}.x-progress-default{border-color:#6594cf}.x-progress-default .x-progress-bar{border-right-color:#6594cf;border-top-color:#c6d8ed;background-image:none;background-color:#73a3e0;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#b2ccee),color-stop(50%,#88b1e5),color-stop(51%,#73a3e0),color-stop(100%,#5e96db));background-image:-webkit-linear-gradient(top,#b2ccee,#88b1e5 50%,#73a3e0 51%,#5e96db);background-image:-moz-linear-gradient(top,#b2ccee,#88b1e5 50%,#73a3e0 51%,#5e96db);background-image:-o-linear-gradient(top,#b2ccee,#88b1e5 50%,#73a3e0 51%,#5e96db);background-image:-ms-linear-gradient(top,#b2ccee,#88b1e5 50%,#73a3e0 51%,#5e96db);background-image:linear-gradient(top,#b2ccee,#88b1e5 50%,#73a3e0 51%,#5e96db)}.x-progress-default .x-progress-text{color:white}.x-progress-default .x-progress-text-back{color:#396295}.x-nlg .x-progress-default .x-progress-bar{background:repeat-x;background-image:url('../../resources/themes/images/default/progress/progress-default-bg.gif')}.x-toolbar{font-size:11px;border:1px solid;padding:2px 0 2px 2px}.x-toolbar .x-form-item-label{font-size:11px;line-height:15px}.x-toolbar .x-toolbar-item{margin:0 2px 0 0}.x-toolbar .x-toolbar-text{margin-left:4px;margin-right:6px;white-space:nowrap;color:#4c4c4c;line-height:16px;font-family:tahoma,arial,verdana,sans-serif;font-size:11px;font-weight:normal}.x-toolbar .x-toolbar-separator{display:block;font-size:1px;overflow:hidden;cursor:default;border:0}.x-toolbar .x-toolbar-separator-horizontal{margin:0 3px 0 2px;height:14px;width:0;border-left:1px solid #98c8ff;border-right:1px solid white}.x-quirks .x-ie .x-toolbar .x-toolbar-separator-horizontal{width:2px}.x-toolbar-footer{background:transparent;border:0 none;margin-top:3px;padding:2px 0 2px 6px}.x-toolbar-footer .x-box-inner{border-width:0}.x-toolbar-footer .x-toolbar-item{margin:0 6px 0 0}.x-toolbar-vertical{padding:2px 2px 0 2px}.x-toolbar-vertical .x-toolbar-item{margin:0 0 2px 0}.x-toolbar-vertical .x-toolbar-text{margin-top:4px;margin-bottom:6px}.x-toolbar-vertical .x-toolbar-separator-vertical{margin:2px 5px 3px 5px;height:0;width:10px;line-height:0;border-top:1px solid #98c8ff;border-bottom:1px solid white}.x-toolbar-scroller{padding-left:0}.x-toolbar-spacer{width:2px}.x-toolbar-more-icon{background-image:url('../../resources/themes/images/default/toolbar/more.gif')!important;background-position:2px center!important;background-repeat:no-repeat}.x-toolbar-default{border-color:#99bce8;background-image:none;background-color:#d3e1f1;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#dfe9f5),color-stop(100%,#d3e1f1));background-image:-webkit-linear-gradient(top,#dfe9f5,#d3e1f1);background-image:-moz-linear-gradient(top,#dfe9f5,#d3e1f1);background-image:-o-linear-gradient(top,#dfe9f5,#d3e1f1);background-image:-ms-linear-gradient(top,#dfe9f5,#d3e1f1);background-image:linear-gradient(top,#dfe9f5,#d3e1f1)}.x-nlg .x-toolbar-default{background-image:url('../../resources/themes/images/default/toolbar/toolbar-default-bg.gif')!important;background-repeat:repeat-x}.x-toolbar-plain{border:0}.x-window{outline:0;overflow:hidden}.x-window .x-window-wrap{position:relative}.x-window-body{position:relative;border-style:solid;overflow:hidden}.x-window-maximized .x-window-wrap .x-window-header{-moz-border-radius:0!important;-webkit-border-radius:0!important;-o-border-radius:0!important;-ms-border-radius:0!important;-khtml-border-radius:0!important;border-radius:0!important}.x-window-header-top{margin-bottom:-2px}.x-window-header-body-horizontal{margin-top:-1px}.x-window-header-bottom{margin-top:-1px;margin-bottom:-1px}.x-window-header-left{margin-right:-1px}.x-window-header-right{margin-left:-1px}.x-window-header-vertical .x-surface{padding-left:1px}.x-window-collapsed .x-window-header-vertical{-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px}.x-window-collapsed .x-window-header-horizontal{-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px}.x-window-collapsed .x-window-header-left{padding-right:5px!important;margin-right:0}.x-window-collapsed .x-window-header-right{padding-left:5px!important;margin-left:0}.x-window-collapsed .x-window-header-top{padding-bottom:5px!important;margin-bottom:-1px}.x-window-collapsed .x-window-header-bottom{padding-top:5px!important;margin-top:0}.x-window-header-left .x-vml-base,.x-window-header-right .x-vml-base{left:-3px!important}.x-opera .x-window-header-vertical .x-surface,.x-strict .x-ie9 .x-window-header-vertical .x-surface{padding-left:2px}.x-window-header-text-container{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis}.x-window-header-text{user-select:none;-o-user-select:none;-ms-user-select:none;-moz-user-select:-moz-none;-webkit-user-select:none;cursor:default;white-space:nowrap}.x-window-default{border-color:#a2b1c5;-webkit-border-radius:5px 5px;-moz-border-radius:5px 5px;-ms-border-radius:5px 5px;-o-border-radius:5px 5px;border-radius:5px 5px;-webkit-box-shadow:#ecf2fb 0 1px 0 0 inset,#ecf2fb 0 -1px 0 0 inset,#ecf2fb -1px 0 0 0 inset,#ecf2fb 1px 0 0 0 inset;-moz-box-shadow:#ecf2fb 0 1px 0 0 inset,#ecf2fb 0 -1px 0 0 inset,#ecf2fb -1px 0 0 0 inset,#ecf2fb 1px 0 0 0 inset;box-shadow:#ecf2fb 0 1px 0 0 inset,#ecf2fb 0 -1px 0 0 inset,#ecf2fb -1px 0 0 0 inset,#ecf2fb 1px 0 0 0 inset}.x-window-default{-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;-ms-border-top-left-radius:5px;-o-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-topright:5px;-webkit-border-top-right-radius:5px;-ms-border-top-right-radius:5px;-o-border-top-right-radius:5px;border-top-right-radius:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;-ms-border-bottom-right-radius:5px;-o-border-bottom-right-radius:5px;border-bottom-right-radius:5px;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;-ms-border-bottom-left-radius:5px;-o-border-bottom-left-radius:5px;border-bottom-left-radius:5px;padding:4px 4px 4px 4px;border-width:1px;border-style:solid;background-color:#ced9e7}.x-nlg .x-window-default-mc{background-color:#ced9e7}.x-nbr .x-window-default{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000505px 1000505px}.x-nbr .x-window-default-tl,.x-nbr .x-window-default-bl,.x-nbr .x-window-default-tr,.x-nbr .x-window-default-br,.x-nbr .x-window-default-tc,.x-nbr .x-window-default-bc,.x-nbr .x-window-default-ml,.x-nbr .x-window-default-mr{zoom:1;background-image:url('../../resources/themes/images/default/window/window-default-corners.gif')}.x-nbr .x-window-default-ml,.x-nbr .x-window-default-mr{zoom:1;background-image:url('../../resources/themes/images/default/window/window-default-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-window-default-mc{padding:0}.x-strict .x-ie7 .x-window-default-tl,.x-strict .x-ie7 .x-window-default-bl{position:relative;right:0}.x-window-body-default{border-color:#99bbe8;border-width:1px;background:#dfe8f6;color:black}.x-window-header-default{font-size:11px;border-color:#a2b1c5;zoom:1}.x-window-header-text-default{color:#04468c;font-weight:bold;line-height:17px;font-family:tahoma,arial,verdana,sans-serif;font-size:11px}.x-window-header-default-top{-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;-ms-border-top-left-radius:5px;-o-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-topright:5px;-webkit-border-top-right-radius:5px;-ms-border-top-right-radius:5px;-o-border-top-right-radius:5px;border-top-right-radius:5px;-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;-ms-border-bottom-right-radius:0;-o-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;-ms-border-bottom-left-radius:0;-o-border-bottom-left-radius:0;border-bottom-left-radius:0;padding:4px 5px 0 5px;border-width:1px 1px 0 1px;border-style:solid;background-color:#ced9e7}.x-nlg .x-window-header-default-top-mc{background-color:#ced9e7}.x-nbr .x-window-header-default-top{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000505px 1000000px}.x-nbr .x-window-header-default-top-tl,.x-nbr .x-window-header-default-top-bl,.x-nbr .x-window-header-default-top-tr,.x-nbr .x-window-header-default-top-br,.x-nbr .x-window-header-default-top-tc,.x-nbr .x-window-header-default-top-bc,.x-nbr .x-window-header-default-top-ml,.x-nbr .x-window-header-default-top-mr{zoom:1;background-image:url('../../resources/themes/images/default/window-header/window-header-default-top-corners.gif')}.x-nbr .x-window-header-default-top-ml,.x-nbr .x-window-header-default-top-mr{zoom:1;background-image:url('../../resources/themes/images/default/window-header/window-header-default-top-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-window-header-default-top-mc{padding:0 1px 0 1px}.x-strict .x-ie7 .x-window-header-default-top-tl,.x-strict .x-ie7 .x-window-header-default-top-bl{position:relative;right:0}.x-window-header-default-right{-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;-ms-border-top-left-radius:0;-o-border-top-left-radius:0;border-top-left-radius:0;-moz-border-radius-topright:5px;-webkit-border-top-right-radius:5px;-ms-border-top-right-radius:5px;-o-border-top-right-radius:5px;border-top-right-radius:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;-ms-border-bottom-right-radius:5px;-o-border-bottom-right-radius:5px;border-bottom-right-radius:5px;-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;-ms-border-bottom-left-radius:0;-o-border-bottom-left-radius:0;border-bottom-left-radius:0;padding:5px 4px 5px 0;border-width:1px 1px 1px 0;border-style:solid;background-color:#ced9e7}.x-nlg .x-window-header-default-right-mc{background-color:#ced9e7}.x-nbr .x-window-header-default-right{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000005px 1000500px}.x-nbr .x-window-header-default-right-tl,.x-nbr .x-window-header-default-right-bl,.x-nbr .x-window-header-default-right-tr,.x-nbr .x-window-header-default-right-br,.x-nbr .x-window-header-default-right-tc,.x-nbr .x-window-header-default-right-bc,.x-nbr .x-window-header-default-right-ml,.x-nbr .x-window-header-default-right-mr{zoom:1;background-image:url('../../resources/themes/images/default/window-header/window-header-default-right-corners.gif')}.x-nbr .x-window-header-default-right-ml,.x-nbr .x-window-header-default-right-mr{zoom:1;background-image:url('../../resources/themes/images/default/window-header/window-header-default-right-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-window-header-default-right-mc{padding:1px 0 1px 0}.x-strict .x-ie7 .x-window-header-default-right-tl,.x-strict .x-ie7 .x-window-header-default-right-bl{position:relative;right:0}.x-window-header-default-bottom{-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;-ms-border-top-left-radius:0;-o-border-top-left-radius:0;border-top-left-radius:0;-moz-border-radius-topright:0;-webkit-border-top-right-radius:0;-ms-border-top-right-radius:0;-o-border-top-right-radius:0;border-top-right-radius:0;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;-ms-border-bottom-right-radius:5px;-o-border-bottom-right-radius:5px;border-bottom-right-radius:5px;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;-ms-border-bottom-left-radius:5px;-o-border-bottom-left-radius:5px;border-bottom-left-radius:5px;padding:0 5px 4px 5px;border-width:0 1px 1px 1px;border-style:solid;background-color:#ced9e7}.x-nlg .x-window-header-default-bottom-mc{background-color:#ced9e7}.x-nbr .x-window-header-default-bottom{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000000px 1000505px}.x-nbr .x-window-header-default-bottom-tl,.x-nbr .x-window-header-default-bottom-bl,.x-nbr .x-window-header-default-bottom-tr,.x-nbr .x-window-header-default-bottom-br,.x-nbr .x-window-header-default-bottom-tc,.x-nbr .x-window-header-default-bottom-bc,.x-nbr .x-window-header-default-bottom-ml,.x-nbr .x-window-header-default-bottom-mr{zoom:1;background-image:url('../../resources/themes/images/default/window-header/window-header-default-bottom-corners.gif')}.x-nbr .x-window-header-default-bottom-ml,.x-nbr .x-window-header-default-bottom-mr{zoom:1;background-image:url('../../resources/themes/images/default/window-header/window-header-default-bottom-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-window-header-default-bottom-mc{padding:0 1px 0 1px}.x-strict .x-ie7 .x-window-header-default-bottom-tl,.x-strict .x-ie7 .x-window-header-default-bottom-bl{position:relative;right:0}.x-window-header-default-left{-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;-ms-border-top-left-radius:5px;-o-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-topright:0;-webkit-border-top-right-radius:0;-ms-border-top-right-radius:0;-o-border-top-right-radius:0;border-top-right-radius:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;-ms-border-bottom-right-radius:0;-o-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;-ms-border-bottom-left-radius:5px;-o-border-bottom-left-radius:5px;border-bottom-left-radius:5px;padding:5px 0 5px 4px;border-width:1px 0 1px 1px;border-style:solid;background-color:#ced9e7}.x-nlg .x-window-header-default-left-mc{background-color:#ced9e7}.x-nbr .x-window-header-default-left{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000500px 1000005px}.x-nbr .x-window-header-default-left-tl,.x-nbr .x-window-header-default-left-bl,.x-nbr .x-window-header-default-left-tr,.x-nbr .x-window-header-default-left-br,.x-nbr .x-window-header-default-left-tc,.x-nbr .x-window-header-default-left-bc,.x-nbr .x-window-header-default-left-ml,.x-nbr .x-window-header-default-left-mr{zoom:1;background-image:url('../../resources/themes/images/default/window-header/window-header-default-left-corners.gif')}.x-nbr .x-window-header-default-left-ml,.x-nbr .x-window-header-default-left-mr{zoom:1;background-image:url('../../resources/themes/images/default/window-header/window-header-default-left-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-window-header-default-left-mc{padding:1px 0 1px 0}.x-strict .x-ie7 .x-window-header-default-left-tl,.x-strict .x-ie7 .x-window-header-default-left-bl{position:relative;right:0}.x-window-header-default-collapsed-top{-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;-ms-border-top-left-radius:5px;-o-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-topright:5px;-webkit-border-top-right-radius:5px;-ms-border-top-right-radius:5px;-o-border-top-right-radius:5px;border-top-right-radius:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;-ms-border-bottom-right-radius:5px;-o-border-bottom-right-radius:5px;border-bottom-right-radius:5px;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;-ms-border-bottom-left-radius:5px;-o-border-bottom-left-radius:5px;border-bottom-left-radius:5px;padding:4px 5px 4px 5px;border-width:1px;border-style:solid;background-color:#ced9e7}.x-nlg .x-window-header-default-collapsed-top-mc{background-color:#ced9e7}.x-nbr .x-window-header-default-collapsed-top{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000505px 1000505px}.x-nbr .x-window-header-default-collapsed-top-tl,.x-nbr .x-window-header-default-collapsed-top-bl,.x-nbr .x-window-header-default-collapsed-top-tr,.x-nbr .x-window-header-default-collapsed-top-br,.x-nbr .x-window-header-default-collapsed-top-tc,.x-nbr .x-window-header-default-collapsed-top-bc,.x-nbr .x-window-header-default-collapsed-top-ml,.x-nbr .x-window-header-default-collapsed-top-mr{zoom:1;background-image:url('../../resources/themes/images/default/window-header/window-header-default-collapsed-top-corners.gif')}.x-nbr .x-window-header-default-collapsed-top-ml,.x-nbr .x-window-header-default-collapsed-top-mr{zoom:1;background-image:url('../../resources/themes/images/default/window-header/window-header-default-collapsed-top-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-window-header-default-collapsed-top-mc{padding:0 1px 0 1px}.x-strict .x-ie7 .x-window-header-default-collapsed-top-tl,.x-strict .x-ie7 .x-window-header-default-collapsed-top-bl{position:relative;right:0}.x-window-header-default-collapsed-right{-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;-ms-border-top-left-radius:5px;-o-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-topright:5px;-webkit-border-top-right-radius:5px;-ms-border-top-right-radius:5px;-o-border-top-right-radius:5px;border-top-right-radius:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;-ms-border-bottom-right-radius:5px;-o-border-bottom-right-radius:5px;border-bottom-right-radius:5px;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;-ms-border-bottom-left-radius:5px;-o-border-bottom-left-radius:5px;border-bottom-left-radius:5px;padding:5px 4px 5px 4px;border-width:1px;border-style:solid;background-color:#ced9e7}.x-nlg .x-window-header-default-collapsed-right-mc{background-color:#ced9e7}.x-nbr .x-window-header-default-collapsed-right{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000505px 1000505px}.x-nbr .x-window-header-default-collapsed-right-tl,.x-nbr .x-window-header-default-collapsed-right-bl,.x-nbr .x-window-header-default-collapsed-right-tr,.x-nbr .x-window-header-default-collapsed-right-br,.x-nbr .x-window-header-default-collapsed-right-tc,.x-nbr .x-window-header-default-collapsed-right-bc,.x-nbr .x-window-header-default-collapsed-right-ml,.x-nbr .x-window-header-default-collapsed-right-mr{zoom:1;background-image:url('../../resources/themes/images/default/window-header/window-header-default-collapsed-right-corners.gif')}.x-nbr .x-window-header-default-collapsed-right-ml,.x-nbr .x-window-header-default-collapsed-right-mr{zoom:1;background-image:url('../../resources/themes/images/default/window-header/window-header-default-collapsed-right-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-window-header-default-collapsed-right-mc{padding:1px 0 1px 0}.x-strict .x-ie7 .x-window-header-default-collapsed-right-tl,.x-strict .x-ie7 .x-window-header-default-collapsed-right-bl{position:relative;right:0}.x-window-header-default-collapsed-bottom{-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;-ms-border-top-left-radius:5px;-o-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-topright:5px;-webkit-border-top-right-radius:5px;-ms-border-top-right-radius:5px;-o-border-top-right-radius:5px;border-top-right-radius:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;-ms-border-bottom-right-radius:5px;-o-border-bottom-right-radius:5px;border-bottom-right-radius:5px;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;-ms-border-bottom-left-radius:5px;-o-border-bottom-left-radius:5px;border-bottom-left-radius:5px;padding:4px 5px 4px 5px;border-width:1px;border-style:solid;background-color:#ced9e7}.x-nlg .x-window-header-default-collapsed-bottom-mc{background-color:#ced9e7}.x-nbr .x-window-header-default-collapsed-bottom{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000505px 1000505px}.x-nbr .x-window-header-default-collapsed-bottom-tl,.x-nbr .x-window-header-default-collapsed-bottom-bl,.x-nbr .x-window-header-default-collapsed-bottom-tr,.x-nbr .x-window-header-default-collapsed-bottom-br,.x-nbr .x-window-header-default-collapsed-bottom-tc,.x-nbr .x-window-header-default-collapsed-bottom-bc,.x-nbr .x-window-header-default-collapsed-bottom-ml,.x-nbr .x-window-header-default-collapsed-bottom-mr{zoom:1;background-image:url('../../resources/themes/images/default/window-header/window-header-default-collapsed-bottom-corners.gif')}.x-nbr .x-window-header-default-collapsed-bottom-ml,.x-nbr .x-window-header-default-collapsed-bottom-mr{zoom:1;background-image:url('../../resources/themes/images/default/window-header/window-header-default-collapsed-bottom-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-window-header-default-collapsed-bottom-mc{padding:0 1px 0 1px}.x-strict .x-ie7 .x-window-header-default-collapsed-bottom-tl,.x-strict .x-ie7 .x-window-header-default-collapsed-bottom-bl{position:relative;right:0}.x-window-header-default-collapsed-left{-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;-ms-border-top-left-radius:5px;-o-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-topright:5px;-webkit-border-top-right-radius:5px;-ms-border-top-right-radius:5px;-o-border-top-right-radius:5px;border-top-right-radius:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;-ms-border-bottom-right-radius:5px;-o-border-bottom-right-radius:5px;border-bottom-right-radius:5px;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;-ms-border-bottom-left-radius:5px;-o-border-bottom-left-radius:5px;border-bottom-left-radius:5px;padding:5px 4px 5px 4px;border-width:1px;border-style:solid;background-color:#ced9e7}.x-nlg .x-window-header-default-collapsed-left-mc{background-color:#ced9e7}.x-nbr .x-window-header-default-collapsed-left{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000505px 1000505px}.x-nbr .x-window-header-default-collapsed-left-tl,.x-nbr .x-window-header-default-collapsed-left-bl,.x-nbr .x-window-header-default-collapsed-left-tr,.x-nbr .x-window-header-default-collapsed-left-br,.x-nbr .x-window-header-default-collapsed-left-tc,.x-nbr .x-window-header-default-collapsed-left-bc,.x-nbr .x-window-header-default-collapsed-left-ml,.x-nbr .x-window-header-default-collapsed-left-mr{zoom:1;background-image:url('../../resources/themes/images/default/window-header/window-header-default-collapsed-left-corners.gif')}.x-nbr .x-window-header-default-collapsed-left-ml,.x-nbr .x-window-header-default-collapsed-left-mr{zoom:1;background-image:url('../../resources/themes/images/default/window-header/window-header-default-collapsed-left-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-window-header-default-collapsed-left-mc{padding:1px 0 1px 0}.x-strict .x-ie7 .x-window-header-default-collapsed-left-tl,.x-strict .x-ie7 .x-window-header-default-collapsed-left-bl{position:relative;right:0}.x-window-header-default-top{-webkit-box-shadow:#ecf2fb 0 1px 0 0 inset,#ecf2fb -1px 0 0 0 inset,#ecf2fb 1px 0 0 0 inset;-moz-box-shadow:#ecf2fb 0 1px 0 0 inset,#ecf2fb -1px 0 0 0 inset,#ecf2fb 1px 0 0 0 inset;box-shadow:#ecf2fb 0 1px 0 0 inset,#ecf2fb -1px 0 0 0 inset,#ecf2fb 1px 0 0 0 inset}.x-window-header-default-right{-webkit-box-shadow:#ecf2fb 0 1px 0 0 inset,#ecf2fb 0 -1px 0 0 inset,#ecf2fb -1px 0 0 0 inset;-moz-box-shadow:#ecf2fb 0 1px 0 0 inset,#ecf2fb 0 -1px 0 0 inset,#ecf2fb -1px 0 0 0 inset;box-shadow:#ecf2fb 0 1px 0 0 inset,#ecf2fb 0 -1px 0 0 inset,#ecf2fb -1px 0 0 0 inset}.x-window-header-default-bottom{-webkit-box-shadow:#ecf2fb 0 -1px 0 0 inset,#ecf2fb -1px 0 0 0 inset,#ecf2fb 1px 0 0 0 inset;-moz-box-shadow:#ecf2fb 0 -1px 0 0 inset,#ecf2fb -1px 0 0 0 inset,#ecf2fb 1px 0 0 0 inset;box-shadow:#ecf2fb 0 -1px 0 0 inset,#ecf2fb -1px 0 0 0 inset,#ecf2fb 1px 0 0 0 inset}.x-window-header-default-left{-webkit-box-shadow:#ecf2fb 0 1px 0 0 inset,#ecf2fb 0 -1px 0 0 inset,#ecf2fb 1px 0 0 0 inset;-moz-box-shadow:#ecf2fb 0 1px 0 0 inset,#ecf2fb 0 -1px 0 0 inset,#ecf2fb 1px 0 0 0 inset;box-shadow:#ecf2fb 0 1px 0 0 inset,#ecf2fb 0 -1px 0 0 inset,#ecf2fb 1px 0 0 0 inset}.x-window-body-plain{background:transparent}.x-message-box .x-window-body{background-color:#ced9e7;border:0}.x-message-box .x-progress-wrap{margin-top:4px}.x-message-box-icon{width:47px;height:32px}.x-message-box-info,.x-message-box-warning,.x-message-box-question,.x-message-box-error{background:transparent no-repeat top left}.x-message-box .x-msg-box-wait{background-image:url('../../resources/themes/images/default/shared/blue-loading.gif')}.x-message-box-info{background-image:url('../../resources/themes/images/default/shared/icon-info.gif')}.x-message-box-warning{background-image:url('../../resources/themes/images/default/shared/icon-warning.gif')}.x-message-box-question{background-image:url('../../resources/themes/images/default/shared/icon-question.gif')}.x-message-box-error{background-image:url('../../resources/themes/images/default/shared/icon-error.gif')}.x-tab-bar{position:relative;background-color:transparent;background-image:none;background-color:#cbdbef;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#dde8f5),color-stop(100%,#cbdbef));background-image:-webkit-linear-gradient(top,#dde8f5,#cbdbef);background-image:-moz-linear-gradient(top,#dde8f5,#cbdbef);background-image:-o-linear-gradient(top,#dde8f5,#cbdbef);background-image:-ms-linear-gradient(top,#dde8f5,#cbdbef);background-image:linear-gradient(top,#dde8f5,#cbdbef);font-size:11px}.x-nlg .x-tab-bar{background-image:url('../../resources/themes/images/default/tab-bar/tab-bar-default-bg.gif')}.x-tab-bar-default-plain,.x-nlg .x-tab-bar-default-plain{background:transparent none}.x-tab-bar-body{border-style:solid;border-color:#99bce8;position:relative;z-index:2;zoom:1}.x-tab-bar-top .x-tab-bar-body{height:20px;border-width:1px 1px 0;padding:1px 0 3px}.x-tab-bar-top .x-tab-bar-strip{top:22px;border-width:1px 1px 0;height:2px}.x-border-box .x-tab-bar-top .x-tab-bar-body{height:25px}.x-border-box .x-tab-bar-top .x-tab-bar-strip{height:3px}.x-tab-bar-top .x-tab-bar-body-default-plain{height:20px;border-width:0;padding:0 0 2px}.x-tab-bar-top .x-tab-bar-strip-default-plain{top:20px;border-width:1px 1px 0 1px;height:2px}.x-border-box .x-tab-bar-top .x-tab-bar-body-default-plain{height:22px}.x-border-box .x-tab-bar-top .x-tab-bar-strip-default-plain{height:3px}.x-tab-bar-bottom .x-tab-bar-body{height:20px;border-width:0 1px 1px;padding:3px 0 1px}.x-tab-bar-bottom .x-tab-bar-body .x-box-inner{position:relative;top:-1px}.x-tab-bar-bottom .x-tab-bar-body .x-box-scroller,.x-tab-bar-bottom .x-tab-bar-body .x-box-scroller-left,.x-tab-bar-bottom .x-tab-bar-body .x-box-scroller-right{height:22px}.x-tab-bar-bottom .x-tab-bar-strip{top:0;border-width:0 1px 1px 1px;height:2px}.x-border-box .x-tab-bar-bottom .x-tab-bar-body{height:25px}.x-border-box .x-tab-bar-bottom .x-tab-bar-strip{height:3px}.x-tab-bar-bottom .x-tab-bar-body-default-plain{height:20px;border-width:0;padding:3px 0 0}.x-tab-bar-bottom .x-tab-bar-body-default-plain .x-box-inner{position:relative;top:-1px}.x-tab-bar-bottom .x-tab-bar-body-default-plain .x-box-scroller,.x-tab-bar-bottom .x-tab-bar-body-default-plain .x-box-scroller-left,.x-tab-bar-bottom .x-tab-bar-body-default-plain .x-box-scroller-right{height:21px}.x-tab-bar-bottom .x-tab-bar-strip-default-plain{top:0;border-width:0 1px 1px 1px;height:2px}.x-border-box .x-tab-bar-bottom .x-tab-bar-body-default-plain{height:23px}.x-border-box .x-tab-bar-bottom .x-tab-bar-strip-default-plain{height:3px}.x-tab-bar-strip-default,.x-tab-bar-strip-default-plain{font-size:0;line-height:0;position:absolute;z-index:1;border-style:solid;overflow:hidden;border-color:#99bce8;background-color:#deecfd;zoom:1}.x-tab-default-top{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-ms-border-top-left-radius:4px;-o-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-ms-border-top-right-radius:4px;-o-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;-ms-border-bottom-right-radius:0;-o-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;-ms-border-bottom-left-radius:0;-o-border-bottom-left-radius:0;border-bottom-left-radius:0;padding:3px 3px 0 3px;border-width:1px 1px 0 1px;border-style:solid;background-image:none;background-color:#deecfd;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#ccdef6),color-stop(25%,#d6e6fa),color-stop(45%,#deecfd));background-image:-webkit-linear-gradient(top,#ccdef6,#d6e6fa 25%,#deecfd 45%);background-image:-moz-linear-gradient(top,#ccdef6,#d6e6fa 25%,#deecfd 45%);background-image:-o-linear-gradient(top,#ccdef6,#d6e6fa 25%,#deecfd 45%);background-image:-ms-linear-gradient(top,#ccdef6,#d6e6fa 25%,#deecfd 45%);background-image:linear-gradient(top,#ccdef6,#d6e6fa 25%,#deecfd 45%)}.x-nlg .x-tab-default-top-mc{background-image:url('../../resources/themes/images/default/tab/tab-default-top-bg.gif');background-color:#deecfd}.x-nbr .x-tab-default-top{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1100404px 1000000px}.x-nbr .x-tab-default-top-tl,.x-nbr .x-tab-default-top-bl,.x-nbr .x-tab-default-top-tr,.x-nbr .x-tab-default-top-br,.x-nbr .x-tab-default-top-tc,.x-nbr .x-tab-default-top-bc,.x-nbr .x-tab-default-top-ml,.x-nbr .x-tab-default-top-mr{zoom:1;background-image:url('../../resources/themes/images/default/tab/tab-default-top-corners.gif')}.x-nbr .x-tab-default-top-ml,.x-nbr .x-tab-default-top-mr{zoom:1;background-image:url('../../resources/themes/images/default/tab/tab-default-top-sides.gif');background-position:0 0}.x-nbr .x-tab-default-top-mc{padding:0}.x-strict .x-ie7 .x-tab-default-top-tl,.x-strict .x-ie7 .x-tab-default-top-bl{position:relative;right:0}.x-tab-default-bottom{-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;-ms-border-top-left-radius:0;-o-border-top-left-radius:0;border-top-left-radius:0;-moz-border-radius-topright:0;-webkit-border-top-right-radius:0;-ms-border-top-right-radius:0;-o-border-top-right-radius:0;border-top-right-radius:0;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-ms-border-bottom-right-radius:4px;-o-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-ms-border-bottom-left-radius:4px;-o-border-bottom-left-radius:4px;border-bottom-left-radius:4px;padding:0 3px 3px 3px;border-width:0 1px 1px 1px;border-style:solid;background-image:none;background-color:#deecfd;background-image:-webkit-gradient(linear,50% 100%,50% 0,color-stop(0%,#ccdef6),color-stop(25%,#d6e6fa),color-stop(45%,#deecfd));background-image:-webkit-linear-gradient(bottom,#ccdef6,#d6e6fa 25%,#deecfd 45%);background-image:-moz-linear-gradient(bottom,#ccdef6,#d6e6fa 25%,#deecfd 45%);background-image:-o-linear-gradient(bottom,#ccdef6,#d6e6fa 25%,#deecfd 45%);background-image:-ms-linear-gradient(bottom,#ccdef6,#d6e6fa 25%,#deecfd 45%);background-image:linear-gradient(bottom,#ccdef6,#d6e6fa 25%,#deecfd 45%)}.x-nlg .x-tab-default-bottom-mc{background-image:url('../../resources/themes/images/default/tab/tab-default-bottom-bg.gif');background-color:#deecfd}.x-nbr .x-tab-default-bottom{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1100000px 1000404px}.x-nbr .x-tab-default-bottom-tl,.x-nbr .x-tab-default-bottom-bl,.x-nbr .x-tab-default-bottom-tr,.x-nbr .x-tab-default-bottom-br,.x-nbr .x-tab-default-bottom-tc,.x-nbr .x-tab-default-bottom-bc,.x-nbr .x-tab-default-bottom-ml,.x-nbr .x-tab-default-bottom-mr{zoom:1;background-image:url('../../resources/themes/images/default/tab/tab-default-bottom-corners.gif')}.x-nbr .x-tab-default-bottom-ml,.x-nbr .x-tab-default-bottom-mr{zoom:1;background-image:url('../../resources/themes/images/default/tab/tab-default-bottom-sides.gif');background-position:0 0}.x-nbr .x-tab-default-bottom-mc{padding:0}.x-strict .x-ie7 .x-tab-default-bottom-tl,.x-strict .x-ie7 .x-tab-default-bottom-bl{position:relative;right:0}.x-tab{z-index:1;margin:0 0 0 2px;display:inline-block;zoom:1;*display:inline;white-space:nowrap;height:20px;border-color:#8db3e3;cursor:pointer;cursor:hand}.x-tab button{cursor:pointer;cursor:hand}.x-tab em{display:block;padding:0 6px;line-height:1px}.x-tab button{background:0;border:0;padding:0;margin:0;-webkit-appearance:none;font-size:11px;font-weight:bold;font-family:tahoma,arial,verdana,sans-serif;color:#416da3;outline:0 none;overflow-x:visible}.x-tab button::-moz-focus-inner{border:0;padding:0}.x-tab button .x-tab-inner{background-color:transparent;background-repeat:no-repeat;background-position:0 -2px;display:block;text-align:center;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis;overflow:hidden}.x-tab img{display:none}.x-border-box .x-tab-default-top{height:21px}.x-border-box .x-tab-default-bottom{height:21px}* html .x-ie .x-tab button{width:1px}.x-strict .x-ie6 .x-tab .x-frame-mc,.x-strict .x-ie7 .x-tab .x-frame-mc{height:100%}.x-ie .x-tab-active button:active{position:relative;top:-1px;left:-1px}.x-tab-default-top{-webkit-box-shadow:white 0 1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;-moz-box-shadow:white 0 1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;box-shadow:white 0 1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;border-bottom:1px solid #99bce8!important}.x-tab-default-top em{padding-bottom:3px}.x-tab-default-top button,.x-tab-default-top .x-tab-inner{height:13px;line-height:13px}.x-safari4 .x-tab-default-top .x-tab-inner,.x-safari5_0 .x-tab-default-top .x-tab-inner{line-height:11px}.x-nbr .x-tab-default-top{border-bottom-width:1px!important}.x-tab-default-top-active{border-bottom-color:#deecfd!important}.x-tab-default-bottom{-webkit-box-shadow:white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;-moz-box-shadow:white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;box-shadow:white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;border-top:1px solid #99bce8!important;-webkit-box-shadow:white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;-moz-box-shadow:white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;box-shadow:white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset}.x-tab-default-bottom em{padding-top:3px}.x-tab-default-bottom button,.x-tab-default-bottom .x-tab-inner{height:13px;line-height:13px}.x-nbr .x-tab-default-bottom{border-top-width:1px!important}.x-tab-default-bottom-active{border-top-color:#deecfd!important}.x-tab-default-disabled{cursor:default;border-color:#bbd2ef;background-image:none;background-color:#e1ecfa;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#e1ecfa),color-stop(100%,#ecf4fe));background-image:-webkit-linear-gradient(top,#e1ecfa,#ecf4fe);background-image:-moz-linear-gradient(top,#e1ecfa,#ecf4fe);background-image:-o-linear-gradient(top,#e1ecfa,#ecf4fe);background-image:-ms-linear-gradient(top,#e1ecfa,#ecf4fe);background-image:linear-gradient(top,#e1ecfa,#ecf4fe)}.x-tab-default-disabled button{color:#c3b3b3!important}.x-tab-icon-text-left .x-tab-inner{padding-left:20px}.x-tab button{position:relative}.x-tab-icon{position:absolute;background-repeat:no-repeat;background-position:0 -1px;top:0;left:0;right:auto;bottom:0;width:18px;height:18px}.x-strict .x-ie8 .x-tab button,.x-strict .x-ie9 .x-tab button{overflow-y:visible}.x-tab-default-disabled .x-tab-icon{filter:alpha(opacity=50);opacity:.5}.x-tab-noicon .x-tab-icon{display:none}.x-tab-top-over{background-image:none;background-color:#e8f2ff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#d7e5fd),color-stop(25%,#e0edff),color-stop(45%,#e8f2ff));background-image:-webkit-linear-gradient(top,#d7e5fd,#e0edff 25%,#e8f2ff 45%);background-image:-moz-linear-gradient(top,#d7e5fd,#e0edff 25%,#e8f2ff 45%);background-image:-o-linear-gradient(top,#d7e5fd,#e0edff 25%,#e8f2ff 45%);background-image:-ms-linear-gradient(top,#d7e5fd,#e0edff 25%,#e8f2ff 45%);background-image:linear-gradient(top,#d7e5fd,#e0edff 25%,#e8f2ff 45%)}.x-tab-bottom-over{background-image:none;background-color:#e8f2ff;background-image:-webkit-gradient(linear,50% 100%,50% 0,color-stop(0%,#d7e5fd),color-stop(25%,#e0edff),color-stop(45%,#e8f2ff));background-image:-webkit-linear-gradient(bottom,#d7e5fd,#e0edff 25%,#e8f2ff 45%);background-image:-moz-linear-gradient(bottom,#d7e5fd,#e0edff 25%,#e8f2ff 45%);background-image:-o-linear-gradient(bottom,#d7e5fd,#e0edff 25%,#e8f2ff 45%);background-image:-ms-linear-gradient(bottom,#d7e5fd,#e0edff 25%,#e8f2ff 45%);background-image:linear-gradient(bottom,#d7e5fd,#e0edff 25%,#e8f2ff 45%)}.x-tab-active{z-index:3}.x-tab-active button{color:#15498b}.x-tab-top-active{background-image:none;background-color:#deecfd;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(25%,#f5f9fe),color-stop(45%,#deecfd));background-image:-webkit-linear-gradient(top,#fff,#f5f9fe 25%,#deecfd 45%);background-image:-moz-linear-gradient(top,#fff,#f5f9fe 25%,#deecfd 45%);background-image:-o-linear-gradient(top,#fff,#f5f9fe 25%,#deecfd 45%);background-image:-ms-linear-gradient(top,#fff,#f5f9fe 25%,#deecfd 45%);background-image:linear-gradient(top,#fff,#f5f9fe 25%,#deecfd 45%)}.x-tab-bottom-active{background-image:none;background-color:#deecfd;background-image:-webkit-gradient(linear,50% 100%,50% 0,color-stop(0%,#fff),color-stop(25%,#f5f9fe),color-stop(45%,#deecfd));background-image:-webkit-linear-gradient(bottom,#fff,#f5f9fe 25%,#deecfd 45%);background-image:-moz-linear-gradient(bottom,#fff,#f5f9fe 25%,#deecfd 45%);background-image:-o-linear-gradient(bottom,#fff,#f5f9fe 25%,#deecfd 45%);background-image:-ms-linear-gradient(bottom,#fff,#f5f9fe 25%,#deecfd 45%);background-image:linear-gradient(bottom,#fff,#f5f9fe 25%,#deecfd 45%)}.x-tab-disabled{border-color:#bbd2ef}.x-tab-disabled button{color:#c3b3b3}.x-tab-top-disabled{background-image:none;background:transparent;background-image:none;background-color:#e1ecfa;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#e1ecfa),color-stop(100%,#ecf4fe));background-image:-webkit-linear-gradient(top,#e1ecfa,#ecf4fe);background-image:-moz-linear-gradient(top,#e1ecfa,#ecf4fe);background-image:-o-linear-gradient(top,#e1ecfa,#ecf4fe);background-image:-ms-linear-gradient(top,#e1ecfa,#ecf4fe);background-image:linear-gradient(top,#e1ecfa,#ecf4fe)}.x-tab-bottom-disabled{background-image:none;background:transparent;background-image:none;background-color:#e1ecfa;background-image:-webkit-gradient(linear,50% 100%,50% 0,color-stop(0%,#e1ecfa),color-stop(100%,#ecf4fe));background-image:-webkit-linear-gradient(bottom,#e1ecfa,#ecf4fe);background-image:-moz-linear-gradient(bottom,#e1ecfa,#ecf4fe);background-image:-o-linear-gradient(bottom,#e1ecfa,#ecf4fe);background-image:-ms-linear-gradient(bottom,#e1ecfa,#ecf4fe);background-image:linear-gradient(bottom,#e1ecfa,#ecf4fe)}.x-nlg .x-tab-top{background-image:url('../../resources/themes/images/default/tab/tab-default-top-bg.gif')}.x-nlg .x-tab-bottom{background-image:url('../../resources/themes/images/default/tab/tab-default-bottom-bg.gif')}.x-nlg .x-tab-top-over{background-image:url('../../resources/themes/images/default/tab/tab-default-top-over-bg.gif')}.x-nlg .x-tab-bottom-over{background-image:url('../../resources/themes/images/default/tab/tab-default-bottom-over-bg.gif')}.x-nlg .x-tab-top-active{background-image:url('../../resources/themes/images/default/tab/tab-default-top-active-bg.gif')}.x-nlg .x-tab-bottom-active{background-image:url('../../resources/themes/images/default/tab/tab-default-bottom-active-bg.gif')}.x-nlg .x-tab-top-disabled{background-image:url('../../resources/themes/images/default/tab/tab-default-top-disabled-bg.gif')!important}.x-nlg .x-tab-bottom-disabled{background-image:url('../../resources/themes/images/default/tab/tab-default-bottom-disabled-bg.gif')!important}.x-tab-closable em{padding-right:14px}.x-tab-close-btn{position:absolute;top:2px;right:2px;width:11px;height:11px;font-size:0;line-height:0;text-indent:-999px;background:no-repeat;background-image:url('../../resources/themes/images/default/tab/tab-default-close.gif');filter:alpha(opacity=60);opacity:.6}.x-nbr .x-tab-close-btn{top:0;right:0}a.x-tab-close-btn:hover{filter:alpha(opacity=100);opacity:1}.x-tab-default-disabled a.x-tab-close-btn{filter:alpha(opacity=30);opacity:.3}.x-nbr .x-tab-top-over .x-frame-tl,.x-nbr .x-tab-top-over .x-frame-bl,.x-nbr .x-tab-top-over .x-frame-tr,.x-nbr .x-tab-top-over .x-frame-br,.x-nbr .x-tab-top-over .x-frame-tc,.x-nbr .x-tab-top-over .x-frame-bc{background-image:url('../../resources/themes/images/default/tab/tab-default-top-over-corners.gif')}.x-nbr .x-tab-top-over .x-frame-ml,.x-nbr .x-tab-top-over .x-frame-mr{background-image:url('../../resources/themes/images/default/tab/tab-default-top-over-sides.gif')}.x-nbr .x-tab-top-over .x-frame-mc{background-color:#e8f2ff;background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/tab/tab-default-top-over-bg.gif')}.x-nbr .x-tab-bottom-over .x-frame-tl,.x-nbr .x-tab-bottom-over .x-frame-bl,.x-nbr .x-tab-bottom-over .x-frame-tr,.x-nbr .x-tab-bottom-over .x-frame-br,.x-nbr .x-tab-bottom-over .x-frame-tc,.x-nbr .x-tab-bottom-over .x-frame-bc{background-image:url('../../resources/themes/images/default/tab/tab-default-bottom-over-corners.gif')}.x-nbr .x-tab-bottom-over .x-frame-ml,.x-nbr .x-tab-bottom-over .x-frame-mr{background-image:url('../../resources/themes/images/default/tab/tab-default-bottom-over-sides.gif')}.x-nbr .x-tab-bottom-over .x-frame-mc{background-color:#e8f2ff;background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/tab/tab-default-bottom-over-bg.gif')}.x-nbr .x-tab-top-active .x-frame-tl,.x-nbr .x-tab-top-active .x-frame-bl,.x-nbr .x-tab-top-active .x-frame-tr,.x-nbr .x-tab-top-active .x-frame-br,.x-nbr .x-tab-top-active .x-frame-tc,.x-nbr .x-tab-top-active .x-frame-bc{background-image:url('../../resources/themes/images/default/tab/tab-default-top-active-corners.gif')}.x-nbr .x-tab-top-active .x-frame-ml,.x-nbr .x-tab-top-active .x-frame-mr{background-image:url('../../resources/themes/images/default/tab/tab-default-top-active-sides.gif')}.x-nbr .x-tab-top-active .x-frame-mc{background-color:#deecfd;background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/tab/tab-default-top-active-bg.gif')}.x-nbr .x-tab-bottom-active .x-frame-tl,.x-nbr .x-tab-bottom-active .x-frame-bl,.x-nbr .x-tab-bottom-active .x-frame-tr,.x-nbr .x-tab-bottom-active .x-frame-br,.x-nbr .x-tab-bottom-active .x-frame-tc,.x-nbr .x-tab-bottom-active .x-frame-bc{background-image:url('../../resources/themes/images/default/tab/tab-default-bottom-active-corners.gif')}.x-nbr .x-tab-bottom-active .x-frame-ml,.x-nbr .x-tab-bottom-active .x-frame-mr{background-image:url('../../resources/themes/images/default/tab/tab-default-bottom-active-sides.gif')}.x-nbr .x-tab-bottom-active .x-frame-mc{background-color:#deecfd;background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/tab/tab-default-bottom-active-bg.gif')}.x-nbr .x-tab-top-disabled .x-frame-tl,.x-nbr .x-tab-top-disabled .x-frame-bl,.x-nbr .x-tab-top-disabled .x-frame-tr,.x-nbr .x-tab-top-disabled .x-frame-br,.x-nbr .x-tab-top-disabled .x-frame-tc,.x-nbr .x-tab-top-disabled .x-frame-bc{background-image:url('../../resources/themes/images/default/tab/tab-default-top-disabled-corners.gif')}.x-nbr .x-tab-top-disabled .x-frame-ml,.x-nbr .x-tab-top-disabled .x-frame-mr{background-image:url('../../resources/themes/images/default/tab/tab-default-top-disabled-sides.gif')}.x-nbr .x-tab-top-disabled .x-frame-mc{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/tab/tab-default-top-disabled-bg.gif')}.x-nbr .x-tab-bottom-disabled .x-frame-tl,.x-nbr .x-tab-bottom-disabled .x-frame-bl,.x-nbr .x-tab-bottom-disabled .x-frame-tr,.x-nbr .x-tab-bottom-disabled .x-frame-br,.x-nbr .x-tab-bottom-disabled .x-frame-tc,.x-nbr .x-tab-bottom-disabled .x-frame-bc{background-image:url('../../resources/themes/images/default/tab/tab-default-bottom-disabled-corners.gif')}.x-nbr .x-tab-bottom-disabled .x-frame-ml,.x-nbr .x-tab-bottom-disabled .x-frame-mr{background-image:url('../../resources/themes/images/default/tab/tab-default-bottom-disabled-sides.gif')}.x-nbr .x-tab-bottom-disabled .x-frame-mc{background-repeat:repeat-x;background-image:url('../../resources/themes/images/default/tab/tab-default-bottom-disabled-bg.gif')}.x-autowidth-table table.x-grid-table{table-layout:auto;width:auto!important}.x-tree-no-lines .x-tree-elbow{background-color:transparent}.x-tree-no-lines .x-tree-elbow-end{background-color:transparent}.x-tree-no-lines .x-tree-elbow-line{background-color:transparent}.x-tree-arrows .x-tree-elbow-plus{background:transparent no-repeat 0 0}.x-tree-arrows .x-tree-elbow-end-plus{background:transparent no-repeat 0 0}.x-tree-arrows .x-tree-elbow-end-minus{background:transparent no-repeat -16px 0}.x-tree-arrows .x-tree-elbow-minus{background:transparent no-repeat -16px 0}.x-tree-arrows .x-tree-elbow{background-color:transparent!important}.x-tree-arrows .x-tree-elbow-end{background-color:transparent!important}.x-tree-arrows .x-tree-elbow-line{background-color:transparent!important}.x-tree-arrows .x-tree-expander-over .x-tree-elbow-plus,.x-tree-arrows .x-tree-expander-over .x-tree-elbow-end-plus{background-position:-32px 0}.x-tree-arrows .x-tree-expander-over .x-tree-elbow-minus,.x-tree-arrows .x-tree-expander-over .x-tree-elbow-end-minus{background-position:-48px 0}.x-tree-arrows .x-grid-tree-node-expanded .x-tree-elbow-plus,.x-tree-arrows .x-grid-tree-node-expanded .x-tree-elbow-end-plus{background-position:-16px 0}.x-tree-arrows .x-grid-tree-node-expanded .x-tree-expander-over .x-tree-elbow-plus,.x-tree-arrows .x-grid-tree-node-expanded .x-tree-expander-over .x-tree-elbow-end-plus{background-position:-48px 0}.x-tree-elbow-plus,.x-tree-elbow-minus,.x-tree-elbow-end-plus,.x-tree-elbow-end-minus{cursor:pointer}.x-tree-lines .x-tree-elbow{background-image:url('../../resources/themes/images/default/tree/elbow.gif')}.x-tree-lines .x-tree-elbow-end{background-image:url('../../resources/themes/images/default/tree/elbow-end.gif')}.x-tree-lines .x-tree-elbow-plus{background-image:url('../../resources/themes/images/default/tree/elbow-plus.gif')}.x-tree-lines .x-tree-elbow-end-plus{background-image:url('../../resources/themes/images/default/tree/elbow-end-plus.gif')}.x-tree-lines .x-grid-tree-node-expanded .x-tree-elbow-plus{background-image:url('../../resources/themes/images/default/tree/elbow-minus.gif')}.x-tree-lines .x-grid-tree-node-expanded .x-tree-elbow-end-plus{background-image:url('../../resources/themes/images/default/tree/elbow-end-minus.gif')}.x-tree-lines .x-tree-elbow-line{background-image:url('../../resources/themes/images/default/tree/elbow-line.gif')}.x-tree-no-lines .x-tree-elbow-plus,.x-tree-no-lines .x-tree-elbow-end-plus{background-image:url('../../resources/themes/images/default/tree/elbow-plus-nl.gif')}.x-tree-no-lines .x-grid-tree-node-expanded .x-tree-elbow-plus,.x-tree-no-lines .x-grid-tree-node-expanded .x-tree-elbow-end-plus{background-image:url('../../resources/themes/images/default/tree/elbow-end-minus-nl.gif')}.x-tree-arrows .x-tree-elbow-plus,.x-tree-arrows .x-tree-elbow-minus,.x-tree-arrows .x-tree-elbow-end-plus,.x-tree-arrows .x-tree-elbow-end-minus{background-image:url('../../resources/themes/images/default/tree/arrows.gif')}.x-tree-icon{margin:2px 3px 0 0}.x-grid-with-row-lines .x-tree-icon{margin-top:1px}.x-tree-elbow,.x-tree-elbow-end,.x-tree-elbow-plus,.x-tree-elbow-end-plus,.x-tree-elbow-empty,.x-tree-elbow-line{height:20px;width:16px}.x-grid-with-row-lines .x-tree-elbow,.x-grid-with-row-lines .x-tree-elbow-end,.x-grid-with-row-lines .x-tree-elbow-plus,.x-grid-with-row-lines .x-tree-elbow-end-plus,.x-grid-with-row-lines .x-tree-elbow-empty,.x-grid-with-row-lines .x-tree-elbow-line{height:19px;background-position:0 -1px}.x-tree-icon-leaf{width:16px;background-image:url('../../resources/themes/images/default/tree/leaf.gif')}.x-tree-icon-parent{width:16px;background-image:url('../../resources/themes/images/default/tree/folder.gif')}.x-grid-tree-node-expanded .x-tree-icon-parent{background-image:url('../../resources/themes/images/default/tree/folder-open.gif')}.x-grid-rowbody{padding:0}.x-grid-cell-treecolumn .x-grid-cell-inner{padding:0;line-height:19px}.x-grid-with-row-lines .x-grid-cell-treecolumn .x-grid-cell-inner{line-height:17px}.x-tree-panel .x-grid-cell-inner{cursor:pointer}.x-tree-panel .x-grid-cell-inner img{display:inline-block;vertical-align:top}.x-ie .x-tree-panel .x-tree-elbow,.x-ie .x-tree-panel .x-tree-elbow-end,.x-ie .x-tree-panel .x-tree-elbow-plus,.x-ie .x-tree-panel .x-tree-elbow-end-plus,.x-ie .x-tree-panel .x-tree-elbow-empty,.x-ie .x-tree-panel .x-tree-elbow-line{vertical-align:-6px}.x-grid-editor-on-text-node .x-form-text{padding-left:1px;padding-right:1px}.x-ie .x-grid-editor-on-text-node .x-form-text{padding-left:2px;padding-right:2px}.x-opera .x-grid-editor-on-text-node .x-form-text{padding-left:2px;padding-right:2px}.x-tree-checkbox{margin:4px 3px 0 0;display:inline-block;vertical-align:top;width:13px;height:13px;background:no-repeat;background-image:url('../../resources/themes/images/default/form/checkbox.gif');overflow:hidden;padding:0;border:0}.x-tree-checkbox::-moz-focus-inner{padding:0;border:0}.x-grid-with-row-lines .x-tree-checkbox{margin-top:3px}.x-tree-checkbox-checked{background-position:0 -13px}.x-tree-drop-ok-append .x-dd-drop-icon{background-image:url('../../resources/themes/images/default/tree/drop-append.gif')}.x-tree-drop-ok-above .x-dd-drop-icon{background-image:url('../../resources/themes/images/default/tree/drop-above.gif')}.x-tree-drop-ok-below .x-dd-drop-icon{background-image:url('../../resources/themes/images/default/tree/drop-below.gif')}.x-tree-drop-ok-between .x-dd-drop-icon{background-image:url('../../resources/themes/images/default/tree/drop-between.gif')}.x-grid-tree-loading .x-tree-icon{background-image:url('../../resources/themes/images/default/tree/loading.gif')}.x-tree-ddindicator{height:1px;border-width:1px 0 0;border-style:dotted;border-color:green}.x-grid-tree-loading span{font-style:italic;color:#444}.x-tree-animator-wrap{overflow:hidden}.x-surface{display:-moz-inline-box;-moz-box-orient:vertical;display:inline-block;vertical-align:middle;*vertical-align:auto;overflow:hidden}.x-surface{*display:inline}.rvml{behavior:url(#default#VML)}.x-surface tspan{user-select:none;-o-user-select:none;-ms-user-select:none;-moz-user-select:-moz-none;-webkit-user-select:none;cursor:default}.x-vml-sprite{position:absolute;left:0;top:0;width:1px;height:1px}.x-vml-group{position:absolute;left:0;top:0;width:1000px;height:1000px}.x-vml-measure-span{position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;display:inline}.x-vml-base{position:relative;top:0;left:0;overflow:hidden;display:inline-block}.x-vml-base{position:relative;top:0;left:0;overflow:hidden;display:inline-block}svg,vml{overflow:hidden}.x-viewport,.x-viewport body{margin:0;padding:0;border:0 none;overflow:hidden;height:100%;position:static}.x-dd-drag-proxy{z-index:1000000!important}.x-dd-drag-repair .x-dd-drag-ghost{filter:alpha(opacity=60);opacity:.6}.x-dd-drag-repair .x-dd-drop-icon{display:none}.x-dd-drag-ghost{filter:alpha(opacity=85);opacity:.85;padding:5px;padding-left:20px;white-space:nowrap;color:#000;font:normal 11px tahoma,arial,verdana,sans-serif;border:1px solid;border-color:#ddd #bbb #bbb #ddd;background-color:#fff}.x-dd-drop-icon{position:absolute;top:3px;left:3px;display:block;width:16px;height:16px;background-color:transparent;background-position:center;background-repeat:no-repeat;z-index:1}.x-view-selector{position:absolute;left:0;top:0;width:0;background-color:#c3daf9;border:1px dotted #39b;filter:alpha(opacity=50);opacity:.5;zoom:1}.x-dd-drop-nodrop .x-dd-drop-icon{background-image:url('../../resources/themes/images/default/dd/drop-no.gif')}.x-dd-drop-ok .x-dd-drop-icon{background-image:url('../../resources/themes/images/default/dd/drop-yes.gif')}.x-dd-drop-ok-add .x-dd-drop-icon{background-image:url('../../resources/themes/images/default/dd/drop-add.gif')}.x-resizable-handle{position:absolute;z-index:100;font-size:1px;line-height:6px;overflow:hidden;zoom:1;filter:alpha(opacity=0);opacity:0;background-color:#fff}.x-collapsed .x-resizable-handle{display:none}.x-resizable-handle-east{width:6px;height:100%;right:0;top:0}.x-resizable-over .x-resizable-handle-east{cursor:e-resize}.x-resizable-handle-south{width:100%;height:6px;left:0;bottom:0}.x-resizable-over .x-resizable-handle-south{cursor:s-resize}.x-resizable-handle-west{width:6px;height:100%;left:0;top:0}.x-resizable-over .x-resizable-handle-west{cursor:w-resize}.x-resizable-handle-north{width:100%;height:6px;left:0;top:0}.x-resizable-over .x-resizable-handle-north{cursor:n-resize}.x-resizable-handle-southeast{width:6px;height:6px;right:0;bottom:0;z-index:101}.x-resizable-over .x-resizable-handle-southeast{cursor:se-resize}.x-resizable-handle-northwest{width:6px;height:6px;left:0;top:0;z-index:101}.x-resizable-over .x-resizable-handle-northwest{cursor:nw-resize}.x-resizable-handle-northeast{width:6px;height:6px;right:0;top:0;z-index:101}.x-resizable-over .x-resizable-handle-northeast{cursor:ne-resize}.x-resizable-handle-southwest{width:6px;height:6px;left:0;bottom:0;z-index:101}.x-resizable-over .x-resizable-handle-southwest{cursor:sw-resize}.x-ie .x-resizable-handle-east{margin-right:-1px}.x-ie .x-resizable-handle-south{margin-bottom:-1px}.x-resizable-over .x-resizable-handle,.x-resizable-pinned .x-resizable-handle{filter:alpha(opacity=100);opacity:1}.x-window .x-window-handle{filter:alpha(opacity=0);opacity:0}.x-window-collapsed .x-window-handle{display:none}.x-resizable-proxy{border:1px dashed #3b5a82;position:absolute;left:0;top:0;overflow:hidden;z-index:50000}.x-resizable-overlay{position:absolute;left:0;top:0;width:100%;height:100%;display:none;z-index:200000;background-color:#fff;filter:alpha(opacity=0);opacity:0}.x-resizable-over .x-resizable-handle-east,.x-resizable-over .x-resizable-handle-west,.x-resizable-pinned .x-resizable-handle-east,.x-resizable-pinned .x-resizable-handle-west{background-position:left;background-image:url('../../resources/themes/images/default/sizer/e-handle.gif')}.x-resizable-over .x-resizable-handle-south,.x-resizable-over .x-resizable-handle-north,.x-resizable-pinned .x-resizable-handle-south,.x-resizable-pinned .x-resizable-handle-north{background-position:top;background-image:url('../../resources/themes/images/default/sizer/s-handle.gif')}.x-resizable-over .x-resizable-handle-southeast,.x-resizable-pinned .x-resizable-handle-southeast{background-position:top left;background-image:url('../../resources/themes/images/default/sizer/se-handle.gif')}.x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest{background-position:bottom right;background-image:url('../../resources/themes/images/default/sizer/nw-handle.gif')}.x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast{background-position:bottom left;background-image:url('../../resources/themes/images/default/sizer/ne-handle.gif')}.x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest{background-position:top right;background-image:url('../../resources/themes/images/default/sizer/sw-handle.gif')}.x-splitter .x-collapse-el{position:absolute;cursor:pointer;background-color:transparent;background-repeat:no-repeat!important}.x-layout-split-left,.x-layout-split-right{top:50%;margin-top:-17px;width:5px;height:35px}.x-layout-split-top,.x-layout-split-bottom{left:50%;width:35px;height:5px;margin-left:-17px}.x-layout-split-left{background:no-repeat top right;background-image:url('../../resources/themes/images/default/util/splitter/mini-left.gif')}.x-layout-split-right{background:no-repeat top left;background-image:url('../../resources/themes/images/default/util/splitter/mini-right.gif')}.x-layout-split-top{background:no-repeat top left;background-image:url('../../resources/themes/images/default/util/splitter/mini-top.gif')}.x-layout-split-bottom{background:no-repeat top left;background-image:url('../../resources/themes/images/default/util/splitter/mini-bottom.gif')}.x-splitter-collapsed .x-layout-split-left{background:no-repeat top left;background-image:url('../../resources/themes/images/default/util/splitter/mini-right.gif')}.x-splitter-collapsed .x-layout-split-right{background:no-repeat top right;background-image:url('../../resources/themes/images/default/util/splitter/mini-left.gif')}.x-splitter-collapsed .x-layout-split-top{background:no-repeat top left;background-image:url('../../resources/themes/images/default/util/splitter/mini-bottom.gif')}.x-splitter-collapsed .x-layout-split-bottom{background:no-repeat top left;background-image:url('../../resources/themes/images/default/util/splitter/mini-top.gif')}.x-splitter-horizontal{cursor:e-resize;cursor:row-resize;font-size:1px}.x-splitter-vertical{cursor:e-resize;cursor:col-resize;font-size:1px}.x-splitter-collapsed,.x-splitter-horizontal-noresize,.x-splitter-vertical-noresize{cursor:default}.x-splitter-active{z-index:4;font-size:1px;background-color:#b4b4b4;filter:alpha(opacity=80);opacity:.8}.x-splitter-active .x-collapse-el{filter:alpha(opacity=30);opacity:.3}.x-proxy-el{position:absolute;background:#b4b4b4;filter:alpha(opacity=80);opacity:.8}.x-docked{position:absolute!important;z-index:1}.x-docked-top{border-bottom-width:0!important}.x-docked-bottom{border-top-width:0!important}.x-docked-left{border-right-width:0!important}.x-docked-right{border-left-width:0!important}.x-docked-noborder-top{border-top-width:0!important}.x-docked-noborder-right{border-right-width:0!important}.x-docked-noborder-bottom{border-bottom-width:0!important}.x-docked-noborder-left{border-left-width:0!important}.x-box-inner{overflow:hidden;zoom:1;position:relative;left:0;top:0}.x-box-item{position:absolute!important;left:0;top:0}.x-rtl .x-box-item{right:0;left:auto}.x-box-layout-ct,.x-border-layout-ct{overflow:hidden;zoom:1}.x-border-layout-ct{background-color:#dfe8f6;position:relative}.x-overflow-hidden{overflow:hidden!important}.x-inline-children>*{display:inline-block!important}.x-abs-layout-ct{position:relative}.x-abs-layout-item{position:absolute!important}.x-fit-item{position:relative}.x-border-region-slide-in{z-index:5}.x-region-collapsed-placeholder{z-index:4}.x-accordion-hd .x-panel-header-text{color:black;font-weight:normal}.x-accordion-hd{background:#d9e7f8!important;-webkit-box-shadow:inset 0 0 0 0 #d9e7f8;-moz-box-shadow:inset 0 0 0 0 #d9e7f8;box-shadow:inset 0 0 0 0 #d9e7f8}.x-accordion-hd .x-tool-collapse-top,.x-accordion-hd .x-tool-collapse-right,.x-accordion-hd .x-tool-collapse-bottom,.x-accordion-hd .x-tool-collapse-left{background-position:0 -255px}.x-accordion-hd .x-tool-expand-top,.x-accordion-hd .x-tool-expand-right,.x-accordion-hd .x-tool-expand-bottom,.x-accordion-hd .x-tool-expand-left{background-position:0 -240px}.x-accordion-hd .x-tool-over .x-tool-collapse-top,.x-accordion-hd .x-tool-over .x-tool-collapse-right,.x-accordion-hd .x-tool-over .x-tool-collapse-bottom,.x-accordion-hd .x-tool-over .x-tool-collapse-left{background-position:-15px -255px}.x-accordion-hd .x-tool-over .x-tool-expand-top,.x-accordion-hd .x-tool-over .x-tool-expand-right,.x-accordion-hd .x-tool-over .x-tool-expand-bottom,.x-accordion-hd .x-tool-over .x-tool-expand-left{background-position:-15px -240px}.x-accordion-hd{border-width:1px 0 1px 0!important;padding:4px 5px 5px 5px;border-top-color:#f3f7fb!important}.x-accordion-body{border-width:0!important}.x-accordion-hd-sibling-expanded{border-top-color:#99bce8!important;-webkit-box-shadow:inset 0 1px 0 0 #f3f7fb;-moz-box-shadow:inset 0 1px 0 0 #f3f7fb;box-shadow:inset 0 1px 0 0 #f3f7fb}.x-accordion-hd-last-collapsed{border-bottom-color:#d9e7f8!important}.x-frame-tl,.x-frame-tr,.x-frame-tc,.x-frame-bl,.x-frame-br,.x-frame-bc{overflow:hidden;background-repeat:no-repeat}.x-frame-tc,.x-frame-bc{background-repeat:repeat-x}.x-frame-mc{position:relative;background-repeat:repeat-x;overflow:hidden}.x-box-scroller-left{float:left;height:100%;z-index:5}.x-box-scroller-left .x-toolbar-scroll-left,.x-box-scroller-left .x-tabbar-scroll-left{width:18px;position:relative;cursor:pointer;height:20px;background:transparent no-repeat -18px 0;background-image:url('../../resources/themes/images/default/tab-bar/scroll-left.gif')}.x-box-scroller-left .x-toolbar-scroll-left-hover{background-position:0 0}.x-box-scroller-left .x-toolbar-scroll-left-disabled,.x-box-scroller-left .x-tabbar-scroll-left-disabled{background-position:-18px 0;filter:alpha(opacity=50);opacity:.5;cursor:default}.x-box-scroller-left .x-toolbar-scroll-left{background-image:url('../../resources/themes/images/default/toolbar/scroll-left.gif');background-position:-14px 0}.x-box-scroller-left .x-toolbar-scroll-left-hover{background-position:0 0}.x-box-scroller-left .x-toolbar-scroll-left-disabled{background-position:-14px 0}.x-box-scroller-left .x-toolbar-scroll-left{width:14px;height:22px;border-bottom:1px solid #8db2e3}.x-horizontal-box-overflow-body{float:left}.x-box-scroller-right{float:right;height:100%;z-index:5}.x-box-scroller-right .x-toolbar-scroll-right,.x-box-scroller-right .x-tabbar-scroll-right{width:18px;position:relative;cursor:pointer;height:20px;background:transparent no-repeat 0 0;background-image:url('../../resources/themes/images/default/tab-bar/scroll-right.gif')}.x-box-scroller-right .x-toolbar-scroll-right-hover{background-position:-18px 0}.x-box-scroller-right .x-toolbar-scroll-right-disabled,.x-box-scroller-right .x-tabbar-scroll-right-disabled{background-position:0 0;filter:alpha(opacity=50);opacity:.5;cursor:default}.x-box-scroller-right .x-toolbar-scroll-right{background-image:url('../../resources/themes/images/default/toolbar/scroll-right.gif')}.x-box-scroller-right .x-toolbar-scroll-right-hover{background-position:-14px 0}.x-box-scroller-right .x-toolbar-scroll-right-disabled{background-position:0 0}.x-box-scroller-right .x-toolbar-scroll-right{width:14px;height:22px;border-bottom:1px solid #8db2e3}.x-box-scroller-top .x-box-scroller{line-height:0;font-size:0}.x-box-scroller-top .x-menu-scroll-top{background:transparent no-repeat center center;background-image:url('../../resources/themes/images/default/layout/mini-top.gif');height:8px;cursor:pointer}.x-box-scroller-bottom .x-box-scroller{line-height:0;font-size:0}.x-box-scroller-bottom .x-menu-scroll-bottom{background:transparent no-repeat center center;background-image:url('../../resources/themes/images/default/layout/mini-bottom.gif');height:8px;cursor:pointer}.x-box-menu-right{float:right;padding-right:2px}.x-column{float:left}.x-ie6 .x-column{display:inline}.x-quirks .x-ie .x-form-layout-table,.x-quirks .x-ie .x-form-layout-table tbody tr.x-form-item{position:relative}.x-tool{height:15px}.x-tool img{overflow:hidden;width:15px;height:15px;cursor:pointer;background-color:transparent;background-repeat:no-repeat;background-image:url('../../resources/themes/images/default/tools/tool-sprites.gif');margin:0}.x-panel-header-horizontal .x-tool,.x-window-header-horizontal .x-tool{margin-left:2px}.x-panel-header-vertical .x-tool,.x-window-header-vertical .x-tool{margin-top:2px}.x-panel-header-vertical .x-tool-top,.x-window-header-vertical .x-tool-top{margin:0 0 4px}.x-tool-placeholder{visibility:hidden}.x-tool-toggle{background-position:0 -60px}.x-tool-over .x-tool-toggle{background-position:-15px -60px}.x-panel-collapsed .x-tool-toggle,.x-fieldset-collapsed .x-tool-toggle{background-position:0 -75px}.x-panel-collapsed .x-tool-over .x-tool-toggle,.x-fieldset-collapsed .x-tool-over .x-tool-toggle{background-position:-15px -75px}.x-tool-close{background-position:0 0}.x-tool-minimize{background-position:0 -15px}.x-tool-maximize{background-position:0 -30px}.x-tool-restore{background-position:0 -45px}.x-tool-gear{background-position:0 -90px}.x-tool-prev{background-position:0 -105px}.x-tool-next{background-position:0 -120px}.x-tool-pin{background-position:0 -135px}.x-tool-unpin{background-position:0 -150px}.x-tool-right{background-position:0 -165px}.x-tool-left{background-position:0 -180px}.x-tool-help{background-position:0 -300px}.x-tool-save{background-position:0 -285px}.x-tool-search{background-position:0 -270px}.x-tool-minus{background-position:0 -255px}.x-tool-plus{background-position:0 -240px}.x-tool-refresh{background-position:0 -225px}.x-tool-up{background-position:0 -210px}.x-tool-down{background-position:0 -195px}.x-tool-collapse{background-position:0 -345px}.x-tool-expand{background-position:0 -330px}.x-tool-print{background-position:0 -315px}.x-tool-expand-bottom,.x-tool-collapse-bottom{background-position:0 -195px}.x-tool-expand-top,.x-tool-collapse-top{background-position:0 -210px}.x-tool-expand-left,.x-tool-collapse-left{background-position:0 -180px}.x-tool-expand-right,.x-tool-collapse-right{background-position:0 -165px}.x-tool-over .x-tool-close{background-position:-15px 0}.x-tool-over .x-tool-minimize{background-position:-15px -15px}.x-tool-over .x-tool-maximize{background-position:-15px -30px}.x-tool-over .x-tool-restore{background-position:-15px -45px}.x-tool-over .x-tool-gear{background-position:-15px -90px}.x-tool-over .x-tool-prev{background-position:-15px -105px}.x-tool-over .x-tool-next{background-position:-15px -120px}.x-tool-over .x-tool-pin{background-position:-15px -135px}.x-tool-over .x-tool-unpin{background-position:-15px -150px}.x-tool-over .x-tool-right{background-position:-15px -165px}.x-tool-over .x-tool-left{background-position:-15px -180px}.x-tool-over .x-tool-down{background-position:-15px -195px}.x-tool-over .x-tool-up{background-position:-15px -210px}.x-tool-over .x-tool-refresh{background-position:-15px -225px}.x-tool-over .x-tool-plus{background-position:-15px -240px}.x-tool-over .x-tool-minus{background-position:-15px -255px}.x-tool-over .x-tool-search{background-position:-15px -270px}.x-tool-over .x-tool-save{background-position:-15px -285px}.x-tool-over .x-tool-help{background-position:-15px -300px}.x-tool-over .x-tool-print{background-position:-15px -315px}.x-tool-over .x-tool-expand{background-position:-15px -330px}.x-tool-over .x-tool-collapse{background-position:-15px -345px}.x-tool-over .x-tool-expand-bottom,.x-tool-over .x-tool-collapse-bottom{background-position:-15px -195px}.x-tool-over .x-tool-expand-top,.x-tool-over .x-tool-collapse-top{background-position:-15px -210px}.x-tool-over .x-tool-expand-left,.x-tool-over .x-tool-collapse-left{background-position:-15px -180px}.x-tool-over .x-tool-expand-right,.x-tool-over .x-tool-collapse-right{background-position:-15px -165px}.x-horizontal-scroller-present .x-grid-body{border-bottom-width:0}.x-vertical-scroller-present .x-grid-body{border-right-width:0}.x-scroller{overflow:hidden}.x-scroller-vertical{border:1px solid #99bce8;border-top-color:#c5c5c5}.x-scroller-horizontal{border:1px solid #99bce8}.x-vertical-scroller-present .x-scroller-horizontal{border-right-width:0}.x-scroller-ct{overflow:hidden;position:absolute;margin:0;padding:0;border:0;left:0;top:0;box-sizing:content-box!important;-ms-box-sizing:content-box!important;-moz-box-sizing:content-box!important;-webkit-box-sizing:content-box!important}.x-scroller-vertical .x-scroller-ct{overflow-y:scroll}.x-scroller-horizontal .x-scroller-ct{overflow-x:scroll}.x-html html,.x-html address,.x-html blockquote,.x-html body,.x-html dd,.x-html div,.x-html dl,.x-html dt,.x-html fieldset,.x-html form,.x-html frame,.x-html frameset,.x-html h1,.x-html h2,.x-html h3,.x-html h4,.x-html h5,.x-html h6,.x-html noframes,.x-html ol,.x-html p,.x-html ul,.x-html center,.x-html dir,.x-html hr,.x-html menu,.x-html pre{display:block}.x-html li{display:list-item;list-style:disc}.x-html head{display:none}.x-html table{display:table}.x-html tr{display:table-row}.x-html thead{display:table-header-group}.x-html tbody{display:table-row-group}.x-html tfoot{display:table-footer-group}.x-html col{display:table-column}.x-html colgroup{display:table-column-group}.x-html td,.x-html th{display:table-cell}.x-html caption{display:table-caption}.x-html th{font-weight:bolder;text-align:center}.x-html caption{text-align:center}.x-html body{margin:8px}.x-html h1{font-size:2em;margin:.67em 0}.x-html h2{font-size:1.5em;margin:.75em 0}.x-html h3{font-size:1.17em;margin:.83em 0}.x-html h4,.x-html p,.x-html blockquote,.x-html ul,.x-html fieldset,.x-html form,.x-html ol,.x-html dl,.x-html dir,.x-html menu{margin:1.12em 0}.x-html h5{font-size:.83em;margin:1.5em 0}.x-html h6{font-size:.75em;margin:1.67em 0}.x-html h1,.x-html h2,.x-html h3,.x-html h4,.x-html h5,.x-html h6,.x-html b,.x-html strong{font-weight:bolder}.x-html blockquote{margin-left:40px;margin-right:40px}.x-html i,.x-html cite,.x-html em,.x-html var,.x-html address{font-style:italic}.x-html pre,.x-html tt,.x-html code,.x-html kbd,.x-html samp{font-family:monospace}.x-html pre{white-space:pre}.x-html button,.x-html textarea,.x-html input,.x-html select{display:inline-block}.x-html big{font-size:1.17em}.x-html small,.x-html sub,.x-html sup{font-size:.83em}.x-html sub{vertical-align:sub}.x-html sup{vertical-align:super}.x-html table{border-spacing:2px}.x-html thead,.x-html tbody,.x-html tfoot{vertical-align:middle}.x-html td,.x-html th{vertical-align:inherit}.x-html s,.x-html strike,.x-html del{text-decoration:line-through}.x-html hr{border:1px inset}.x-html ol,.x-html ul,.x-html dir,.x-html menu,.x-html dd{margin-left:40px}.x-html ul,.x-html menu,.x-html dir{list-style-type:disc}.x-html ol{list-style-type:decimal}.x-html ol ul,.x-html ul ol,.x-html ul ul,.x-html ol ol{margin-top:0;margin-bottom:0}.x-html u,.x-html ins{text-decoration:underline}.x-html br:before{content:"\A"}.x-html :before,.x-html :after{white-space:pre-line}.x-html center{text-align:center}.x-html :link,.x-html :visited{text-decoration:underline}.x-html :focus{outline:invert dotted thin}.x-html BDO[DIR="ltr"]{direction:ltr;unicode-bidi:bidi-override}.x-html BDO[DIR="rtl"]{direction:rtl;unicode-bidi:bidi-override} \ No newline at end of file diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/boundlist/trigger-arrow.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/boundlist/trigger-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..11daac3da8202dec764b68145cb16d1693090e1a GIT binary patch literal 2869 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 TCTt#-00000NkvXXu0mjfpUP1v literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/box/corners-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/box/corners-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..fa419b50abe5030db04492578d5dfd39c02fb6ab GIT binary patch literal 1010 zcmZ?wbhEHbXlGzpbnMH9^WV;$J9qKo#mkp3U%h(u+O=ypZrr$e^X8p9ckbT3 zd+*-8gExOZc<|ui!-tO^J$n53@slS{o<4p0?Af#D&!4}1`SR7PSFc~ce)Hzd+qZAu zy?gim{reZ6{(SiG;p4}TpFVy1{Q2{jFJHcX{rc_Ox9{J-|M>Ca=g*(NfB*jT=g;52 zfB*ga_y7NYhEYJJ5ODbKKqZq#iZO~mS(q6ZW-;i1JPgVc3>@bfOgUvd3KTeaMcKM` zTmT9+Dym5^6eP5&35jyCL~LwoUdG4CQ1IlzMJEOhS7<|o6TkONJB|cJt&_qGY8j_CFdSfKOOVXz5IAt4 zV}p{G0>c6amIz;I6#<3?kJdQw@UbxnC^#-)=MmtuQ0WM8YMvo$(vtdt@jw$#qNfCh wKq7O5AQyweiU(yaTnsEKITutM85$V*3^XlGzJaNxkCA+uU@@+{rdHrH*em)ef#d+yZ7(kfB5j>g)|NZ;-|Nno6kqR9CJB(DX)7#&QKUtU= zfEhstWHBgDFmRk=;OCU_C{XAUlw(`PkjU7?)Tn7;VYmK z&r@KbvglBQu=1upg@udrDMSY z2FDg@ogF$0Oia(gUJntM;F*w7{y{XRIF%d;*fMw Ru}w*2KC@pnhK+^68UTSX)nNbt literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/box/l-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/box/l-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..5ed7f0043b6b0f956076e02583ca7d18a150e8f6 GIT binary patch literal 810 zcmZ?wbhEHbWMN=rXlGzpbnMHWJ9pl^dGqhzKZa2-8UiCM1QdU=0Db(QK?me-P@Z7m PU}s=uVK7ioV6X-NGaC=| literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/box/l.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/box/l.gif new file mode 100644 index 0000000000000000000000000000000000000000..0160f97fe75409f17ab6c3c91f7cbdc58afa8f8f GIT binary patch literal 810 zcmZ?wbhEHbWMN=rXlGzJc<|tzJ9pl^dGqhzKZa2-8UiCM1QdU=0Db(QK?me-P@Z7m PU}s=uVK7ioV6X-N<)RPU literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/box/r-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/box/r-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..3ea5cae3b7b571ec41ac2b5d38c8a675a1f66efc GIT binary patch literal 810 zcmZ?wbhEHbWMN=rXlGzpbnMHWJ9pl^dGr7Oe}+*o8UiCM1QdU=0Db(QK?me-P@Z7m PU}s=w;80LdV6X-NJSY$C literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/box/r.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/box/r.gif new file mode 100644 index 0000000000000000000000000000000000000000..34237f6292a7da6ac5d1b95d13ce76a7194dd596 GIT binary patch literal 810 zcmZ?wbhEHbWMN=rXlGzJc<|tzJ9pl^dGr7Oe}+*o8UiCM1QdU=0Db(QK?me-P@Z7m PU}s=w;80LdV6X-N?ynEj literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/box/tb-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/box/tb-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..4b1382c349918444e85ec948e50f47b57d0b2382 GIT binary patch literal 843 zcmZ?wbhEHbWMt4{_|Cv!?Gyt>vDQwpHcoLi&hbEG>zrWgk_be0t{`OZmJCD=?kNuL zsUYN$=IE8~Z|JvDuNAPsr*9!vaP&UP+yh1rCW#EgS-J77PLo2N;-Gd1M?WI2>eR<6~lCum%7= CS1A4f literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/box/tb.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/box/tb.gif new file mode 100644 index 0000000000000000000000000000000000000000..435889bffe0a3a4f92b1cb5e781be0d1e9e355f0 GIT binary patch literal 839 zcmZ?wbhEHbWMoiaXlGzJc<|tf6DMxpzWwCMlQ(bPynFZV{rmSHK79E2@#E*upTB(h z^7ZT2Z{NOs|Ni~Qj~_pO{`~dp*PlOs{{H>@@87@w|Nk?Lg3%Bd$|0cmlLhGf{|q`H xPk{0S1BVKOBoBu|W0NBntB_a%g98I2m#~UU!-oTo%xv5uDh>q)92y%KtN|VsNKya* literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn-group/btn-group-default-framed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn-group/btn-group-default-framed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..a566e9eadd5e632e326132562f4bf44e9898e1eb GIT binary patch literal 1594 zcmZ?wbhEHbWMbf9`2L^4%P(Zdi5uHaTnh+`yZ7qTqgP)Zy!hf567}HKm;a++Gz5lw z2q^w!VPs(7WYA#%0#Kf4AI%ZNJ|z+UAje;)Ap&J=MTq4FJ5~6F~p~ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn-group/btn-group-default-framed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn-group/btn-group-default-framed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..3334e4f8e071439eaf1d6efef31f77f9ab2ba961 GIT binary patch literal 1633 zcmZ?wbhEHbWMPP7`2L?^+lgzBUVZsL3PwX|z+UAje;)Ap=dU~2c;Zz3(YXC%r7Q6re literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn-group/btn-group-framed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn-group/btn-group-framed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..af0866233e61248500e97346710a83cc84152104 GIT binary patch literal 1627 zcmZ?wbh9u|WM&Xz_|CwV9fg7eEUZi-CJG7-4J<6&Y62Y#9xyht baB$c}2s9ix%))Lbl#rm%$jHFR$Y2csdjChJ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn-group/btn-group-framed-notitle-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn-group/btn-group-framed-notitle-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..54fd6ebe64f8077cbe35a19faa1a6ba14252cf4d GIT binary patch literal 1624 zcmZ?wbh9u|WM&Xz_|Cwq%KbI2$-HZrjCa&RaJFdk&$WKqzla8O`mV&WHLQMh1m Ru(6LtLc$|~!NGyS8UQs?JeU9g literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn-group/btn-group-framed-notitle-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn-group/btn-group-framed-notitle-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..0aaf799d400bcb3c6049c58958136a1f1b2ee4fe GIT binary patch literal 1651 zcmZ?wbh9u|WMlAP_|Cu}At9BJQFh_p2Zm8F8UiCP1QdU=FfuSOGw6W44$2elqd8*a zrGil(BSL^9fPs-kKtX|lp^=4GNvEPf;czRLteek`2}(!0_*IkU%(%GdShs?G*B6gX ui#_`^%vbS58mXS1tnGfN=4DXY*=dG_m(EyTRy#l2w)EE>&nxK;4AubJWG>py)nQ2o0Oytz$73UXtG-}Dt nn)33}BHx8}wpLeHTwM_|H*4xHQ|;^P;||BI?V6h5z+epkfiOtK literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..87148eea44b029f244e04693e18ff5b6ae6e3b69 GIT binary patch literal 1854 zcmZ?wbhEHb7sJn9?LLV)8x12>0^$A$$5n>mEF zVrE=uINUCvEH}er2cTa6yeSLkx z;cqhD+t%FNoN;+o?CEW5Z*MPnd}^-u_H}o6SA2eT_w@Gl_xCq2bIbYc*zoXhhp=|s znH?J+AD^J?JRZa;TQsnKUo+V7kqd m5(FF^8d$kl1WGs@8XFmeS!H+v8WEhQ!8|0oy@fe{b_ia%Kx z85lSibQpjDlqcFpbHoUU_E9h53;~XR44fP?9vc=MY~~Qw(ur8G@Nm0;vez7sjf;+U zi}PmOIk9o^@qPv8E*Z~BPZ}m`1h3*buxaV(=?qDy=6G&ic6PQ!@vA#0H!p9P@6gO8 z>$PRY#l=qXTCu0Lth~HDV6oR+udS=Du8!E8b@$ZP)z{Z29PX0!-nQoE=8Vg$Voz^d zdwYAq<5P3Jx39aqyW;b!yQjCWzrVkMnOn|h$A*W8JA}34&g|Iu`1k~6?|D8uH$6Q) z!#MlinVp-TpI_kIE$6#y%gf6vf>+0#-L>`g^$p3V=lSm5_V)IU;@9`i?%w|X{()w0 sdA~h7K0ZD%Sv&sRo}HhcUs&ut-*4}(udi=x&c1(c@9y%qjEoG{01WJPI{*Lx literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..67310a15f711411b6f367eaa1892cda2470074d0 GIT binary patch literal 1616 zcmZ?wbhEHbWM&Xz`2L@PiHRvJEG#G}$j!|yA|fIrBqSjrAuB5@DJjXt#pVAf7!848 z9Ri9!Sr{1@xEOR8fB=*y+DCK5u#WIi&k+a#4qXOj4jYFJ3mTd^SlJj18V)e9uyY8M ea6D*eWEAFRZa;T{5t zKUo+V7&sYp7=QqjC)!7I#Bh)EQUBo!0gnF+>>?5o2@MWSY@A{?78e#YwzJ7NP5Ch) z=?J5Mews@-;{nYx+$0pS!QcDl{v2S;%^~qgke_udhqk*>%@z+pCDpsaqGtuHN?c z`sTdD%WAE|^`du`zdhF4U7jDiuj)4!pO3_bhx~&F`;QAKzcU|Nrmb|Bg<-U(d{SLcWn*Now<6*Oe nTE)UPNvjhN+vVCU9=0ik-FVocK8r)COM6v>QYSMD3xhQPOgo81 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..ce9e359c94f5e02d690d741a84b5e78f950f6fe3 GIT binary patch literal 1868 zcmZ?wbhEHb}FUQJ?H(IE3=62r4e3@;`zJetICqmOAt zgVd5bnI$zci)!Q+RLRW)A%*{=U^E1VMF=SVWMO1r5Mt0_00K~+XdlfH!y;lwJwav& zaQtWB;a3t=6Y>i zb#-;ba-$okwyq9mOgP*n>%DEw&CMCd#Uf5`TYGzZ!Q)eNy|=HsySw7^tGlPSufM;) zftg#*XUB$zhdYF|FPHd zuCK3eY|g%aZtw2z?;jlQ)|B_(x98{Q7nfJZpWnCl_xBHvPtW(?zwhtwAD>^}Kfizf R|NjhZ8V?#yu(B{%0|5F5aK8Wm literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..dc53444eba673d1707550b70c34245f8ac3de7dd GIT binary patch literal 1623 zcmZ?wbhEHbWM&Xz`2L@PjfG)Bjnte9k)Ak?Hxn3EG)T=V6MHj>;Y1r(UjoOf2B|3} z5?wJIuO=}ZYvcMq3PwXKIERhH zhJ?muE+MWM28G5(77h*xg@OYI7#LUtcoZ}a95~3xD8eA2@L&N0E29KQ0)v7AgEaty Crqu2L literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..63b96f2daa54b70076efeca4b1a62f11d776d593 GIT binary patch literal 1952 zcmZ?wbhEHbWMgn*{{Ej~N{PgpI*EBza<3*atZ0y#Q=#x=62r4e3@;`zJetICqmOAt zgVeG*nI%9}BeSSRZb6mYyefrx6$<}H!Dt8!{SZ+6$->CMAk3h{00f{s(LS0ZhJLJ$ z`hffp;P}tL$RlCF(BRO-#wliFVW8;5z@emMP_f_Z z+UUp@AsKUam*{ForUcF!UTd+O$c+q#7KK)C%Z=KUfA&}`_w=_h+si&*yQ>|ZAHT2U zKNp{mgnq)|W}FUQJ?H(IE3=62r4e3@;`zJetICqmN}p zgVd5bnI$zci)!Q+RLRW)A%*{=U^E1VMF=SVWMO1r5Mt0_00K~+XdlfH!y;lwJwav& zaQtWB;a3t=6Y>i zb#-;ba-$okwyq9mOgP*n>%DEw&CMCd#Uf5`TYGzZ!Q)eNy|=HsySw7^tGlPSufM;) zftg#*XUB$zhdYF|FPHd zuCK3eY|g%aZtw2z?;jlQ)|B_(x98{Q7nfJZpWnCl_xBHvPtW(?zwhtwAD>^}Kfizf R|NjhZ8V?#yu(B{%0{{?iaKiuq literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..dc53444eba673d1707550b70c34245f8ac3de7dd GIT binary patch literal 1623 zcmZ?wbhEHbWM&Xz`2L@PjfG)Bjnte9k)Ak?Hxn3EG)T=V6MHj>;Y1r(UjoOf2B|3} z5?wJIuO=}ZYvcMq3PwXKIERhH zhJ?muE+MWM28G5(77h*xg@OYI7#LUtcoZ}a95~3xD8eA2@L&N0E29KQ0)v7AgEaty Crqu2L literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..768e07b6cdb069c44fbfc944f622d446cbd6854f GIT binary patch literal 1952 zcmZ?wbhEHbWMgn*{{Ej~N{PgpI*EBza<3*atZ0y#Q=#x=62r4e3@;`zJetICqmN}p zgVeG*nI%9}BeSSRZb6mYyefrx6$<}H!Dt8!{SZ+6$->CMAk3h{00f{s(LS0ZhJLJ$ z`hffp;P}tL$RlCF(BRO-#wliFVW8;5z@emMP_f_Z z+UUp@AsKUam*{ForUcF!UTd+O$c+q#7KK)C%Z=KUfA&}`_w=_h+si&*yQ>|ZAHT2U zKNp{mgnq)|W&}UdkB>1bICsf-Zd!73vPSScn**Dco}SK| zbZU;LaKqWz7R9gbWKM28Ki{EQO~Px-ii?XqCTp1<*s}8S@_@x&bG^Q5Hm;7?oOSoq z*45V;5)OCCdT(2Eb92V!Rk5eHt-Zay;PI)s-rLvR-Cgnd)!ozE*WcgYz|1Y@vtz@< z!yUrfac6dHe0+R@viCfnotvJXo?)DQ@6684&(AM#?w0f2wdLjI6~U|H&hFa!`uc|C z)AM|HZ+m-tNAc@>XLoOZfB!%;x4hq;9UmW`n5-RtZqLro&o3E-r|0|c-}m?TkD2T&4AuZ6igw!o literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..b147bdf65be667088b64e87c5886ee8f4e10a37e GIT binary patch literal 1620 zcmZ?wbhEHbWM&Xz`2L@Pjfvq&4#SBOzG-26HwxHJlnC6al9(02cdA5SQV8Fr3K2FI zh8bae|3|@S2n@#%Q2fcl$iTqMpu+$Jpghq&nj?l|JdgT`*bv|_WMJhmaoCX1(9FTg s6;Z%&kdc*5KtSgJLjxl#Gl!B!!34%e1_m|-ixU$anwU5lSXdaW0oyCrdH?_b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-large-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..57fbcb9859f71a44aa4af5e1988df0e665f2f98d GIT binary patch literal 1947 zcmZ?wbhEHbWMgn*{{ElgRtCe99EKAme0Or#ZdFO#tCD$?!|*7J;X#$m10Y!;aW8}6 zUKYc>Dycge40o!e{*Qvu5Ew=wp!k!8k%2*gL5BedKzX8lG)D}h=pFS6$sxe;pMh0C z!o#7#p^1%COyt9Yhs@1<@<;>08O?nJkQ!)aYIVY((teTP;wA`CjVn)^hg{!NAR!Z?4 zFgUHs0ruUZSVBR3~sp2oU6Ea&#-oQwNHwYTTp*`4?H*-`HD_4oHRy!<5kXL`Yd zogH80!g6*LK04UX?H&rPxK=JS;@&bYidaQeP8w?1cGUzNPw z&epp0?e#5*_ouDhUH?2ZSlA|3HsfK7e3-WP|4}d+0>dZ-6o0ZXGB5}*=r8~QC{MJH=7?bwy`x?sIRrTVGcbxsL@+cs zG_i4t*;p7TIx(;-$r*GkP-5y5GYm7Cu^^eLPmWhhVx@zMXES$@p2NyXsb0;@Nqhzp z3(^>xnTog$tel+g*UZ;s#h^7MBcPdWl9a=$DVagdEQ^F1w5Dc-%re_}?Mjt!!`XH5 zJG;Kln))VebHeF1SL?F1(OV17@0%)Zu6uWP+2?I*cZ=u8@6BO8&ua5yed56y!QY`i z7KMq&+U32=d@4VtoSrJ3d~eOp;wNY3Teg4W+4&{)(sK9JX1ueuW?Wwpy}WI2)wbN5 zJL2zOn`>?M{{Ft^>+fu3DheNNnf%^u-=7`DPme5=o_@}zs`%CU_1W9c)&44be|L3r zzP$dvnr|PTpImO*L4m>-X3HWw`f!egoq(_Xmw^YB%B= zxs`4#X!_%7q0l01m$9&gC+Wq4Hj%Ul#dh&JjYaJ$c@~R0Rm(aab!lyrNb1txB(b<# U;aY`KulczZi+f+NvM^W!0LZjnYXATM literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..14cf679d75b75c4f277c11eb1146392c0b3c690a GIT binary patch literal 1831 zcmZ?wbhEHb#gPH6&DwKOlFHXwPoeyib#-;b=B&G?wywUuKH+eetoODx zH#cWoUKM+K+uGaP3m%`E>%D#5-Q5+RU)?>uef|CY4b0qfK07u%Jlr9y9d~BO#>dAe zD0|QI*}3WI=^4h^_s;Cx{QUd^=WaRQU0YsWUJ<-H?(D9uudi=NK0VKO_qMmUcND+A zcXs#o_xBGpbIbef+41r5iOJgW=l1OU{QSaV@A-avcYS?*V{`WXb9;AxfB)ccH;a6{ ItpbBJ0COBt`v3p{ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..64b4423f066d8589b4826e60db9de9c482a518b4 GIT binary patch literal 1615 zcmZ?wbhEHbWM&Xz`2L@Pfq_X#M23q?fQ^kyOiD#SNJ2_ZgHK3;gNu)YOF+ZGK}t@G zfr;t=C>RZa;TQsnKUo+V7kqd m5(FF^8d$kl1WGs@8XFmeS!H+v8WFRZa;T{5t zKUo+V7&sYp7=QqjC)!7I#Bh)EQUBo!0SEhQ!8|0oy@fe{b_ia%Kx z85lSibQpjDlqcFpbHoUU_E9h53;~Y+4D2Ej5eW?rO>CTEHWmhoPHo(xRyh_28eEy# z^pn<97$zTQWN{KQ&{(j9p_w6w$zkQBRIlmU>??XQKRs!frQ$2abHMn(xq0@LY+o%G zs0S`~o-D??Dp`UQLSx|i6=^O8pj&~`W+u2waK0Q7~F@D;b zoyE`2PqS@j>#f}K^3n>+$zip#N?)Db;JSa>+g)XEu5OQhKCgH7x4hf?n!n4fi>@eq zw5MO&|D23P(eu*_&Hww}{ZaDz(&q5`eYREKU*FkSA8=i7U(Jut_s%YN=dauQ``d?; zo2UPuSNG@RkE{2u=kKro_w)Z%@dtGbpUfB3v#CWqXkya3q0r1?r;*qqqQtSVRX8c) VVWW)Ij)m<~Z8sifF)}h(0|0gViE;n{ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..f522fc806fff4f94856b7e57ea9cdd0cc4a6aba4 GIT binary patch literal 1847 zcmZ?wbhEHbg($h4tL3VZ(DP7bH?RWv8T7Ky}iBQ@u|7q+t=OQUGe$V-P7CG-{0TB z%q{1$W5dJ49m3jiXLf9Se0+kk_dK7So1UJYVVr&M%+Afv&o6N9mh;`U<>loS!K>rW z?%MkL`iA7w^L%%2dwY9F@#}kMcW-}x|3EXhyx*Q3A0MBXtQ~)D&(6=!FD&++@3(i? s*Vi{TXWu`!clY=A4-R*W$oucx^YinI%d6wh@7w$P`-jK3`8XJ?0i>g7Qvd(} literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..d404d0f4d688b96d57f28c75df179bdd388cc351 GIT binary patch literal 1624 zcmZ?wbhEHbWM&Xz`2L@PjfG)BmDHRHk)Ak?R}&akG)T=V6MHp@;mst56K!052^`1T zxTcgyEU1xM)gaXs!|`SU!~an*8Un*51QdU=FfuR*GUzY>0Vq$jkLHNs61SuNASVPk zOc^9OTpT_$9Ax5<)et$s(7?pZC8S{B@SvfQkwHL3A|arGv4vU6g2BLn!HJQN$wuG< JgM$NuH2_K$&UOF* literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2fa7f1a26e0e7af0fe220a76527ee6cbbe9294bc GIT binary patch literal 1929 zcmZ?wbhEHbWMi;m{{Ej~N{PgZ2AMe(3Qs06%&StkGl6MYoy?LNnI&~Hi)!Q+Rmm)< zky}tDH?KuasgpR3(n{_@tr@-*@Pw!13dJiRzMzTU3p_s92_cZbW*xBdJ3^XJ3I_s8%5^N-=5 z`hwbjf)WcFnXfHZsOL25c+ku(Ch@RQ*i2(#v#3+Y!#43U55;!*s*J=AmA;HcZAyzG X7Imqoy-@1VJ#^wxkN!1L0S0RTf$eW7 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..f522fc806fff4f94856b7e57ea9cdd0cc4a6aba4 GIT binary patch literal 1847 zcmZ?wbhEHbg($h4tL3VZ(DP7bH?RWv8T7Ky}iBQ@u|7q+t=OQUGe$V-P7CG-{0TB z%q{1$W5dJ49m3jiXLf9Se0+kk_dK7So1UJYVVr&M%+Afv&o6N9mh;`U<>loS!K>rW z?%MkL`iA7w^L%%2dwY9F@#}kMcW-}x|3EXhyx*Q3A0MBXtQ~)D&(6=!FD&++@3(i? s*Vi{TXWu`!clY=A4-R*W$oucx^YinI%d6wh@7w$P`-jK3`8XJ?0i>g7Qvd(} literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..d404d0f4d688b96d57f28c75df179bdd388cc351 GIT binary patch literal 1624 zcmZ?wbhEHbWM&Xz`2L@PjfG)BmDHRHk)Ak?R}&akG)T=V6MHp@;mst56K!052^`1T zxTcgyEU1xM)gaXs!|`SU!~an*8Un*51QdU=FfuR*GUzY>0Vq$jkLHNs61SuNASVPk zOc^9OTpT_$9Ax5<)et$s(7?pZC8S{B@SvfQkwHL3A|arGv4vU6g2BLn!HJQN$wuG< JgM$NuH2_K$&UOF* literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2fa7f1a26e0e7af0fe220a76527ee6cbbe9294bc GIT binary patch literal 1929 zcmZ?wbhEHbWMi;m{{Ej~N{PgZ2AMe(3Qs06%&StkGl6MYoy?LNnI&~Hi)!Q+Rmm)< zky}tDH?KuasgpR3(n{_@tr@-*@Pw!13dJiRzMzTU3p_s92_cZbW*xBdJ3^XJ3I_s8%5^N-=5 z`hwbjf)WcFnXfHZsOL25c+ku(Ch@RQ*i2(#v#3+Y!#43U55;!*s*J=AmA;HcZAyzG X7Imqoy-@1VJ#^wxkN!1L0S0RTf$eW7 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-pressed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-pressed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..95828bd3db3ca5c5306943358259059cfdea2458 GIT binary patch literal 1835 zcmZ?wbhEHbuZb zTNw=hN5N+|z`)C(!vF-JJkdUyBZgxC%6B`#F@0a53kn!B4(lA*gcvZ-OO-oNtH%Q*(OmI6Js_%*xmP81 zCxhWmmDK-HFd72GE(8>RvM@3*@G zjb~X*^Pg?W6lnBkv8|Ufakz5e!Xo!hDV_r+2QDr1pXpYrwLmj;b@1k})?J}l*H_1E zth=hUE$7DOxURfs(e8c zo7s#94g6vf51RyxEEYD4rA0h!6Uw@w*e+71k<_7*#IdMTc~QipR-LLHi@LRr-FOtk I$jD#~0HSz@KL7v# literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-medium-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..553ed4b9f76d7f49f97c8741c6245410a6c438f9 GIT binary patch literal 1913 zcmZ?wbhEHbWMi;m{{EkVjg3o8N=ZmePD#r`L_$f!z(GVpK|{|$L(fhPglyDwY*cit zgv1p7kAl$<7+Z^fq{=fhXDvcd7^zZM-0129`z6jA;9sUfl)*vf}z2oiH%dt z#^QoPQ#*%@)07_<5}LX>d9-eb?(EJjsh5`f=KGzk+M0b~MSOP{@9b}Hu5B&6 zKTX!!JpcCI^51fLdn!IWJ}~*U+rF5e@1I?m@2!5WW>?|!D;wkc=gs|H_WJ7X=CJE> z|91cQ{Ot1dc>jHS%fG$9+u!eBzpwVohxe~mzA literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..23cfa11a9b2456893af0337fdb0f82d620841726 GIT binary patch literal 1814 zcmZ?wbhEHbq1W&vfd zIUXC8Tv#NGv+j5-SbV%+!MW=V$ATp%Cu;<+(y?5y^z?LtY|grSYU}Fj>k|%l$$D>Fb8~aX zWAduMlV me}Df#Gq=3oo*f?_pO~y2e{Rpt&(AL`_MY#zx9U{`gEauQcu~m! literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..1c3135397cc0cccca2d08a7e5a9877ee2e1e6518 GIT binary patch literal 1615 zcmZ?wbhEHbWM&Xz`2L@Pfq_X#M23q?fQ^kyOiD#SNJ2_ZgHK3;gNu)YOF+ZGLBqgK zN=}P`iRu3+7!8487XpeuSr{1@_!xA6Ie`I`C)!7I#ITFxQ4f(20vtLF>>MEu8x$Iw oIav8J1RNX~*tl2(N;n)E8ySRIWq1M_7#iBxO~o=K7=Uut0Os?&e*gdg literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-disabled-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-disabled-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..d39b54598cdb63e1460347f04f0bd8d93e8d1d24 GIT binary patch literal 1793 zcmZ?wbhEHbRZakrV=oKUo+V7+4u}7=Qqj zC)!7I#7K(&QNN;x0LMKBb`BYj4GRu7a|mn2%$U${xLrWmYtD;+hNImQ##whV1RIX` zD>!$_cy3y9a}Xwye0g*kiI* z?5Qm)FE0;R>^0YG>#D1(BQ|H+bHZ`26bb>Fw+9?{8q{mh;)M;o;#9VePmxJ2pN(K0(=gp3lxrPfyP<&c1hM=jP|< z7dUsz`R>~C^74w{)p2KcZGC-xL-Of)zPq=*y}hIO^}VyZx4*xCpqX1=R)E180K@fa An*aa+ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..0a092cd1bb2859e78bf798d81d2ff7713dd0ac99 GIT binary patch literal 1618 zcmZ?wbhEHbWM&Xz`2L@PiHRvJEG#G}$j!|yA|fIrBqSjrAuB7(#l_|SC>RZa;T{5t zKUo+V7&sYp7=QqjC)!7I#Bh)EQUBo!0S84Bk75Y{j{gj-0umk$4Gv9goMJW>28vFMtV&`A8ik7*7$w*x&a4Pz zXy|9)Y2tY)xWr?!s=XA?0iy$_rs+o>E74q_>O0%G_*%=(;I#9zZ3_Qg(cF@8VXN*J@@KKRdcW zwO;J)&XN~rms>BF>z(x_>+-tf?eo?~mF3=AlmGhMS!uJp`@0*z*ZJQ0R`B@HWbyxd zZ7M!LJ~PoiTyJmHm)GakrXT04-TnRDgO$ZL;{WH?{CN3d>-_NieYL+nzCV3Do`3$| un(yB}U%#&(Utj<4%U|_`29`(c3mTb~A|BN8{Mx>tnal0QgEU4)25SHkO^e|G literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..78775baa751391f15a6d2b872183e39ad477946c GIT binary patch literal 1817 zcmZ?wbhEHb}F9!+9+HHl$SjogANxp`G`FD5ZOo5b*B z62t#dFd72GGz1iXvM@3*@G$5w00AgZw2$V9VH(w=-XbalIKDA(bI5pXSa7hJNmwK1 z#D;~3+qpzN=6GyebhKMYJmb!ZjmnMv3eH_Jo}ZK(CTj$*k~y$x>FMe0NvGy`UT!!$ z+oJf@os*l>8|FJSbIE#bS#fc($7HS8Q(IPEULLU6Yp&PURaaL>Y|grSYU}Fj>k|%l z$$D>Fb8~aXWAduMlVe}Df#Gq=3oo*f?_pO~y2e{Rpt&(AL`_MY#zch}d~tC^V?tO15wWg7qh literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..e190818947b5fcff05a45e2a388eb730b70c7bfc GIT binary patch literal 1624 zcmZ?wbhEHbWM&Xz`2L@PjfG)BmDHRvk)Ak?R}&akG)T=V6MHp@;mst56K!052^`1T zxTcgyEU1xM)gaXs!!f5qWJR6Sn+Xj6N5N+|z#z<^!vF-JJkdUyBZhvg zj{1Q75a2LnkmPW2_|R~Wi9=RHhDJsP0TqdafCk1EW+@8>0|q81 P4n8KEh7Sx54h+@+zW&FF literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..affc4b38edcabdf472220ad797e841b83a09557e GIT binary patch literal 1897 zcmZ?wbhEHbWMeR5{{Ej~N{Pg>I+-~Y3Xdi+%&Sm%HHl$Koy?*dxdl~n^Qz=tOk#L8 ziQ&m4hX12rGz5lY2q^w!VPs(7Wzb;&0#Kf4AI%ZNF`h^LL~ICf{AXYkk%(YuaA;x^ z)d-nTu<#(OfVfRh#)L*!Ha7MQnF)o99T^o^B~%wV*0!r>-i@qfE5 z3LYQs5ws7}*;(}Dbf0eeF`mlJ&(AH;EEfAav*g9e6{hpUa(9)!y13r^cpUHSuQ}JZ z6<@!n8(p4%Z%aKlzn_dbQ2#{n{b%odFM57zvAMmSZROYJR~E)kU$?jV+xu&K+uhjv zYxn&8^kV1a@cMbRzuta0x_|oneRY4ne!u;Ee*gS`b-(|y-nifJi!(x@@sI3^geD%Q bjs?x!PB$LZi%3~4Y!yn2co@&f$Y2cs6W4l+ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..78775baa751391f15a6d2b872183e39ad477946c GIT binary patch literal 1817 zcmZ?wbhEHb}F9!+9+HHl$SjogANxp`G`FD5ZOo5b*B z62t#dFd72GGz1iXvM@3*@G$5w00AgZw2$V9VH(w=-XbalIKDA(bI5pXSa7hJNmwK1 z#D;~3+qpzN=6GyebhKMYJmb!ZjmnMv3eH_Jo}ZK(CTj$*k~y$x>FMe0NvGy`UT!!$ z+oJf@os*l>8|FJSbIE#bS#fc($7HS8Q(IPEULLU6Yp&PURaaL>Y|grSYU}Fj>k|%l z$$D>Fb8~aXWAduMlVe}Df#Gq=3oo*f?_pO~y2e{Rpt&(AL`_MY#zch}d~tC^V?tO15wWg7qh literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..07dda54c6c87dcdea94fd61598c067d1dad8f2ac GIT binary patch literal 1624 zcmZ?wbhEHbWM&Xz`2L@PjfG)BmDHRvk)Ak?R}&akG)T=V6MHp@;mst56K!052^`1T zxTcgyEU1xM)gaXs!!f5qWJR6Sn+Xj6N5N+|z#z<^!vF-JJkdUyBZhvg zj{1Q75a2LnkmPW2_|R~Wi9=RHhDJsP0TqdafCk1EW+@8>0|y2t P4n8KEh7Sx54h+@+!eqzC literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..affc4b38edcabdf472220ad797e841b83a09557e GIT binary patch literal 1897 zcmZ?wbhEHbWMeR5{{Ej~N{Pg>I+-~Y3Xdi+%&Sm%HHl$Koy?*dxdl~n^Qz=tOk#L8 ziQ&m4hX12rGz5lY2q^w!VPs(7Wzb;&0#Kf4AI%ZNF`h^LL~ICf{AXYkk%(YuaA;x^ z)d-nTu<#(OfVfRh#)L*!Ha7MQnF)o99T^o^B~%wV*0!r>-i@qfE5 z3LYQs5ws7}*;(}Dbf0eeF`mlJ&(AH;EEfAav*g9e6{hpUa(9)!y13r^cpUHSuQ}JZ z6<@!n8(p4%Z%aKlzn_dbQ2#{n{b%odFM57zvAMmSZROYJR~E)kU$?jV+xu&K+uhjv zYxn&8^kV1a@cMbRzuta0x_|oneRY4ne!u;Ee*gS`b-(|y-nifJi!(x@@sI3^geD%Q bjs?x!PB$LZi%3~4Y!yn2co@&f$Y2cs6W4l+ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-pressed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-small-pressed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..5542914b50bafd50f4082d58c31af5af0ddfc363 GIT binary patch literal 1813 zcmZ?wbhEHb0;a&#A9U!Wb`acRr zLtyxZfZ|UUMg|6M1|0?<0Og7H(Ht>+V|&zRghPPi69X%UjK_urP0bv_S}`X+JZNYa zQ1+VRv2oGSZXxcBJ0~_SKHe|I*dgP&DWz$$M(`?|1Dlqfo^Fu5NyTCFva_=-iZAgT z*u4Dwe1~Q(S+6ZCE-v<%tQC7|%gW2k0~UMD_1e1X>gtHiS$9uuU44Ch!r?Ai?`>;t zZqB&8D)#iYwYRqyJU%tod;7Y(yDL7wx_f&2`uqDEn7QSAc5HZfxI_|g``XfkrFEjOx8~ef zo4$LQZ1=P`QJeD~Z=1V1EH8Ff&ihwqPmAlt?XPD1Uh941UBcleVex;vEeakV?h&*P z)7e?{f^ntG$<}ZQUih`qKKqy=`y3#MXpu zj=9)nYaNz*b6dg9Q@+yE-`&|-_W9A>-{11$_tyX1B^wi7@bEwf=kHLS85z$R_nsI$e;_AA+QDv`h?Z|xHH+S~; zcQ^MnGt1ZgE-!p|yz_S4z39r%PcF=qp58ZS*XNh#*SeoSC%gOmtGfs5UH0qkv-$b? z_VMNB`{nk2`~L9m@qB;zeO15Td_2A1KED3%KZZ~033ZG@77yy!)H)tC{g=J5po!n; T#r+mmuZYAJiJ%wZ4h+@+f9+=b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..ff766938dc70fe780714fa739840cbbb8c5a5278 GIT binary patch literal 1585 zcmZ?wbhEHbWM&Xz`2L>(2>y?P(GVD^A)xq^g^_`QkwFKP6F_;QeKbdm)U+__Z%_zu W@G&rQ$arj6aIl#}SdE8+!5RS8sQr`x literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..ff766938dc70fe780714fa739840cbbb8c5a5278 GIT binary patch literal 1585 zcmZ?wbhEHbWM&Xz`2L>(2>y?P(GVD^A)xq^g^_`QkwFKP6F_;QeKbdm)U+__Z%_zu W@G&rQ$arj6aIl#}SdE8+!5RS8sQr`x literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..28cf5d5f203026061bd348ebb338e4a18b49e4df GIT binary patch literal 1596 zcmZ?wbhEHbWMfcb`2L>(2>y?P(GVD^A)xq^g^_`QkwFKP6F_;QeKbdm)U+__Z%_zu iNHQ>T$arj6aIl#}SS#klhJ}aQ1(dz!yf9E;um%99JOk7K literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..6bd98f0adfb1be34d8bd0487214b56f55194628c GIT binary patch literal 1620 zcmZ?wbhEHbWM&Xz`2L@PjfvsS1cn<8N{f^ zsj#sy{2v9QAut?6K=CIFBLf33gAM}_fbvB9XpR_;@jU7$Vncw#kb##&#bLt&$0jCT t1BVR^j*Sf5OacN68XOy#m^ruv6apO?nRwVZE_f_Bz{tqXz{0{{4FDS1+9Ln} literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..ab6770a5e63e4f51913809b91b2862bb5d8a8ea8 GIT binary patch literal 1623 zcmZ?wbhEHbWMfcb`2L^aMxEN5Neur-!DtAK$PiHc$->CMz{H@#00f{s(LS0ZMr1-5 z^)xgDI7}EAStKMF8XTI~IK^x%3>2N(xJ9jUI0}=FvW*R9lSOWn2#R@q9 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..6bd98f0adfb1be34d8bd0487214b56f55194628c GIT binary patch literal 1620 zcmZ?wbhEHbWM&Xz`2L@PjfvsS1cn<8N{f^ zsj#sy{2v9QAut?6K=CIFBLf33gAM}_fbvB9XpR_;@jU7$Vncw#kb##&#bLt&$0jCT t1BVR^j*Sf5OacN68XOy#m^ruv6apO?nRwVZE_f_Bz{tqXz{0{{4FDS1+9Ln} literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..ab6770a5e63e4f51913809b91b2862bb5d8a8ea8 GIT binary patch literal 1623 zcmZ?wbhEHbWMfcb`2L^aMxEN5Neur-!DtAK$PiHc$->CMz{H@#00f{s(LS0ZMr1-5 z^)xgDI7}EAStKMF8XTI~IK^x%3>2N(xJ9jUI0}=FvW*R9lSOWn2#R@q9 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..44c003139e4ea634d8a0a9f6769570b4e5208508 GIT binary patch literal 1616 zcmZ?wbhEHbWM&Xz`2L@Pg^A%(naqhiiD@Asx2oi>fY?&A!bC2W$V>_lVPj%oV`2C| z3PwX28vE?+@e-F9EC|o+J&^U&YTcj?A|5oShq)Glgi1- NV!?SbGmR7&tO3-E3B>>a literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-large-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..28cf5d5f203026061bd348ebb338e4a18b49e4df GIT binary patch literal 1596 zcmZ?wbhEHbWMfcb`2L>(2>y?P(GVD^A)xq^g^_`QkwFKP6F_;QeKbdm)U+__Z%_zu iNHQ>T$arj6aIl#}SS#klhJ}aQ1(dz!yf9E;um%99JOk7K literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..ff766938dc70fe780714fa739840cbbb8c5a5278 GIT binary patch literal 1585 zcmZ?wbhEHbWM&Xz`2L>(2>y?P(GVD^A)xq^g^_`QkwFKP6F_;QeKbdm)U+__Z%_zu W@G&rQ$arj6aIl#}SdE8+!5RS8sQr`x literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..ff766938dc70fe780714fa739840cbbb8c5a5278 GIT binary patch literal 1585 zcmZ?wbhEHbWM&Xz`2L>(2>y?P(GVD^A)xq^g^_`QkwFKP6F_;QeKbdm)U+__Z%_zu W@G&rQ$arj6aIl#}SdE8+!5RS8sQr`x literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..d1e500144dd447174c5e8aa141972f8239a7c587 GIT binary patch literal 1594 zcmZ?wbhEHbWMhzG`2L>(2>y?P(GVD^A)xq^g^_`QkwFKP6F_;QeKbdm)U+__Z%_zu fh%+#9$arj6aIl#}SS#klhJ}aQ1(f-CI2fz}PRaqs literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..a5b0f5fbf413215f6bea7155a9f56fcdf686bf8b GIT binary patch literal 1621 zcmZ?wbhEHbWM&Xz`2L@PjfLUO1cn<8N=uS>-b`Y6(jjo8PGwmN-;Fx81qnR2>XdFZ zC@o6j`9BIqLtr?DfZ|UUMg|661|0?<0Og7H(Ht=x<9XCi#D)Ne5rZIyio=Elj!jI0 t3>FCw92yzem;?e07#tdym^t(U6bc;}nHbn~6f_zf8d;cx7&tf>tO1ad+=KuC literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..e359f4b57730b73397d8942cb591bb5e1e43a2d7 GIT binary patch literal 1616 zcmZ?wbhEHbWMhzG`2L^aMxEN5Neur-!DtAK$PiHc$->CMz{H@#00f{s(LS0ZMr1-5 z^)xgDICL2pStKMF8XTI~IK^x%3>2N(xJ9jUI0}=Fv-b`Y6(jjo8PGwmN-;Fx81qnR2>XdFZ zC@o6j`9BIqLtr?DfZ|UUMg|661|0?<0Og7H(Ht=x<9XCi#D)Ne5rZIyio=Elj!jI0 t3>FCw92yzem;?e07#tdym^t(U6bc;}nHbn~6f_zf8d;cx7&tf>tO1ad+=KuC literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..e359f4b57730b73397d8942cb591bb5e1e43a2d7 GIT binary patch literal 1616 zcmZ?wbhEHbWMhzG`2L^aMxEN5Neur-!DtAK$PiHc$->CMz{H@#00f{s(LS0ZMr1-5 z^)xgDICL2pStKMF8XTI~IK^x%3>2N(xJ9jUI0}=FvnaqhiiD@Asx2oi>fY?&A!bC2W$V>?mVPj$VKMF=e zVEBfB;!hSv1_o{h9R?r(<%#yu95H-jd(>xyLx4k28vE?+@e-F9EC|o+J&^U&YTcj?A|5oShq)GQ_8^x G25SIEVF&d9 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-medium-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..d1e500144dd447174c5e8aa141972f8239a7c587 GIT binary patch literal 1594 zcmZ?wbhEHbWMhzG`2L>(2>y?P(GVD^A)xq^g^_`QkwFKP6F_;QeKbdm)U+__Z%_zu fh%+#9$arj6aIl#}SS#klhJ}aQ1(f-CI2fz}PRaqs literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..ff766938dc70fe780714fa739840cbbb8c5a5278 GIT binary patch literal 1585 zcmZ?wbhEHbWM&Xz`2L>(2>y?P(GVD^A)xq^g^_`QkwFKP6F_;QeKbdm)U+__Z%_zu W@G&rQ$arj6aIl#}SdE8+!5RS8sQr`x literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..ff766938dc70fe780714fa739840cbbb8c5a5278 GIT binary patch literal 1585 zcmZ?wbhEHbWM&Xz`2L>(2>y?P(GVD^A)xq^g^_`QkwFKP6F_;QeKbdm)U+__Z%_zu W@G&rQ$arj6aIl#}SdE8+!5RS8sQr`x literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..b50b4db5ad1ac7d8af8802dc00161ccf8915d7e9 GIT binary patch literal 1591 zcmZ?wbhEHbWMdFw`2L>(2>y?P(GVD^A)xq^g^_`QkwFKP6F_;QeKbdm)U+__Z%_zu ch%hj6$arj6aIl#}SS#klhJ}Y485tR@0sfr-b`Y6(jjo8PGwmN-;Fx81qnR2>XdFZ zC@o6j`9BIqLtr?DfZ|UUMg|661|0?<0Og7H(Ht=x<9XCi#D)Ne5rZIyio=Elj!jI0 t3>FCw92yzem;?e07#tdym^t(U6bc;}nHbn~6f_zf8d;cx7&tf>tO1ad+=KuC literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..42e0f9f1667d2053fcb11d35c9011cde10201bd7 GIT binary patch literal 1607 zcmZ?wbhEHbWMdFw`2L^aMxEN5Neur-!DtAK$PiHc$->CMz{H@#00f{s(LS0ZMr1-5 x^)xgDI8+!IStKMF8XTI~IK^x%3>2N(xJ9jUI0}=Fve5irJ8UWv21S$Xk literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..a5b0f5fbf413215f6bea7155a9f56fcdf686bf8b GIT binary patch literal 1621 zcmZ?wbhEHbWM&Xz`2L@PjfLUO1cn<8N=uS>-b`Y6(jjo8PGwmN-;Fx81qnR2>XdFZ zC@o6j`9BIqLtr?DfZ|UUMg|661|0?<0Og7H(Ht=x<9XCi#D)Ne5rZIyio=Elj!jI0 t3>FCw92yzem;?e07#tdym^t(U6bc;}nHbn~6f_zf8d;cx7&tf>tO1ad+=KuC literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..42e0f9f1667d2053fcb11d35c9011cde10201bd7 GIT binary patch literal 1607 zcmZ?wbhEHbWMdFw`2L^aMxEN5Neur-!DtAK$PiHc$->CMz{H@#00f{s(LS0ZMr1-5 x^)xgDI8+!IStKMF8XTI~IK^x%3>2N(xJ9jUI0}=Fve5irJ8UWv21S$Xk literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..527e49fa659522505e95d6b7b5fa5820dac84ecd GIT binary patch literal 1616 zcmZ?wbhEHbWM&Xz`2L@Pjfvq>naqhiiD@Asx2oi>fY?&A!bC2W$V>?mVPj$VKMF=e zVEBfB;!hSv1_o{h9R?r(<%#yu95H-jd(>xyLx4k28vE?+@e-F9EC|o+J&^U&YTcbKGeWq4FJDm1GWGF literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-default-toolbar-small-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..b50b4db5ad1ac7d8af8802dc00161ccf8915d7e9 GIT binary patch literal 1591 zcmZ?wbhEHbWMdFw`2L>(2>y?P(GVD^A)xq^g^_`QkwFKP6F_;QeKbdm)U+__Z%_zu ch%hj6$arj6aIl#}SS#klhJ}Y485tR@0sfrFD1h=r`-l#XQO}R~5a8frVC0bT Q*s$PWGl#Gm4+n!a0J?SvLI3~& literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-large-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-large-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2fb4c43bf2ef2922737842fceee48eac11dc91d9 GIT binary patch literal 1585 zcmZ?wbh9u|WM&Xz_|7m2Mnhmkhk)Ww7DfgJMg|>FD1h=r`-l#XQO}R~5a8frVC0bT Q*s$PWGl#Gm4+n!a0J?SvLI3~& literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-large-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-large-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..338914f5604531a7f802e63707de05f701be0f4e GIT binary patch literal 1596 zcmZ?wbh9u|WMfcb_|7m2Mnhmkhk)Ww7DfgJMg|>FD1h=r`-l#XQO}R~5a5txVC0bT c*s$PWGl#HN%!v&P54Q^_d(C-apuk`a0RP_(a{vGU literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-large-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-large-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..165cacfc0204e980143c3d73191ead6de0564a1a GIT binary patch literal 1620 zcmZ?wbh9u|WM&Xz_|Cw<#>DVu0>h04rA0|RZzeH3=@7V4r#3H+XITp0jXI?zNjx{| zRM=P;M!{$Z49gHu{K>+|z`)C(1M(dxPqdHbh+!Ggqn;u%1UL*CcsW!YHY{*#V&XM$ r*udb}$iU4cAh4jpv4M%1gG)dm(2DVu0>h04rA0|RZzeH3=@7V4r#3H+XITp0jXI?zNjx{| zRM=P;M!{$Z49gHu{K>+|z`)C(1M(dxPqdHbh+!Ggqn;u%1UL*CcsW!YHY{*#V&XM$ r*udb}$iU4cAh4jpv4M%1gG)dm(2Pu`rB+ z(GVD}A)xq^g^_`Qhd~GAK~SD(AI%ZNHLgefMN9~A=rXW!s5op`;Ml~(s$-Gxz=4s8 hjYCReL4!jBBZsn(gg`?>6C;yAl#hY}V?zUjH2~A9CL#a; literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-large-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-large-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..724a76d5fcc7d057207d0eb0ca038b10ee19b301 GIT binary patch literal 1623 zcmZ?wbh9u|WMfcb_|Cv^B2VI0l^nw;7!83D83KwwSr{1@m>6_Gz6a%r_R$ zr=cOhVZy-3A|b)h;LyazDQ06~py<@bEozm+QJ8e3T}V6Y%n8B8?p?Bub$c{6shpfF N7Mv$D(@25A8UUY18eRYZ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-large-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-large-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..338914f5604531a7f802e63707de05f701be0f4e GIT binary patch literal 1596 zcmZ?wbh9u|WMfcb_|7m2Mnhmkhk)Ww7DfgJMg|>FD1h=r`-l#XQO}R~5a5txVC0bT c*s$PWGl#HN%!v&P54Q^_d(C-apuk`a0RP_(a{vGU literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2fb4c43bf2ef2922737842fceee48eac11dc91d9 GIT binary patch literal 1585 zcmZ?wbh9u|WM&Xz_|7m2Mnhmkhk)Ww7DfgJMg|>FD1h=r`-l#XQO}R~5a8frVC0bT Q*s$PWGl#Gm4+n!a0J?SvLI3~& literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2fb4c43bf2ef2922737842fceee48eac11dc91d9 GIT binary patch literal 1585 zcmZ?wbh9u|WM&Xz_|7m2Mnhmkhk)Ww7DfgJMg|>FD1h=r`-l#XQO}R~5a8frVC0bT Q*s$PWGl#Gm4+n!a0J?SvLI3~& literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..cc48c8f3fc0b0263d1cceacb99da05f43e572d16 GIT binary patch literal 1594 zcmZ?wbh9u|WMhzG_|7m2Mnhmkhk)Ww7DfgJMg|>FD1h=r`-l#XQO}R~5a1AJVC0bT a*s$PWGl#HN%!v&P54Q^_^YL&nSOWl(FAQY> literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..62ca4fea555a2344d6ac6e6e129c80e0f3562a07 GIT binary patch literal 1621 zcmZ?wbh9u|WM&Xz_|Cw<#=`Js0>h04r6ox`ZzeH3=@7V4r?M=C??#>4f&`vhbxOAy zloloNFpPrH5Ezajp!k!8k%57iK?meHP@ZTX%@M;fo=5#eYzS}|F$i*~IBZzp*u*5r tV3F{^p^<@&Ng%+0!J&bPnL{r?q0oVmiGfW=L8HN;k%dW!frEp=8UU(!F6saP literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..adf64f064b9b2f91947f3b3be058291cba2fd912 GIT binary patch literal 1616 zcmZ?wbh9u|WMhzG_|Cv^qfYJ3B!*Ei8UiCT1QdU=FfuSOG3bE256Tnmqd8(^ri4*n zLqdQh04r6ox`ZzeH3=@7V4r?M=C??#>4f&`vhbxOAy zloloNFpPrH5Ezajp!k!8k%57iK?meHP@ZTX%@M;fo=5#eYzS}|F$i*~IBZzp*u*5r tV3F{^p^<@&Ng%+0!J&bPnL{r?q0oVmiGfW=L8HN;k%dW!frEp=8UU(!F6saP literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..adf64f064b9b2f91947f3b3be058291cba2fd912 GIT binary patch literal 1616 zcmZ?wbh9u|WMhzG_|Cv^qfYJ3B!*Ei8UiCT1QdU=FfuSOG3bE256Tnmqd8(^ri4*n zLqdQ8-`Oy)$M#Iz8RTUBybKy0a5VIr4GWTpg(u(2?Vg3%Bd z#v!2ilZBCiftx`G6_Gz6a%r_R$ zr=cOhq07L?A|b)h;LyazDQ06~py<@bEozm+QJ8e3T}V6Y%n8B8?p?Bub$c{6r5tQv Gum%8~-x!Vn literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-medium-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..cc48c8f3fc0b0263d1cceacb99da05f43e572d16 GIT binary patch literal 1594 zcmZ?wbh9u|WMhzG_|7m2Mnhmkhk)Ww7DfgJMg|>FD1h=r`-l#XQO}R~5a1AJVC0bT a*s$PWGl#HN%!v&P54Q^_^YL&nSOWl(FAQY> literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2fb4c43bf2ef2922737842fceee48eac11dc91d9 GIT binary patch literal 1585 zcmZ?wbh9u|WM&Xz_|7m2Mnhmkhk)Ww7DfgJMg|>FD1h=r`-l#XQO}R~5a8frVC0bT Q*s$PWGl#Gm4+n!a0J?SvLI3~& literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2fb4c43bf2ef2922737842fceee48eac11dc91d9 GIT binary patch literal 1585 zcmZ?wbh9u|WM&Xz_|7m2Mnhmkhk)Ww7DfgJMg|>FD1h=r`-l#XQO}R~5a8frVC0bT Q*s$PWGl#Gm4+n!a0J?SvLI3~& literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..7f61b962895da4a68603f144de0cfa8866472474 GIT binary patch literal 1591 zcmZ?wbh9u|WMdFw_|7m2Mnhmkhk)Ww7DfgJMg|>FD1h=r`-l#XQO}R~5a1ADVC0bT X*s$PWGl#HN%!v&P4>vM0GFSruA~Xy6 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..62ca4fea555a2344d6ac6e6e129c80e0f3562a07 GIT binary patch literal 1621 zcmZ?wbh9u|WM&Xz_|Cw<#=`Js0>h04r6ox`ZzeH3=@7V4r?M=C??#>4f&`vhbxOAy zloloNFpPrH5Ezajp!k!8k%57iK?meHP@ZTX%@M;fo=5#eYzS}|F$i*~IBZzp*u*5r tV3F{^p^<@&Ng%+0!J&bPnL{r?q0oVmiGfW=L8HN;k%dW!frEp=8UU(!F6saP literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..3508cba7e41245887d34d5125aea2778593b931e GIT binary patch literal 1607 zcmZ?wbh9u|WMdFw_|Cv^qfYJ3B!*Ei8UiCT1QdU=FfuSOG3bE256Tnmqd8(^ri4*n vLqdQh04r6ox`ZzeH3=@7V4r?M=C??#>4f&`vhbxOAy zloloNFpPrH5Ezajp!k!8k%57iK?meHP@ZTX%@M;fo=5#eYzS}|F$i*~IBZzp*u*5r tV3F{^p^<@&Ng%+0!J&bPnL{r?q0oVmiGfW=L8HN;k%dW!frEp=8UU(!F6saP literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..3508cba7e41245887d34d5125aea2778593b931e GIT binary patch literal 1607 zcmZ?wbh9u|WMdFw_|Cv^qfYJ3B!*Ei8UiCT1QdU=FfuSOG3bE256Tnmqd8(^ri4*n vLqdQ8-`Oy)$M#Iz8RTUBybKy0a5VIr4GWTpg(u(2?Vg3%Bd z#v!2ilZBCiftx`G6_Gz6a%r_R$ wr=cOhp~Aq(A|b)h;LyazDQ06~py<@bEozm+QJ8e3T}V6Y%n3o|Lk$ep0DyoLPXGV_ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/btn/btn-toolbar-small-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..7f61b962895da4a68603f144de0cfa8866472474 GIT binary patch literal 1591 zcmZ?wbh9u|WMdFw_|7m2Mnhmkhk)Ww7DfgJMg|>FD1h=r`-l#XQO}R~5a1ADVC0bT X*s$PWGl#HN%!v&P4>vM0GFSruA~Xy6 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/arrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/arrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..087b450da86f4da7c5a83047fc9241d16e299e36 GIT binary patch literal 833 zcmZ?wbhEHbJ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/btn.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/btn.gif new file mode 100644 index 0000000000000000000000000000000000000000..3e705baf565760d71621706987ff675fa73decea GIT binary patch literal 2871 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 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/group-lr.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/group-lr.gif new file mode 100644 index 0000000000000000000000000000000000000000..374ea7543201c8866153c0fa6080ca3839af4c45 GIT binary patch literal 861 zcmZ?wbhEHbe8J4f@STAnpdcY3A)~aUf?*VlhQP=R0mYvzj38g@fCx~YVBoM~VCG0R;dkPcU$#GB9(Fo^FtQ zY6-`JWxlhGi(jc!3O_$L-@)=5kJpwJuJhd{Yvpnzth~HDV6oR+udS=D_AoLsSOWkZ Cus8$& literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/s-arrow-b.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/s-arrow-b.gif new file mode 100644 index 0000000000000000000000000000000000000000..ba55d0a1275dbb503b02fd13bbe762f9e47fb7ce GIT binary patch literal 943 zcmZ?wbhEHbJi)-n@ST|b^ zIb=LGEI8QAA*>a1V#C72?E=bPb5y*%rmG?r2V4bbh`=GncH_mK7Hldra1fJ+)=!<>dj3y?C`2tO{Kn yygBQx)<>!3Wrz%h@3 zkweB~!vaSJW+APZ6B`yDZWmDYn&Yu?(a~-RV=J2z9}^n-6`Z?dJU1;lIawokRm{mv zOHWT%u|74&bMvyZvn`5W-8s2=`S~WPW-eK;Eh{cAvg_B1J+)=!l>RzjxI`#Dq9=fk#%3rRC{~gp&ezNTqkCW>)+qsp#O{4 QXGg)|gKfgXd>jnc0AI>kXaE2J literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/s-arrow-light.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/s-arrow-light.gif new file mode 100644 index 0000000000000000000000000000000000000000..08783c9d2f269eeb9799f2591ef41ddd2b14695b GIT binary patch literal 116 zcmZ?wbhEHb=fuXv$NLqWyN+-ySmHUE%YRYKic1f@rYk3( Xn&Y{7+1c3^#joz1-2D7V1A{dHmj^4b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/s-arrow-o.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/s-arrow-o.gif new file mode 100644 index 0000000000000000000000000000000000000000..4bdafd046de7199092f9536508b70a74a0a2e8ed GIT binary patch literal 155 zcmZ?wbhEHb6k_mTn8?iVdQr^6DAE65p!k!8k%57kL5BedK=KSsIWk5oPq*=2?kv2N z_Wo4VzITmW*C)=ZTsS4FR)PEAjOa_t=RR6}uWO-xGK=}1h{9*ZD(#CGU+|1^n$6w# zwQ6bD#%mhQzgtocCoTTMGv}YnnXle!eHP#RP&UV|{(1KAX#4Nmg>NW_cciaqUlGW_ GU=0BK-A91{ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/s-arrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/button/s-arrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..a77be7fd660f13b6277a34ed4fa52e12eb5cbe04 GIT binary patch literal 956 zcmZ?wbhEHb6k_mT_|D7_8=EIBt@;1|e}+*o8UiCP1QdU=FfuSOGw6W44$2b@95Wf% z88{3UEI8QA!7Ai)V#9+2ZM^bMJ{pCO4t9yj>YZ6Jaj|2Mq+^tb6zzjP1~|7FNG4%cUwfW)vgRqyf|OJ{Z|Or7mdqH*jPR0T5Zh?Srs&0 z>4;ZJ_O*4<#h+?+T~@xdN&BRf?CUMMx3{NVofj*8JvVko=G$jSrGxY1_Zk0XV~Ytk JIMTpi4FI$4P5b}= literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/datepicker/datepicker-footer-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/datepicker/datepicker-footer-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..7a2f56900c119e0be38aec640625d36c25f1e3f7 GIT binary patch literal 1835 zcmZ?wbhEHbbFe1Iq@$tNVqD=5Jy zDB=Go7!8487XpeuSr{1@_!x8;fB=*y+DCK5u#4nT50MZ89RC^EIb=LGEI8QAAuJSe zV#C72OajVYb1D`rI@&E^oOS1fVB_(A1?MiAmxYZdCu;<2MV#EU^z?LtaHAQXo0s`A zS`@#!b8@q~AA>_Pm#o*86&DwKOx6mOTCno+@_@x&bG^2%y1F`IbJpEcTUTFSpK!QK z)_dEUo0~H(uZlgrZSC#t1&>e7_1?bj?(T}uukN1SzW)CH24-$KpB)<>9_|pk3XJ=a!>)klHdHMPI4&_D?URzdNT*we|J& z4aukH`R?BK_V$kA*Z0ou-v0jnfo5)bzdbuXK0Yy7JO13Bou8jySnNIDZ||A)jmQU~$dc{RCEH^Pc0?BK zj4s|4Q@Ag_Y)yK_x{UHY2^CvX>NjQ8>`JNKlUBPgy>f3}?ar*)o!Rv}a|;e8R~}5M zI+k5?IJ@p(X5I1prmcC+Tl3ns7k2C@@7Z0}wX?EwUq$b}>dE`-8_$%sovdm*S<`y9 zvg=S~|DoE>6ZKu^Yp3pS>N(xmcc!K9QuCyv4O0&^O+Vf`{Y>lRvmG-|x6L@yKI2T+ z?1R&1ADl7ea@VxWol~!LO}o-P{c88ji`{c?Oj>eo%Chs*mR*>(;O5i?H>WMVJ$u!a zxvQ_tS$1N<@{-~Tgx`xUa|S^%B{CoY`?W?%iUF5@2}Z*cg>Eg z>v!B;zx&SmUDr15xw>=vgZ29!ZQJ`~+mSmvj^5pQ^4^hC_l_QYap3f`!)G2GJNw}H zxtAxeygq;Z-KCo^FW&ihj$;hsoH8C8796zp$T+b>@c4oQ4ptl9{CxcUY?nYS7uzPr^nkf~ zF-KnfWK`sLl+9v^jSOlzC8As$;v$iu&bdH0ut_86$zxX@GwwqiGMCbLCdz4)g$X=7 zcxoaWQ~HIKhmx0vy2>O}Xevx#ky5l?_wGr-qtgtHrgJ}!+;FF#5#6#i2*%nh> zyAFx!#AZoGf3_x%!Zyuz9to2P8w(l~c~334oIij5|Ns9CqhK@yhFS=VTXXjp>_!!i-ZjhjBP9&d=d&P1P-@w z2*?REbZj`-z{teJvFE@96*ex`7^N1;;s=LXIk{il(fr(WZkkH%E}e=3)qp;}RJS=1 ZACr#t%8J+VSOzWgoT4>ViN zU%dGJ;lrOVU;h61@&EsShEXsY0)sdN6o0Y+UH6|s2joUjo?zgZ#9+@MbEA=|m5*7N zuP1?_;V=Wcmd2kAjEoFSyb3l63JeWQEzG)l4<-aOJF{^!n#_11;LyO$#4EyJxnXG= zBd1*n!vlvz??xWBngt9APKV|*$upc#SeW74&N(&d!GU0fOO1}n=k{oQNISc~334!T+I5ReJa7x*DTyS#YWmWQ8@*yChwS&o6 zrsT(mM-FYgx*h@@4;QobG08Hm@c7Wg%*HKZQ}Uv~iG_ooBg3QNK|^B;FB^}5K!V!o j#pc~334eSRT}sa)VS__s8w&@Y zgu;q|!z~;Fasmw<8xA%wGBG*Ccx+O2Y*vXZDtTe_=t!5iao(F9ACgZ@)bm{w(wUgh k*e9SZBf7&RvvH|ppWc*{Usi^4=^EOswG7BU)WBd303hyMjsO4v literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/dd/drop-yes.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/dd/drop-yes.gif new file mode 100644 index 0000000000000000000000000000000000000000..8aacb307e89d690f46853e01f5c4726bd5d94e31 GIT binary patch literal 1016 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 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form-invalid-tip/form-invalid-tip-default-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form-invalid-tip/form-invalid-tip-default-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..bd64f328877e6dd3a7e7cc7f5b11dc1f2a4c67c9 GIT binary patch literal 1647 zcmZ?wbhEHb4Dos5zl2Nl0i$4P1EsCno@ab>G7$?h1Ysk3a6c$Zo7+(kth{UXnG<6)(s9<+y?-^Yc_7KuFgEbGlhS^zmba!W%nPnF+MNvaU zA&(RfJU~S>%rf%^i4Ic<4ev}1?Zh)&Dn;u|ktCajZaN7{H>dYXI6=<&Axu?eN?H@ea?l-hw8a{BOD z`Es?csj12Bo%X|x8>`l=+fcS?+(gPYiOtQM|4GBe_YWT4xT&JDs(N4L{`9E@4f8b9 zW-spDbl)iRaL7Oi1o-Vg(906!WJ-Wis8rgegRktagdy6hgGZ{&h?&(>b~-+jqmnX* zS;)-EBxZ#N4uJZ5aj%ngQUU>aoemd|dv!2jWl|^{ti{hV81g}c$vQYz`~wng>KTrL zR8k~{MAQhRMy04isnKYnAvuB~GDI#zq>SmnVq}YBypTxUI-0*B4&Xjv7T0qWAuybU zVH_<18*XO=hPN{;q)$>oW`d+$;$Af7$5SAOC>;!fhsGev7&&S|mAG7itH4$RLf8y7 zgLJThWcv#kAW;-oY5o9ath6noU8t4BZ4Bomz+ur&B9)S*(l(zpvl<@dDu@sRV-# z2ChnJ+KQucOsz*u2DK7HQPhZF`Z%@Tpi;ydO(rZ(t8I}rFr-@yVvDTxmaMTo*=IQ# z6cFKPOGm6xi(!Z&&Y+beYAuRtwR*JyRUvw<(S)i|qnM(;RKeqE9>gKTpY%yont$b> zAzyaj1Sux44kpEjQC8UhnQnu1yH@?O9y5bYEiify-mz-%R_}L)wt?^ z!$W!ZJX9#IXsz%6Iv%Qj#N$?<`mcFlcgsWV>$k|iULP{?Hf?TIvOjmR=DmU9Xi)Yh zj&Xvl2iFeXR=)xlc)JxN%39m#((U#-v5;m_WEmEU)@si%H~bw8_PDV zUsqbPcFpQl#Vc1VUskkq$;*ouEnM(YVZr=)`E&E;%$K{*yVxF z;hpXeyDu~(_}-2kg6;_nkVty}7$gy&Xz?XZtC9{)t0U)I6V&$dit-El*s$f>4t%_M z^Fg?wscLobcTwF6;uj66a^R~f#ZdtaKVNZ#jB>|mS!(3OIwmsv@GyV=T6J+ig`QAM~{AG`<7zn-Gp^}_O4LXYmX=Q zJ5_(?#PL(-&Kx_dId}Skvf<(-yr%M<+A(!|_9caO4?J8O`dHY3Nx?x~>h4(^5I8fe zM}E8n&VH+Ju&Jk{ zYJK%AD0EbpT=(03hppVULo(><<~C80veH9UB4+geEp#s&i3KF zE|$)St>o*Vq?sY{*%6*6hFm!xGQn`f%w3Y57~0PRpUrbOmMwX8YLBe^&XRt=0m?jZ A5&!@I literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/checkbox_.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/checkbox_.gif new file mode 100644 index 0000000000000000000000000000000000000000..835b346cc9e0e8e9089a03e4b0058653e99f765e GIT binary patch literal 2061 zcmV+o2=ezwNk%w1VKe|I0EYko0001h0001h0Dyo1004l10Du61fWW}Oz}%J35t z6DleyE-o%IGBPzaH90vsJv}`HB5^`OLPkbLNJvObOiWTzQdLz|Sy@?KU0q^gVq|1w zX=!O~ZEbRLa&>iedU|?(etsf6f+si5mrP-pS8AO_YNJeWr&4gHRCB0Sc&uG;qG5BSVs)lucBN-{ zr)YYrYkjM3f2vi6qg#TrcZREXlf8SEzf`8xUbgpty4+{EW4iZg!1r~=_j$(o ze8~BNf`W#IhKh=cjgF3yk&%^^m6@5Do}QkInY)acx{R8>ke$7up`oUxrl_c>uCA`G zv$?Ucv9-0evbVgnxxKl$xwyN(y}iAHo57Nw!Gfd7i>JzfyWN$c!=0zVo~g)}vCx~l z*?_*{qprxNvCXNp&#$=8rMA(ay4Rw-*{QqMyS~A`zre7$(YC(Txxdha#ps92?ux_X zfz0`e(D;ne_?E}xmeKH#)cKs$@txKDo!I)a$ltrd)vMF$qS^bZ+ViU2`?t;Gvf1yy z+wHgC^|9amt>FBz;rq1W`?ccyx8?l2;PboW`@q1#!o$SE#KgtL#m2|T#>mRW$<4^f z$jZyi%*@Qh%ihb*)XC4?%+S`+(b3h_)zQ@1)!5wH+S}RN-P+vV+}+;A+Uw8M;>+Lf z+~4BBY>io~@_|EM8-r?ij;px)l^493{)9m@t z?)}v4`PAck%;pOh<=jiC@ z>Few4>+J09?d|I9^6l>N zio1&#GrFT9WSYm1Ag2j&p{u0Hle%2EV#l(jOLnd-hM7q-Oc_2KJ3iUT^9d9}B1s|{ zN)!nbCMj3Gd>PYS7*$YJy@EvxRL*HnE@{2Ai4!NFBXuEJM0OD*NRpZ)UD~o;yQWW7 zv3ey7SG7@Bvuf??sTWwGWzkB)q*f(cw{GFirAqCZHdJ}J^6k|tQBbjF(PGM^$;n!m zh!Hm>18WvFZQQzbb9EJp*S^D&C4+RCiDpfGdl~x7E_CRoXK-EH*4r(u)_sFLlg3H6srOVndaq^Bq(PIE6uVpPZ!L!U z&MxCM^5;P#&N&1Ib6FFd^fC-I;fNECC-wQJQB$Y55=&#-aI=jzR~Z6HCZ3!}-7uFq zQ3xZFc*09C!SE7cXcJnbkwzSaWMfz;p`?<8F&5+_M+yZw(nCb5MA4Bk{aBEYK^95m zHBd$=Wt1{%B#%57)o9~7@tAX2j><#>OiI_V<f4Fm8jp3{iK`JFg0Earxg+)mYCQO1u3wt1= zNVcA`12DI}s#44gFvze2mgAjUOaw5CFb_G;k`zcSD5%iF4d?(9Nwy*b9B{9sc$0+; zGx&k!e>EE74G%D@0na%GhNXltMX=BU9^fEj3D6tz*Ak(p#8QkFT(r~8h8=2x%@07l z^UN|NhP4DDw-}MeIKJ%vk_*u6Y(w0cRl0K}jU9PpPCQ+LgrhFMIMd88Cvj>fs7eyV zq(V+UH09?|X0G|>3w7QQ=${vk(cxEZ+4$opg*m3>mlIl$7gBIw##L4H-n$r4U?57J zBz0iC@l}M70T_OkY0C4^hXRTz?AZRr^fEaKUKU0XJ51*)?MW`SK zGl&5d7??m8#=tu>fIQxXc$Y@BlAdKmu1l0~Q!KKT}XKhBEYm874ph3SgiWsMuYNz+eUi z7;*uvI7JD=LO}>XKmr#Cq!(OBMJhtCdKT$|C_vE1D*zG=SGj^HGGNFkB+?9*34s|r zAOQ(fVH9Wpg9|}%$4e5b3l#)G2v8vkQG6nlVmN>XG|&oKqTw=8xWX7d0D@7NVGIl8 r6!btbJzExzbr{joG#1ymk324NldBw{Y9~5_knSL+J00qz6c7MAhD0lK literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/clear-trigger.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/clear-trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..9bfd1843ba58552e8965bf60f55aefc435e9df19 GIT binary patch literal 2027 zcmeH`>08nX0)T&_72<_DnUclf0bZ#IMrwtK2*{YFX_+=)qs_MCESi;hg^(v~p=LUY zZeBA}9_d)An-!Xc_fb0DfXAp)i2T4Q+s9dU=YQCb`~Cs%hxd8jAUc(Jl$`=t1D`|y z3X7k~#NrMeUl91IMTfx(>LTB1ql9el?DL_(ZIEL_JkFF0{g#A2vRr~ztDV1z)l@LR zLT`d^km4prqtT$T1hDSxTsm4^PDNw!{eQE;`%pJZ{4q`hM^|6fKf-4-v9bcciODH> z1_~^rsBe30F22Ly2(m0(M?7LU5wR#dMrB59E({NkjLSt7d12u4T{?wvX5(G}C=OD~ zM$lMq#>wdU3_GxtOb`vhtKt zeDcY+Sk139U8#N=#i;6sSk3aJs-6utUQ&oC>Xqr4*?GBqQB_J&3O!K{hXWaB!AiPz zd4hTB0@x4_KKxoyM5EBdmy3hQv@mrML2-vHFQiUPPJ=aPz%^MA^BnEVDD7_w`E7sg z>g+~Eh<0U4vp7D-a|LT7)%Q<>4=-xh<~GD9HH%}~_eE{-HI%(jlgqAo z9Io^ZDj+r5V!Wn5-x{3|?c`DYs?-==CH@|2H&`N~yf>y7tX(ckigdr%iLz$nT&ON_+Fdv#Vis zoZj|F@|PKwO)0@;3DH@(7A_Zt&UzYIaqV<_qdQuF<`ggaq)TU;-9U-_0(HJ)Ye`z= zz&Blp;6_u+FWN1M5$emo{57W7I{|TZqo1GHwwJ|jRt~{YJ5`OOZS|5cMH??+b;>Ej zQ>N!6&)q)l3P70aj@+g(bF|k+FTul(bp9@x*`KgE@-b~29JjpGDY@yXGdhQ(E~KTi zrB;YL_8pQaBl~Tr)zV)`2T`W+q{!W-1LIXm>A#Ojax*igNoMK;>k8iA@nxu65L%fW z9YajAf;)aKEWt_~>TBNG(QR&aa;LP^*wkARsc*_V zh2aMu@2M;f`sYv6yJ9qJE5dveVq8gNeCMxGzG}sNew;#7fmuPvzS)1paXshYwQM-~ zE0g5U)x{B39scJNKYpfFURPa%?u#N0?EXTKkAhU^#D1^P&(D0S2dTrT{Siq%#2!bgrkVfR zC#jLLR{rqNGgXg^o1H9bFc7Jf=>@jSQYSWF8t(SvV1VTL);(Tbif@e$rgU*2xLR8S z3#R>guepDn7%+z!#U)XvLP@v_6-5wnxg`sD9LfhDWxbDl3 zVmq-3_bt=ci$|^R>^cxxkpVj0nJyAukfm4e_zI-FZkaghrUotivo4``nk-Zi{-CG1zmIrf=#+ zx%gT`2$#w@bXat6Xu!_yhSY3zytu$14wujCXBH(ES5h31XF3_x!lJuZ@%65j^uZ`+ k$O$bh-h+LkF&3eXeBS7giFm_|FV~cfQ5>&9Ab{_G06EYmxc~qF literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/date-trigger.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/date-trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..048506d71399300e424a84639ade8447daf723ac GIT binary patch literal 1620 zcmV-a2CMl;Nk%w1VR!%-0OooC^s8mxj6CtDVasqC@~?0tDmvVMC+n|v zb$EhXU~KWOZ}6sH@|#NWkv3ReY2be%;*?4#EI>+Apj{{R30000000000000000A^8LW004RbEC2ui z0C)fx000O7fOvv~goT58dIyS&jE#y|h;@>al$DYDn0lM5 zf{Bi=jF6|Zb(pNHdZN0aq_n4)cEQ5K#CAM`A<4?i%*kyBSPatB)Ya0L#o5Bgf*{`C z;NjkH2v^qU)R%PY?CtJ!UqXU%^!4`l^*TCt{Qds_{p#R&N041SL2(i)T*y%2jvW9a z{u5ZRU%Hfz2;7XS3T#__t5@pSa z1HITFK(we)qBeS%nAhb8g{M%XKK;=}js^`sCtjc<^r%+?Ntfb@!zIXsvuM+v4ZuTIt20{;Xt~yX(V|%q?kt`PZkugW6RExhr-}HEGp+^@j3Kp)4)-yMmQmlniI&A zD_4_e0%qL0@$#MvI{Mw=Fk4%%eY-&(C>z3y9}gu@gWlUyuO3@`yYshqyn`Q4zx;XX zp@)1eIwZ9n)_IsAl~iVM*Fp>NrFY*9)#EI~$$Gafj=0(lg%z>q{1SwtQS3{c1a z3?Yta;)yA)*y4l^tdPeF4rG~S8APl=L>X3M$>EPd7HQ@JM<%&slO#R~!(A!*_acuq z(zwK3ILi2dB4j2xz@Gy=A;khxJOQMdb+Gwl25;IGr;B)0d8L+F5^-0TlX}u8pnnQV zsG&$ISqB^tAcEKwr9@So}ZMIb0Ma8#OaM*AEx#I?$ zz`!#U>?|Bnz#Bsp@!~P>to3e@FA!Vk%P+DR7i-tCz$)AEx*vxO!N?^yjP1i|OiV=@ z6k7~)xiaTLbFu{E{IRpHu6J_1RG)mrRTr1*!?7gzFz^K)Kb>mSg82OK**;hCR@TFA zoj})LD_}q#Mi^lC-FO?Jo*)8PkjEGn1TOgCW8`504Oh(pKpp_h;rQc_FAl&6bIDCN z-k2MpH+BJFkOvqTgf9B%VB~>84R0yVIOMFWK6&Lir02wX0!)$K6o_k}dJ+Ki?)&da zFi!ae3dFwM?1BW)M0!o2Ucv6aM-M>ouM@vU4w+}3Ll4{tpv4q}hcEcC6k6myhYRVs zFuVfSXOH>z+yo#-6QkEJdJ|$ee}4MwE8zeC01RLW#3FzK8t{M!ETH+A-~#DM&jn2A zUjQfgzX2vM02s`m1~(W0{V~vi(SzXdw4n_P;vs=3JRl7Ypu5(&@Npv~VKGd|!5V5% ze=mGt3}rYB6Q=NoD{Ns7Tem|V27`t+v>^_M$hsmL(S&u1q7-QqL{3@pihpt<4^2p^ SE_yLb&cmV@vpAPP0029eiv#ii literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/error-tip-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/error-tip-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..6ea4c3838768c0ec3b5dab8e789333593295c15c GIT binary patch literal 4183 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 BA5{PV literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/exclamation.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/exclamation.gif new file mode 100644 index 0000000000000000000000000000000000000000..daa88b8b0544866d49f77eee405d0d888c95f6c9 GIT binary patch literal 614 zcmZ?wbhEHb6krfwcvj5t|Ns9_8A0ER!arvPe@qMfT^{jg9?8PpXN;X)Z6?n!T)P+$SzmCuS=%AP7M9CdCuE- zzh9M+FC)C)MEm}(j{32<=iAa*?~?9Q8sU07Bk*He<-4@dFLmjk zYEnP;HvO!Q{W!JdWkdes^339x_!FVF*His=#`>&wH_r`=`n_THx5;%s*UbC3pyli2 z+NY(lKUU0n5$3fo*84_`=budrKF*%-rlylX? z`zjA4_5U08kT%C#HknJ!+w%Bx|aw_A+kH3y55sFtfr zqF=&sMxmdXqSA6<(Rq0`JB@r<^!NjyLc45 k=R6d0KBa0H)!`Fi$#S;SXgW)1WYNN9GnLgOSeY2C0c}MSivR!s literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/radio.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/radio.gif new file mode 100644 index 0000000000000000000000000000000000000000..1d7fd156f887eb7ed61612cde635475504f73534 GIT binary patch literal 3444 zcmc&$c~}!?8lP~>selL+F$6?VNM=G3l7Wzf90VcADWHN3lYvBXnS>A!G>8-hi>SED z(TXCjUF~|HwjQmB=%V$2deow=ceU1owjStq%T5s33$>5C&$IJK=KH?+z1R2t-uF#R ztcb}%SU@0fkpt)!t;7n9*?EQq+KMzGv#0m`23h2+^!$bT;!I?rAU2g3n;FTAqcJ&G z%L6-$$a~uNA1s6pYNyXd6uEf{Q9}0YY~_Z=k62OSfqpD zT2?{6dda2&mPS{UK3_91FkmRDnv3ePrCNo?P`bFHzyGJj<&~V6biYA|3`rtUfanqY z9mz3j5VQc(6LYbAxr$ACeCP;?D3`KH>2wJw(eN>uTwJ2XQc4n1(UJm`B_(m9h>=Fv zsMIJiJwh}p6)GKUWRno7Iv0cSwfUGrA`U_H1#A+}{DEk;$yaMJBApC|q96k#G9WS( zMhg!Q4PC*$VFjf zwKksuu~;m#4k|SiM}+E%ReHo2s?zz7Xb@mJR4do$C>FmZiDVQ$rdp+P z6s^+>4Y)_cv5kq=r50;2N;0NX7iv*VXuvJ{k2t2&Cu9G(n%^Og!-s@5Fkg!ydbKuH ztyYXAEK#P`t93H9hR9E$6D0^LSDE)_W5ak1=Mcsw;mLzSL0TvkN`+`Jl?H=hpaI8wF zM^q>lD`1mwSIKg@6b=)C0v1z1Wzd*H2oi!Uel&wGpoj5u>(d>GlAJ8)SNL)N*X?vj}i4-tq#i;$uL~u8`Aj7 zvQC|+FG92!FCV|5x3PrsI=^*@;muyNK$cL*gs39uHFxz|ujz0Y9frUWKD~q2!>Umk zqRPkc9!Mem7jZD&Jq|hq(?{##{~ZVOUE^R3)%X8C9~5)g+>VN#`;e#LV|8Vc__jhjJx_RUJweP;YdZq81%U@r*c;Wn4 zy*=m7o;m&HsgvD*IdQz}Sm)7>BVT-e_|U-vpMAQ2-`@5;yLavU^CvsD|LNmxf85%( zrFHYBmW>~M*xc0Euwnfl*43|Fv$}3o?FTDss#h$pdcSg6#nN)qlEr1Ei%N=(MTSDX zPPjS{M}{@Z`{t8PkJWsLIC_R|N8=L20Jz;W}G|&bZ2g+Dx726Y!%+YtDDcBIvRMd z&pG~q+K=0KZmIQbUem#AHr9p-_xm3E6}D5k3GPni_HJTJB-$(4d0J3lZP2t77cYs! zxGW!g&nA1H>=Lw$;8@;PP9gx7CH~2-R<*lptz1DDExMjcYWlp%n`*%*!3ZH+yF+4F z(MngR-EF&x`)r~Msg7SFy?pCkCYK3cS-3XazcZP0Tuc<%)Nf0}F6_ zbSE3wg#ahU#Q@jJOi4FQfb#&!FkaK*(z2{g1Z?oD%<7B*Nt)jA6E<29JnDRodD>M> zw*|R-kI6c%SGs5IUH9ZTm&+LhLgID>trHhYF4^1iclSzN%rT&BGB+L0CuH}^i05?%5A5Z>x~4FNouMZJYiI{*xHiU?Y)~lsaV=u#qqAEiv0$HKNb7066DrY9?0p; zn6}Xo@djEytEis7r5 z%4=DVJ)KCDJIx5{s^c$0u9w?4Yx{VVvP}2o_Eo+m#~PhvT@xH>)#E?jvTH%kC2_NU z!H;&$El*M{t?NsItR9MmX%V3v3m$ONZv>bU+%NY9TQ_Mc1;OlrY8j#2F|FRxE-B~1 z76Nx|y=9!z)zsensON4?3b5nC_I(|qr^)dTiXI z1h#ueMa{i!?ftFp54gOx<#!HbP<*XST)@NjWrno;LYh4WfVw+a=FD4m`JmCJFQIjE zVxRocw*5&3q7#>ZP``^?<5Y`&wmGE+tg3ja{+`bZ-A*0tXx5Rr(@yH6W*21{>=m|c xtF9FXedqoCilB2P2|WupPqwR0I$HYl+vhEde|?c|QLA&z$Z@tcOtJzZ{tilu&o=-7 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/radio_.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/radio_.gif new file mode 100644 index 0000000000000000000000000000000000000000..36bb91d0c5ba6b94f2fae4142e1b0daf16b11514 GIT binary patch literal 1746 zcmd_p|3A|S0LSr}kuB5gMk+Ge+(wTck$ULrJXSQ@=Onf%)M^+amGe*+*J;@>(=rm< znzH#Wl@*DQugyk|h0s(J9u~z4MZR499ryhC^~?K*w-=e{wl~-nv>Egj1cL7gguBx% zT)Zq@NE=-Nt6g4JyGT~9fVo?Mjr%bh_W%^(#8yHO+#|w*$V3wYFrM_Cf1JV+84je7 z9ROpGU-)jyX(BU$6nbeLjSW4@*$~LtaEfn9=b%FPo5J`zLU_AExy0xc;4Ihg&$RuV zvJGs78Rz*%p2AAl3(x<8lzp}-|FX4l%|7EfIvgRBjB8tSQLP1VZWEF#ywdLj z>2hyD&Cz7(vFsX(us-NkLs+sfDkV2EMfeY2cqXqlT3nl0R8N;Z551!ZFX)PvHbvg; zPAF=Ql@G){8oW?FobYU%-aQi8(syOzQ{37bFFif|+O^~xchYiY*TsbylHyFUEVrOS zC@mHh+?B~>#g(;XRrU9uJgcg0tgWkKmA77d(0=`qGNYy=^WpQ%CrV+BN>bPLw6R6f z(sR2_!|q(n>iQ^DjS2e4MK5Qv`<8AFEsF-0Btwh&iZ>0-?TxLUQpLzh z&8rU$BjfVd`o|+*kbdR$!ncucOIodVe0*G|(@jlJ&&BTL3F4!sWQKrZSsrbm`jlswPRiNw~ox#)EssIi3K_U?mR$7V-IC9eE}g* z5#SHoR>a6~NhI<=Q;WTt%?}Qu9NUN;+@wtJJS0y=!z59V(h!KT_cmHu5NujLLCxE9 z_QU0%P-;FGb5tI6*gk|&C@tm`|9+v*B6nv=lO}$S+iOD$Mn~aW%lOvrmnW;VvcjwTy1x_M|Vx7g?UOR%A{vxR1=O9xx`_0#)mAz z#O%%n@__a?l=898*N7xDAiI1b<_~Z{nslUk?g_Dey!Eax#h5@k{{; z%`faJ5{8R)QaC;cQD8x5`VzNXi1Wqp3x`c^8P{6P{gaVWuFtYe7c(1?zIg}q~%W>VJ1sc%Av?5s&yuiMsG8Vvph~HOnJjUP7z}R9x z!{}s!KCBJ0F`$WM&Ver~;K&ocSHW(s6Mh)nO&1ErxjYUP9z|fJI2_q7U~QAux`?+R z3gs}A84lrf=7C(=X6VrsYzT(A2H$czA`b%`i`+&{!uU_X)(G<^EyNUO6=M{u;y53QM-q4Y5!fjNf2B$c3=RvJnhbNor$)h(^K&^hwf=q`1g%>cIxsnNp85qN`tNhU3jbmaN?09D@dd_WcK8kleih literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/search-trigger.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/search-trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..ab8b3b497d35c7989279ca2b6c501dfe0230de63 GIT binary patch literal 1534 zcmd6khgZ@G0DylgIB}%csWb#qafN2&_8gg-na|eQIeJ!Rnz_1H^2F4@EqRIsB!)N= zJ@w3$qZ}xe<~YyHQ6geR0b*!?xbONe?)wA2_r3S|ob+~Zyo>=10A2tf5G;Mb8f|?S z@CCxzRHPZ|7k0i242c#O+OAN&xp;G93#ZLh{*F|%BN1{4F2f0i!o0(xhn`!j{JAtF zsf4~Q5o}ABR*LLaseX^BmEV|TF{@;mNm@ulz>&w`NVIIUS~gfpE}_roxvY=Z%7^Li zQ<0pzu%URv6^fU*z@{S-iZDAif6r_*5y~aFZc9aLV~lNyP&PzcA$!7+c9j3L1eBQd zsO={5MY4;0xC~}uyFOm?0cXW2@K{JUStcD{%C}xA^@W=q6BnTe;|$@Z=(!a5?^uF~ zrSrl)q);dX{+GblK?(p609gH~`|$)&*-iJu;WIMv0Rf=Ae8T-aryL(*@q>p%tDLNo z%p7G}8NHn5TtuoarUX#yaJdDIghED(52d~?prWh1s+B?UW%duSd=KLdhTaU147q`v z)F<9fzMCMwob7*&Go0rvaOd5Xou|G`l1~YjM9ZgK?Qq@_sccP(LiulP@9b_DyukPr zhPiln=~{#i2Eri*z@Z(zi%-K9;^emTZ;?%h^z!y{!n|gle(KLYXo7>x{*~@x0=)|5 zQgj#mNWxGeI$HPIXs!|`8gPG5lT~WO;~wSGqtEHd%mU?(dlZ@FClvOForTpBi6+pT zy&+e)c$M?p2bu(NQN``?yKT3mU6TrP?OODSVrUUQy*JIV=GuobQCMeKk_80YeiGlT z_O}eYACnLQB<8;QtnL}@T8*JDHoRUdAaRI-0^Zs%wY4MbW6Qn;)UZ4;qIIVxq>;vE zC)^p(fUWq)cjA*}{KpO}jY+qej3>{6)t6&ULqk_Hv#FkojwBs5V@cA1^lmlz8Fh^a z3Oo{+qjNR)o7R97jfqiYC6@<-1G&b_`mB8G4J1IY?ZJSups2p`Y(tzXHAf9(ScTD) z!>Y8sl-1z7gd>-HDvLelD3t|?(FUB9L!_MayC%1C(-Hp4XD(~m@B+*4`}jMSK2*J8 z{;9A-Z8luVBUzV6xkfYmyhlYcdmXHVKH?5m0W6}x2yc2#1>)j(1{mQr{piZ3<(8!>J4KaOBl4br>YJhc;M1WxI8fs℞CI#GmF2+Ny;`St@j6 z3Senr-7E3~Hb~$RRGpdDCLijqLbV-dw!XV$c|*NQ-7=~Pckua*y0)I%%uZf&uu{gv zSq(wka`3*sXG~?Mr7#A`qRWQPq9t41BCMV=ZyE94s6Veikh$`llBe!bYm{wei}CA#HZ^>qIoEYv zZyVuEdrsK6^r`yVv(aP6AxD%#kB;j|-(75kUC=#w(?%gw597+5*_ZG*LnQ{@ zfPNd`cE41|lLZ7pZ2Mx@*cPQP+or?wPd}TDG74jC z<1=GrpF>p&&|Dle)nP1Q7-r8-BBQ+Kwf*PqdE}U$^@(g}SE6o^b)59$Z}DvDG^s@k z^S%+g<7j^;|57_2BkacNb#JEHiJM;23`8A4+MUbK$)XhAxDQ7r8O+wU4-rIS8@6Tl zVk$=^Q$f9o3dHzt*bRZcQjdJF*xF4fnRbJ0im-E=i|xHr4KLGJ9Y#BTj9$eZEk)I> kvY=KkraCby{qmb|ZR`R>hL%1y&Y_N;;Xo7+mIg#o3EBB2HO1B4$mm#=;^BJZ zD^2n@S`?r3X+EE*4Mfi-8$r;=xi()H*q!Y4c{T@xp3e{ZIM4CRLMISf83sq6*JJ?E z*UjY+)Ydm|%8Yrl=Plj5b;s^~2fyuUhoBz^dcGf<4M#suE&O?93lNmM{qh=!etrJ}M+`#&DE?$&WMJ@Q&;dCX6ekSq{~NfPnp;|%Jw3&` zx_f%N1UdvKO`bA!5`TyGtl4ws&hC&|xM=Z`h0+tJt(-i=vu#~lXWyot39GgV&X~7r zp6AkiOO|h6HG|>kvEwI>HY=Ptd+z+1{>_)CpS*T_w$iQJckbSjlaao>c{WPO$p?kUj|GL^{CabA*1i9Coo-HU&6n?1aEy4ttiU1FCF9!l#DOtaVQ0;6 zBQAyq{0rP0#Uw>t+z+@4wz$R!I2`{l*I2|>$?c8f#Yhi#WmCO3FFwkjm@QVsWw7C~ z${_{U3I&Vnmn3-jq;b3CzQw;pS znD5}lGq0|4M3xu5ef2i`#0IugO0^#!0`tQ5_CyJ%V zB&nN`IqHPXoEeflI|SA3rdYBR*`7?)-oCphvgKK0BD;!2OI`reR$s@C1&xb$aHc7x ziOd(jnU`}jI=gsxuKt^?*-a)H3)uaepPbw@^U^V&zi}<$FW76v)3T@k_TB%eJ88XE z?XRz2bobWl$Jf<)Uyqy|!N!vI;b0?&+7HLZE}sVvng!fmD6mdqnQ_ML@ki0F78xgx zL>7jQt+N&Oa(=qqz*h8`r->)(!ozO)s1BaCYR`0OcKtGm#{qLiKSpLOR=hT;QEh>m zAlGVFla_0oEM_wnw-}zv;ORBX+Wc^`;5&&Mku8#HOB6JvB3+V;7EWj^*Gqbt*cv3} zoH{jpm1SaU(!|nfiJ81V4i+Sxa&6{Fx6*vh61eT>vfjc|ks1sf9}+~oymneXVON;( zAtc6?fsuJZ<1)(^i;U#7Vi#pKMO}*2^0j=~q;x<;)OSvq)r&a_+a!}p3LaT#uTYem za=~p?)5)Zz0-h;M3%F11(w^P+sB6W#`9|G6R^on93KKucq$f0Hoby_-WucX|)|RfO c?8Ky7OIN?!^~&p5cEh4;VfS?8*_art0mzfzN&o-= literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/spinner.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..c0944f9eb917a3f631ef066f3332686fe9651260 GIT binary patch literal 1145 zcmZ?wbh9u|tYDB}c*ek>ZR`R>hL%1y&Y_N;;Xo7+mIg#o3EBB2HO1B4$mm#=;^BJZ zD^2n@S`?r3X+EE*4Mfi-8$r;=xi()H*q!Y4c{T@xp3e{ZIM4CRLMISf83sq6*JJ?E z*UjY+)Ydm|%8Yrl=Plj5b;s^~2fyuUhoBz^dcGf<4M#suE&O?93lNmM{qh=!etrJ}M+`#&DE?$&WMJ@Q&;dCX6ekSq{~NfPnp;|%Jw3&` zx_f%N1UdvKO`bA!5`TyGtl4ws&hC&|xM=Z`h0+tJt(-i=vu#~lXWyot39GgV&X~7r zp6AkiOO|h6HG|>kvEwI>HY=Ptd+z+1{>_)CpS*T_w$iQJckbSjlaao>c{WPO$p?kUj|GL^{CabA*1i9Coo-HU&6n?1aEy4ttiU1FCF9!l#DOtaVQ0;6 zBQAyq{0rP0#Uw>t+z+@4wz$R!I2`{l*I2|>$?c8f#Yhi#WmCO3FFwkjm@QVsWw7C~ z${_{U3I&Vnmn3-jq;b3CzQw;pS znD5}lGq0|4M3xu5ef2i`#0IugO0^#!0`tQ5_CyJ%V zB&nN`IqHPXoEeflI|SA3rdYBR*`7?)-oCphvgKK0BD;!2OI`reR$s@C1&xb$aHc7x ziOd(jnU`}jI=gsxuKt^?*-a)H3)uaepPbw@^U^V&zi}<$FW76v)3T@k_TB%eJ88XE z?XRz2bobWl$Jf<)Uyqy|!N!vI;b0?&+7HLZE}sVvng!fmD6mdqnQ_ML@ki0F78xgx zL>7jQt+N&Oa(=qqz*h8`r->)(!ozO)s1BaCYR`0OcKtGm#{qLiKSpLOR=hT;QEh>m zAlGVFla_0oEM_wnw-}zv;ORBX+Wc^`;5&&Mku8#HOB6JvB3+V;7EWj^*Gqbt*cv3} zoH{jpm1SaU(!|nfiJ81V4i+Sxa&6{Fx6*vh61eT>vfjc|ks1sf9}+~oymneXVON;( zAtc6?fsuJZ<1)(^i;U#7Vi#pKMO}*2^0j=~q;x<;)OSvq)r&a_+a!}p3LaT#uTYem za=~p?)5)Zz0-h;M3%F11(w^P+sB6W#`9|G6R^on93KKucq$f0Hoby_-WucX|)|RfO c?8Ky7OIN?!^~&p5cEh4;VfS?8*_art0mzfzN&o-= literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/spinner_.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/spinner_.gif new file mode 100644 index 0000000000000000000000000000000000000000..f8c5ab5662e7513f81220ff2c145f7c6c1d7a6dd GIT binary patch literal 1943 zcmeH`=~EL27>73;AsmVvMy!b>idLy&&}dVwnsDP$jkMY-DB5^5#+nFP>O~+FP@%=@ z2qPAWwiH1a7_~wb4X0GDa3};6HXOMin2_C&WH-BoKce6I%x|7~KEE?>WOM}Uv%|-L z`G7hb2;O~dEjMc&H;WmQy?$n2W?y=!xLl@4E>noh6_2Z4J*jH0?odCIt7|$nuLs6n z52#uORK1F!)_1D*_iDue*gmM~7}T^3!YzYl`JkqC5NaEO+J~SnP}>1Qa?m6Pp)RGa zTd9*PA-NLnQR=#shEAoaOF7l4gu9i7o?%`0@Kn#Rv3tb)W@N_Gy`vLvN8#QvxNl}E zSfPUYRZ|L;xnBhhs7(E8s9$Y;7N9m6pU|DXTp z0(7er!41HHRlp3hKLL<1U;&8|RRN|Zle`0Cn+>v;j`Nl-j-qjwgrxh;-`LvRc{n_i zv?T<6TKs!-=<=AgC56ECmfX~XuX&>~Sz118vu|*U&v8e`wQ)@zS2K%JZZ6|4iQ_$1 z@ATRCHS0ISjm$TtJ5|hT{+nN<&Y#p>ZB#mE^i`buh$@!dDkE)h?8`jSVy;bjboig! zoAb@$yqDrOr~N*}io9^XHY91$4?%IyVy`d>VSs#Z`2liO-}4_c?hwwL6P^<-5e;|= z8~_q+pE0E~=yM6Vt@`ny`eSZhD|k%|zit7y^q9U%pF(Sv1P}rMF~E-g)urI+%$+`?_ zI>r&oJhzfqLv#~0YUx>OA|sSi4+qCm)~?k*P~{`PaOQr)bK$S9 zO!Jkr{@Hv{5+xnG9v!3@y}`wR28t8w&q!}a2eypDM%nL)be@z4oE|l#^Bs9!bwqLr zH{+v(?D!S;nv@UJ{7aZCyHHYc*2z2Z@k$vjCUND*)F=v9BfS!||6SI4ohWm0=7d)L65;3RQb&!#oPt7D7Co*P~xxwQJEp@H4cjWsNLt!-VjKOWMSm zngI756}65&4~4Ck0s$r4p}e2peqP2`JNU&LQWu@8GN#JI7Ezf(a%?>3z|O6wV&$O= zE+xL%_ANvIS0Df6soufcl=VGdLLktANZlJFx#>NNBRMm;JPxry)RlU~?sU6?@i?VQp^PQ98p z`491i_}<502HGp( z8I3sE-Krf#vP@g;#*So5jJqG1l+L`9x#eg)czOr9z$j>DMK{M2rR;@lHb=6s)x#r# z72uIQ`%)K|~xaIKDB2sQ(#CKOtFdO{4@*-SU zfu6#wk;TJNueLH|yi;DB`A2$gZF+0;OhE5bJq@qenDJ+8*HVAQnaC@jo%weDeNw>3 M(a~3(oq$dM0v3Y{dWuia%Mvv<`>_sbyehk1!GX KU~q_q!5RQ?RtjDK literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/trigger-tpl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/trigger-tpl.gif new file mode 100644 index 0000000000000000000000000000000000000000..2574eadcccc089007cc24b56af026313577b0ded GIT binary patch literal 908 zcmV;719SXGNk%w1VR!%-0M#-8>xwPxi!UT9I`EJ(@ta2BgDEI3KHPsN-;6xVa2fKO zO7W34xMmt5Cp01`HQ#+8;C~|8ekb0FJjrhv-hn91aT>gOJhf~mAtyEAj6Ly~L?I_O z@s~pHj4mK0GVqQt-;P1sf-LQoLhhDBAtp54i#*wWC*Xi3ASW~-C^g)CA=`T&@tjET zku=C|8FPD#B`Z7NfhYg}{{R300000000000000000000000000000000000000000 z00000A^8LW001%oEC2ui0C)fx000L6z?X1HEDmKdlXA&yDlbTvbV{vC8AzkHh%9-( z;IP*cwVJ0`*>){VI^Rs_dG5lp*D|p_Os1c)B!Pm1gd`3_3yF%0jENy87X^}&l$DZK zg_(kfLJFRrprM{1B^H*alvgmTtgWsv9vea}w6(UkwG6$+VL&i>A>sktM26H=IHg) z!|<^(fMJ%rYzGefo0dS}z=ALM@k4-Mp)VH=9l{`J@Zhb47K3GU$T6bCauh@I!l-d$ zgN`0+fmF#-qk)$uPclnMbELrkn=oUxm>IGrNt`;H@hs{Sp8*mw*%S1wqyc*mk8z_+j8zkR#b9ZdIbUc6}C zDsHQUu;UX_4kL#80C>b;C|SX}wd>ccA8-y$yE9r5 zxO3~?jhllP*uY)Oc2T?bXw=9{cbFQyx$FtWY2W5eJvWE0&4WLW9{PB4KssXpKutZVBmoWCYVBh0W|2~gAg|O zK|(52XyJtzRtQ0X3U+9zV1FZoDB_4DhNuBW8K!vQh6#A+A%hXd=-`A0sAwaLE_MiF zi9CvUA_6w5h+~ckj`Mj)oQ2hK#};nD0f!uZSYgMXM&z-_qJ0!v i#i58E5vZU|Kp}&pRHP9p5nU{*2N{=QdIb_e002AxiJ9O4 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/trigger.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/form/trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..bd255727c7b9e974677334090fcca280dd61252a GIT binary patch literal 1451 zcmb`^{Xf$Q0KoCD=jT&I+1<$)o5@4-kQmPM(~+DIwie6NmE)+EXPd_vAv1+B^CC}$ zA}>@Pi^xd|dD>8R&Biv*(eBm%aGyWm{maMM)ye$)RUB{%_<{vApeBq|?YV^0v&m4H zf%QTzl1b3zknPw+{mlXdugqyQT5XAhoKJ!B3eEUsZn}m@W`Ui(tIvEYjFF!B7)!x#wmrW|4?oEpp)AcOCglZT+t4r)20-k_H5Bv5*Ge z%s1kdItc19{0dhd8Og5=>TL{YF%6~(Gu21fZIBG$Mpo`#C@|FQGuidL zjoarEcOJ!#S?I7@Xt$DwbaKD!{Cj|3tfEmJ3rlM6m14^p@j3aANd`?qL_MC~CK-$PsJr-&*`D2JJr)&4AX zZM^(!erk^)C?twms>E3W=PsnHmqe`tz>#S=C|67Am+~Vy&S&LHHB3!u<9i=uwS& z?8>V>J&-i+Y=CXzR~?UWzba?ExQ*O!?Dd&~fsTxJ%_ikV+~*3)Vti;lV=?@qLkv|` zCTX)TX`eHFI#!qj!OQ4Kw=!@YGBm1&48&+COQXTeF=t!iSgPV_Zp*+O>&}^>%wMae zmsK=1AEt`BvT$f68#k6FX=TKPF3dBZ1kwu{L~IALuN33NmAuetgU7Yu%gc&hh+RS+ zDw>5Y@%G-=Qg*^dh%4K~^RJaQ%zS>8;X=n+TKAk`Ewgib@;V zieGjzN&~bR_0US)0~r`uDh`B~N{T;bSBJz+vgn1L0TCzfpbu!ZcVsPKq8TrUtR~Z` z>4)@!P)9nxt=i)qS{@({M&niA!vFe9t?6rDZU<;Zy6dEJBZ#iMXxz zsLO4x@y1Kh1WwBk;`NQH5qLsx9T&x1fAa3Zx5%!Kvbi@}TROhZKVzU{hB`ZS+S&DM z=)TA8a+tE_z70v)`@)`4P~yfDAN{dEpDX%x0Vg4pu?z(Z7KShqWKJ0xH45XUD|;f3 z3r1lOl~?1)$_YZBRe7&q`~+qQF#>BGYm4g^6c+MWsgCsBYd W-d@>dWC@R?7iK9bN7HElVEG>=7N!~i literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/arrow-left-white.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/arrow-left-white.gif new file mode 100644 index 0000000000000000000000000000000000000000..63088f56e1c33fd23437ab00ef3e10570c4a57fa GIT binary patch literal 825 zcmZ?wbhEHbWMSZBXlGz>`0uc0#Y_e;`2YVugfU8vhQJ630mYvz%pkAofCx~YVBipA cVC0bDXlQU?ViVMIiI|XhxRH&WjfKG)0LI-8@c;k- literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/arrow-right-white.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/arrow-right-white.gif new file mode 100644 index 0000000000000000000000000000000000000000..e9e06789044eacb8a695cd1df46449bcb2b9aa07 GIT binary patch literal 825 zcmZ?wbhEHbWMSZBXlGz>`0uc0#Y_e;`2YVugfU8vhQJ630mYvz%pkAofCx~YVBipA cVB}zNNKj~OV&PY_IbpESp@o^1jfKG)0Ls}94FCWD literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/cell-special-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/cell-special-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..d76ffbccdc66ff52433560c893ae9f3130152a2c GIT binary patch literal 1636 zcmZ?wbhEHbG-qaH`2L^a#fulOUcLJA<;$l}pFVu}@b2BaH*enj9|fZ!Ffu|w@h1x- z0|PsQ4g(N?@13PQn3)hIR%euQ?tY7ai@E uFwVMjV&mfD{R+-qGM<~3oSdu?yej78rlqH+8zi5a< zMvplj8y6kzmN3q`b7JG-j-2EYIms=0ihImdkJxD*ann5GrhCOt_fD7*mN_@JU|~Yh zlH}5*DP>F3%9rQXt#bJ9P}a7(ufM;0=I)-EyC%%tyKeK&xyuhMUUy>sj`JIKUfjO_ z>dyTab{)LB=kT>-Cr%wbdG^%lGbhhnIDP)=+4C1qp1*tM!nLy(uU)-*?dpv?S8v|E zb?f%+J9qBfy?6e~qdWJX+*RNl{ef##~$B&;sfByLSi(wRuh5*qap!k!8nE{v; zbU->ld4hps4uc|xjK_ur2b)<{HDXQ_Japi6Q1W6iYUvPA5Rzlscwpk<4sO9XmXjI+ zi&_OWe7|@wG&BoL67X4M6R7Omz-DfcwPk^l8<#v6OGU!M%_;%{ss?XfI5Zp-5OGar zYW(QXz|GEX#*rx~s>CVD%q0^Mz{1hH&cW`(j0A>8wr;ZvZ4rjePOb7*MGqXL4LK$% TI;tJY@rY17bXb6iiNP8GS6tA5 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/col-move-bottom.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/col-move-bottom.gif new file mode 100644 index 0000000000000000000000000000000000000000..cc1e473ecc1a48f6d33d935f226588c495da4e05 GIT binary patch literal 868 zcmZ?wbhEHb( zLO{cVgpLOZ6Fwx&_)sw8LBWC#1q=Q+toSft!~X>b{xgh%(GVD#A)xq^g_(hYn?VQU zd{CZX;BaIR=ZFzVT;Rwl#vu{Yu%W4$ky$xng~3BdrVc>?i4_ctPK=BUEM^-R4mL70 a^J-WG2rw*VW@C5a%Q0YR@NEQ2S_1&+BRBT| literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/col-move-top.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/col-move-top.gif new file mode 100644 index 0000000000000000000000000000000000000000..58ff32cc8fa2aa1be310b03bb2af77c1b77abe93 GIT binary patch literal 869 zcmZ?wbhEHbG68wVGIhem=U(^LUb4h;c?We$u2%uEc{03e(}^8f$< literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/column-header-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/column-header-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..707f6f1f7dfe5c930ae4b00e15eba08c255a4a79 GIT binary patch literal 1863 zcmZ?wbhEHb-k*(u`G zmX((|0v3DC)mpgf>gov1jJv0{W;d))INT-c{Y|@JbH?RWv8T7Ky}iBQ@u|7q+t=OQ zUGe$V-P7CG-{0TB%q{1$W5dJ49m3jiXLf9Se0+kk_dK7So1UJYVVr&M%+Afv&o6N9 zmh;`U<>loS!K>rW?%MkL`iA7w^L%%2dwY9F@#}kMcW-}x|3EXhyx*Q3A0MBXtQ~)D z&(6=!FD&++@3(i?*Vi{TXWu`!clY=A4-R*$$oucx^YinI%d6wh@7w$P`-jJ;=lk#9 W_xJaY&#&*F-@pI=|E;Vn4AuaA4o{f? literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/column-header-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/column-header-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..8c6630437b24acbcabab219bc011dd5443ee9288 GIT binary patch literal 1860 zcmZ?wbhEHbSg3VO35MRZd|Q|3|@S2n^*AQ2fcl$iN`Vpu+$Jpghq& znj?mCe2%)E(h%VI&%nwdv1X!(Fo63)bA+oN;+o?CEW5Z*MPnd}^-u_H}o6 zSA2eT_w@Gl_xCq2bIbYc*zoXhhp=|snH?J+AD^J?Jz+epkq4#9( literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/columns.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/columns.gif new file mode 100644 index 0000000000000000000000000000000000000000..2d3a82393e31768c22869778698613b2f5f2174a GIT binary patch literal 962 zcmZ?wbhEHb6krfwXlGyuEL<5_v@*CDh*pJ^t_~?(6IQl1ymDPc)rN@bjZrn5V(PZU z)NOSrd+hMvA+B+IeDltP)?JCMyOZ1ZrgZEJYkQj3eITRnaL%L?Ia5yNO*xf6?R5V1 zGX)b57R)?XH0ylvoQuVCFO|-_Qnuh~<)Ryvi*HsfxmC5~cGa>w)ywZpoH%jn)T#64 z&D*eH!>(Ps_U+r(Fz^e+YaA8aNxk9Lx+wXJ9gs4iBqReojG&n z?%lgL9)0`&|3AYh7!3i+LO}5+3nK#qAA=6a7*L*I;F!-K%OT^jVZp&>mh3YgjfYq| z1(lp?K5S5QW|J^Yxp3pe#^mFCnoeCZo|g`B%4>LkiP*V`#cPUi%)1K8vI{DjqJ*BN5r{ru+ zE8dX@@h1x-1A`ia4#-rHpBUIY93~fd=t%XSSW=X!RXD?mhh^5u1eqRJ zra}V|4(7yC6`@KS8NXveD>;rxe2zT3&O@bf;od_Jstz(SGPv+_sRXDB26XrI_Bk?G F0|2KMVH*Gd literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/dd-insert-arrow-left.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/dd-insert-arrow-left.png new file mode 100644 index 0000000000000000000000000000000000000000..5dc696781e6135d37b5bf2e98e46fd94f020c48d GIT binary patch literal 345 zcmV-f0jBq$gGR5;6H z{Qv(y10{fofkH6I3@AO3$p*x`Nil#0jeqs;pT9Ds7{CaN1)$9r#n~kE{`~pF@bLXZ zhF?E_GyM7i!oL`P0x_8Wj$ni2F7#hzWPxfvDaInaJo@X+Cm!COivwWT<1&XvJeYQNiErjd+Mbq870xT@Ntjs=&42%KF O-2R=tef=(u4AuZIk#dp% literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/dd-insert-arrow-right.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/dd-insert-arrow-right.png new file mode 100644 index 0000000000000000000000000000000000000000..b1a1819238c6de8f9e50988f4151261fa6ba64ea GIT binary patch literal 349 zcmV-j0iyniP)o>#A+qW*AYQLZl(!&BX$x7Ik;qO170ssEM z@$bKXf%rGW?|(r27bf-TSv zD}TdX0CM*JhkLO)8|Y^+n~Q^sK~hqR;q|N647YFGy>NTZJsWr!5CaSfwJm@a><8NX v2&h?|-IZKJJ0|B|1&T!DE?$&WME)o&;hc6vRpv6XiL6g#jZDT V!XZr_>1WHYzYC1;2x4Wh1^|gq6TAQb literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/done.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/done.gif new file mode 100644 index 0000000000000000000000000000000000000000..a937cb22c84a2ac6ecfc12ae9681ab72ed83ca78 GIT binary patch literal 133 zcmZ?wbhEHb6krfwXl7towPL}p0*huu%~roJzC1V7qiQ)z(xVq;t8Q*e g@TwP&*%vbDj%DY0^FxMh_Sd^OqF)Bg*^}7&&A#5)LvkG7IyS zOnBJr%r7CL!Q$}XP&==XoWqO@51m;T- zPZpr7|1;=-+z!eU3>@+d`VlJv8V|8>3M$wXTxdAR#L6ikV-V2L(7?dJ#=^p24FK}3 BP__U7 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/grid-blue-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/grid-blue-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..862094e6803f522712e4d193c7becd8e9b857dd3 GIT binary patch literal 829 zcmZ?wbhEHbWMmL!XlGzJa`*r7`~Ocp_<#1%{|it4Uw-=k+VlT6U;e-I>i_*W{~x~l z|K$Du=O6#S`uzXxm;WEW{r~*q|F@t2fByde=kI?YU>F6XAuyCfK=CIF(E0xvbU>Z} m<=_zzU~q6?um%8<;zWG_ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/grid-blue-split.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/grid-blue-split.gif new file mode 100644 index 0000000000000000000000000000000000000000..1b0bae3a87e55ac32df29cddf3efd18150ac2faa GIT binary patch literal 47 vcmZ?wbhEHbWMbfFXkcK7jm?vm)>Qn-!TM_wPS^_`om@~ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/grid-loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/grid-loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..d112c54013e1e4c2f606e848352f08958134c46f GIT binary patch literal 701 zcmZ?wbhEHb6krfw_{6~Q|NsBg$>(oA`P8%SHjuGk&%@0ppYOTwO7TCppKD04vtxj( zk)8oFBLf42;y+oZ(#)I^h4Rdj3>8V47nBGRLn+Q9-(eXZMC@T`q-A zfguTok_rhvuF+B}YGk&S-hZ1Y!QP;7UE)!jv*adK6)hob2AOf}GE&w)<#=MknJHoV zY^}*Md|xE}K6*MO&RAU_^MUKk=Djk=g^pDJi6uprK3M%`#IdVL zUEAw4e{ zmg0{~p6|Ie&p`6H%mYO|r)_gjg|As;$iv1hQk=MZgX#CFjEx2xI6HUG&(-w8Y7Wpj zcm93g6udbnGzoX) literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/grid-vista-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/grid-vista-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..d0972638e8305d32d4a2419b3dd317f3c8fd3fe2 GIT binary patch literal 829 zcmZ?wbhEHbWMmL!XlGzJe){5xGZ#;uy>#l_<(QpFT5;g3%Bd$|0cmlLhGf{|q`H nPk{0S1BVoYrq2Wc#zV~Pyb=r?3JDC2Ol*7#9t#p29T=ao?S~Ja zzDjEpDC}=y`^)Q5QK0DD%CG3=GGoFb$8Hu`yCXOHlMi<=*t`?gEL`l?rsAwHZ_SQR kNvC@hf=|`locQc`rxuSq1``gnsUUEc9+{+ZK!Q+j=Yx-zEu zBzAZwwE1RC_D$+ype0cJ$pSWB2SkGW#K5L`fMEf{3t}5rVDB1k z>l|w15a{S0V`=N_;1=QF7HMhg!$2HR{K*1Vr~@KFb~3OkE>Pe)oFLK1?0Wi;0n0^` Yt|A%FPacl)3=R$p8yr~r8w41v0Xvx=cmMzZ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/grid3-special-col-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/grid3-special-col-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..8ec57f578d5744dd50b064cec2b527672b95cd0a GIT binary patch literal 162 zcmZ?wbhEHblwe?DIKseS<``ybA7X6dXX+SgV&h}x5M*K(U~J=UZ0l$05NhHOVr=bg zY9DN37i?-DXkr&+Z0m1g>tkZ;YXW50`7;m#ia%MvN_0RZ$W8`Uc?AU~W=oYuA(qx; b2M#3;mcky3on}5CC8nJ85wg^AVz34Pwig_- literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/grid3-special-col-sel-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/grid3-special-col-sel-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..93a9ca6ab68d47ce20867d3c153ccee3edf9658c GIT binary patch literal 162 zcmZ?wbhEHblwe?DIKse??Jk+&E|ujX5$7bG;wlqoFCFbD8)Yk#cyE*a$@lk6fL?;yoM2q^w!0V~k~ksv!6SmhNIn3yy*4hpdx cX>o8h`0o(b_B3_s=d77u3+H|!r zfbs+bM-c-fhm6OD1qYj1`88rr6eKbU2cZFVdORzJ@!m~?8+%1KMTTg@3K$aq~=^PX>8{)(q7 acp2+dVHKAK1EYrP>l5}X$w&(@SOWm68Djnb literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/group-collapse.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/group-collapse.gif new file mode 100644 index 0000000000000000000000000000000000000000..9bd255e72f6947e0cac51d1078dda0ac17bc65d7 GIT binary patch literal 77 zcmZ?wbhEHbE+tf{`kP2(NR&Mk>%Z=yy&iDQg3<`(DqVb4KDwj-P l&GwP0qS9DM>OqyJSZ>#v{nDO+rumFctJmzd`)w=$06Sy=JS6}C literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/group-expand.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/group-expand.gif new file mode 100644 index 0000000000000000000000000000000000000000..fd22e6bcbdd55f0a58964b35a690cc4f2bee31b2 GIT binary patch literal 82 zcmZ?wbhEHbfX-WQwGwc-rc04Yx$W&i*H literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/hd-pop.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/hd-pop.gif new file mode 100644 index 0000000000000000000000000000000000000000..eb8ba79679eabb7811c3d9d1c86c43bcf67552cc GIT binary patch literal 839 zcmZ?wbhEHb_??HKjfkTCXkweD9 mfT4kbgI~?WW5NQ*7JhN9o*xBDE*)ahRw)@D7aeL~um%9t9ucMh literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/hmenu-asc.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/hmenu-asc.gif new file mode 100644 index 0000000000000000000000000000000000000000..8917e0eee0cdf7758e83c4cffa7a7239f72b8427 GIT binary patch literal 931 zcmeH`u}i~197Zo~Emb-ML>(No#i13!1{`|2)F4_jl^X=3LnUJzge<}>RZc~zP~kV; zB68w#pu>SnK&adpIt5*dn`7OIQ?33Dj(x+oeanNlwY^!!2PQI6AN?^vMGITlu?Sc$ zU>9uS*}igoaC}8PN`jCCnovooc75v7&|^Bl#h|GI2x(JLP!wWjlNOK|~-m_dM?T+-E!pI0dd^5l}(d@Glq_swQ5Q<6ypk{;!;VaqFyLusAH|W zI_^hNH}3WaBSr@P!$9skWgujrrQZ^Mn?RWcN@fn{AM5KVovc^P{B4D$=SroI5_&zI zNSF`DRwb35%9fAbth<-%@nxq_$~TO}IN9OvPh(dz1*g;6JvytHv(;6&xjkRcOr!mB r{VRFNa;Pe5osHT>5@ibIb~{3g+0C%lYO~3O6<&R=-|w9m23q?84YkzM literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/hmenu-desc.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/hmenu-desc.gif new file mode 100644 index 0000000000000000000000000000000000000000..f26b7c2fc5836850958f7f2b1fafd3988a988d7a GIT binary patch literal 930 zcmeH`u}cC`9LIl>nH9kiSwcv;h)RPe4nCSX#PT4JtLbR)IJcwe#y6z#3aSf)9!+l$ z;%yxW@kSwnZWM)ZydeVHiWX}!?QdxG!)N_2ANcN;ig{#6Ai)s+7(q%#GE!y5mQ{jO zj5MrhrlNCIcT|&WCe|#b*{*J3-4-SmmeaOT%60^HIHrQgae`8gf*j^igs3uBp{hnT zopO)5V>`?=nQ1YLFxzIBGSTNY=9rB4oG{nnt~U^b3F->w3Rehk(B^L2>$m$u&+|JS zzvF-O{o!cJw7~xri2now00G#VJYn()2%o@AE8lw!UPJ@SiC{BRyCfUg+)-YByjskr zv+Ug{Ji~hAw(%`jAsUlHdvfpXd_GaEWO`qB`!@?~^gbD{hpr>BT&DZEGYhLy?xoZ; n!ca~nNw;=d4=v4s)H*Z{&Ndrqrwj#{39jU-m51Y}8o>51Tocwt literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/hmenu-lock.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/hmenu-lock.gif new file mode 100644 index 0000000000000000000000000000000000000000..1596126108fd99fc56226b412c6749c55ad5402b GIT binary patch literal 955 zcmZ?wbhEHb6krfwXlG#X4~ou+bjZoeOV2FG$|=q-C@C(jDlf0eD{N@b6W`Inv#*zP ze=o<1{(yu1+=nJ`ADhB`dOG8|nG9#s|^2dGCVn`{Pc*@>k~$=Pg%ddVgCO)!~fR||KBnE z|HJVAKg0iLR{x*dJ-;0I|GC%y_pblnMF0Qq{Qtk(|NlOXjV)~*Jzd>>6DCZaK7IO( z88c?ioVjUP%kt&RSFKvLYv;-0XzkU1m_xG3of4~3u@#FvBAOHXT`19w_f1o=? z!B7qX#h)z93=CNeIv`Jg@&p6N42G*5G9DWiIGRQ-bEs^3`rv@RCy$K9p(kC=rd|^` zST-*?>B_{iQlwx7E2E<(Ghbe(62oy`Y27&t0f`^nn;9J1SUxr?H8M5pwCs2h(8SWt zC8Qv+=HXHgep#c0o(mriDDdjJR6ObU=;Xr2&gPqN_0-kZOwH=MQtsX=WoB-cUnB8y dW3n5EfMAf!nn#R>TRBB^*6i?z@O5CY1_0nG4B-F( literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/hmenu-lock.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/hmenu-lock.png new file mode 100644 index 0000000000000000000000000000000000000000..8b81e7ff284100752e155dff383c18bd00107eee GIT binary patch literal 648 zcmV;30(bq1P)WdKHUATcr^L}hv)GB7YRATlyKF)%tYH6SZ6F)%P+<{wS~000McNliru z(*hb477vONgHQkf010qNS#tmY3h)2`3h)6!tTdPa000DMK}|sb0I`n?{9y$E00H1h zL_t(|+NDy@YZE~f{$`WrhuKPySQAA=4|-5UL@Ysj^nd8hiS;2Kdj#HUllo z8f~>&*KFH9Nwz?Ckui3oR;%3`NI(gPUDtho|G}f2_3e8bT8ASerBbE5)1bTYdcFQ| zZM?C8k+I47`6u~>51*b--wCz*ER>uRr zeV-UkHLH%}72i$a+1i|RAKlWyIlu9^60fuoN4rrzunmYfG3Rj9y^HEzZv5(CEO81y zUYkzkSk-KQ`3%0SF=Q~vI7Aru=z0O7P{Z@#ja`PhX$8v2D-^Gzc;YIGcnR19E(0MI z;kZD@0aiO(XrN-PsAlqHZzKK#l1tJ_)zheV5(%VKYS5UK?$7C;0+>qp-G76P-YrWc z5ZrIlD9FnLDKc3)8S0<dA!cTgY+CR4-a*;u;!NrNF3LWTlP5a1_; iES|Z7@j-3=)A|j?vD&^)Yn&Va00007>1uYXA>3Qh}beSb(Ur!W`$ZoRvwlh8h#GSA{v3P9MZmob1&N}#H|)3 ziyhJ(U{)KHf*@)Iy5?}L)|RKuO{O%cx#h;IvM2X1`q0Jo18y$3o31q0)ZQR~04YGX zfXCOw7l;j1uOz`;`%xPF|1H(H=TQ-Al80O7c-*kEIp@ZM``Ch}Whn7a@ zEo{qiRYg+i%R z4h#&aR4TPvt$O^~PNy46p*I)|Mx)VWGFdDZtJOL&G4XSL3{j3aZnxWK zXJ;3eLR8p^IE^@iXhU=a0)b#Kw7t0&jYea!SUet2Boc@bilUOqB;u|J|M|xX6jAAP z03n=6?Mi(Dm?nrZ^SKu7#oi7Bm%1nSA1H5qaf|0_D`c0ZeXQSbMRJ}Wp^ujFWEojX z(Y1{1lBcW8em3h3o6B)FgQ$TZv?6jQ8yMxx;o>^&qx~ghy5ef_6fHB&ac3`cuq8MD zSbdMbr>J*|b@#!#g0h@qxe*x=qGVcHY literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/hmenu-unlock.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/hmenu-unlock.png new file mode 100644 index 0000000000000000000000000000000000000000..9dd5df34b70b94b708e862053ef4a634246acc8d GIT binary patch literal 697 zcmV;q0!ICbP)WdKHUATcr^L}hv)GB7YRATlyKF)%tYH6SZ6F)%P+<{wS~000McNliru z(*g|-5GqRX(wr!towOa3bz1}%hRS$Ze*UVXl27U>F*+kf-M;&k-s!`fDVCrZezlf>dy^3`BTW$z=L>EIW zO>?T0B!*En2q>u<@}12dniz6|2?Qm9qx{jpBiX~P{FQ(#@rTzxF``)#1i>x@j&6Pg z`g9}R!YZ+#Bpq}r3e{~P5}$S=h*)1OVUmx@SN9wqKg;4@^1P3fXJWAV73+q9*IOoT f&)vjR{Ezq!d`RXXnklE900000NkvXXu0mjfw|6I- literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/invalid_line.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/invalid_line.gif new file mode 100644 index 0000000000000000000000000000000000000000..025cffc7f881385adfabdca9d0e81375bada8038 GIT binary patch literal 46 ycmZ?wbhEHbWMN=oXkcXc&%p5i|9{1wEQ|~cj0`#qKmd|qU}EjzPpAxJum%AAR|$y# literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..e846e1d6c58796558015ffee1fdec546bc207ee8 GIT binary patch literal 771 zcmZ?wbhEHb6krfw*v!MQYQ=(yeQk4RPu{+D?cCXuwr^cCp}%d_ius2R?!0jBXnAQ) zOH<|l|Nj|aK=D7fpKD04vtxj(k)8oFBT!uNCkrbB0}q1^NDatX1{VJbCr|b)oWWMT zS%hVC ~NwO_yO%;SvZ5MdNYf|QNy-I*%yJaj+uTdt+qbZ z4E`Fzb8m}I&!N8OKmWEcCmrLs^Hs&3i)mt@hQVdcqghkaBs*D}tG_lKew4?rTjzIZ z9tSone1TS+TR7tu^CunG)Y7Jg#sw#)sG9C!c0I%LEzP)9;hqRf&)s$D8d5Db{TBs% zgl0~5QQ91luq4Q9tJgt4QLbaxZvAaKeCM9!oy85dg4k>TdBSVqjHub_PG=PO&J-rx z7oYTuF+kH|tG-UK+EkUhDjYx?zW?T|lx>+aOQm zzL$v$zBLo4Cj=G&tw{H}dW?tlTkS)SY4<#NS92z*EY-MMB6Ftp`R=*=*Ev7cS+X%W zMCur^FdlokL}1Y+&aasU2J4#EOuNlnb9CmqgLCGTSY!1BD42pkHY^XidQ5=>YQx%` z*%Pm9D!CkBu&tMWm(%-ejACVWGS2RX5=QOJ$1*tr7F}F+*-OA+Ly&Isg|AEuUYicA z#%IG6kPXkHt{zk2M6zK@Vu^4Q(1zE$?yY6M!^&jQ+2^E?!p7{g*|X6}vuRC3p@jk0 W117c83?+LXEZI4G$p&LV25SKE>nb+@ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/mso-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/mso-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..669f3cf089a61580a9d1c7632a5b1309f8d0439a GIT binary patch literal 875 zcmZ?wbhEHbWMYtKXlGzpd-4Cei~rYO`oH1Q|BaXbZ@T<{^OgTwuKwS8_5ZeO|94#b zzw`S4UDyBbzVUz0&HsCE{@-`&|NdM558VEL!C+hQ;zA>HJFm1! z#)%1x%x&D_IuR=Z8kt%-g@N({4h;>A%p3w50S6iynb`#tJSI3aHnDO`7-U>H(Adn* Pui(%j;MmmCz+epk$!Kdz literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/nowait.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/nowait.gif new file mode 100644 index 0000000000000000000000000000000000000000..4c5862cd554d78f20683709d0b450b67f81bd24d GIT binary patch literal 884 zcmZ?wbhEHb6k-r!XlGz>`0sG^=;33>fanOrC>RZa5f%c9KUtVTUe*B-pgh6A5y-&E zA>*-O!NDdb7MYkC1`iK4@=0rzWCSQRbnt4Ywd@dF=+rMIANR*%(jvDmG5%#TnwOp& kU}SchrxH17*#QO%<_$5P0_ncfbgjEYUKG8!(7<2~0Pia+WB>pF literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/page-first-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/page-first-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..e4df7a7e66c841cf35c42fc22c5a552304390662 GIT binary patch literal 340 zcmZ?wbhEHb6krfwxT?wE;NUQC-n_Q9ww|7z2@@uqIddjAH+RK~6;r29UAS=J%$YN* zs;U+(TGZ9m)zHu|XU?2``}P$S6l~bAp{%TI)~s0z7A#n|Ze43@>+033H*em&c=6)q z=H|nP5BK)=u3x{tzrTOYnl;m>Pd|VD{OQxDmn~a1apJ^1d-j|CDS?$+Qur8@6a;LWT&^TL1&T89sjr(J=ui^O zzi9}%(m9M$TQt-+jd6=YXHjHa@qg@ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/page-first.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/page-first.gif new file mode 100644 index 0000000000000000000000000000000000000000..aa0a822a9d049c39bdf975a8251fe153a5bdb770 GIT binary patch literal 96 zcmZ?wbhEHb6krfwn8?KN|Nnn!X-y!>z`&sRlZBCifr&u}$Og&^0NI99`YR94+1J3M w!621>>{!;r*r_UQNo6zB-B)SfSS7P&W^u>E$L{yvzIa@k*E{o32T-du0L_;q0ssI2 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/page-last-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/page-last-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..67fee759aca71c329ac7b8331f2184383848f192 GIT binary patch literal 340 zcmZ?wbhEHb6krfwxT?nB;NTD&8(Udf+0f81fByXC%a?a`buC@GbmGK`d-m*UY-~Jw z^k{2q>*B?Wo12?+a&o3ko3?f9*6Guy&zw24wzl@jkt3^Cty;Z$_2kKu>+96%`fr^z`)g^|iFL%$YN1%9JUmPMu0jO#J`z`&sRlZBCifr&u}$Og&^0NI99`YQ!b_A_O0 wM`S%&V}46FBjH=FlGwD%FIVb(H!QrpH)Z-G^R(p|=L^n=Ol0r!0BW@c0I$~}lK=n! literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/page-next-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/page-next-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..e3e8e8736fda9a384002963d3f10d182374e924d GIT binary patch literal 195 zcmZ?wbhEHb6krfwI3mX2;NZ~S-kzSGzH{f!zP`RmlP2B1eS5`<72CIOU$}7L>C>k- zZrr$h`SOz|Pj+{APnj~MqM~Bes#P;*&g}2+zj*QD)~#Fr|NqZ`8z}x{VPs$sW6%L9 z0olpG>aakyFC~(xVPzDw&gEauWR7cMM literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/page-next.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/page-next.gif new file mode 100644 index 0000000000000000000000000000000000000000..69899c003278608303cb1f1928018dcf4fe99480 GIT binary patch literal 82 zcmZ?wbhEHb6krfwn8?KN|Nnn!X-y!>z`&sRlZBCifr&u}$Og&^0NKh@`ezEh5^|{4 i@Tz)qv}*r5&4dWXWtNt)tLEi+Z+mZ^{H<1m!5RST;2P!t literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/page-prev-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/page-prev-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..0f94bf7be80e539ea17feacdbff72b60a3aade2b GIT binary patch literal 197 zcmZ?wbhEHb6krfwI3ms9;NUQM^5naB@18z=dc}$rJ9q9}xpL)_B}>}c+Gft2Szlk@ z-QC^X++0*tR8djU+uPgM*Eet8yh)QLrKhJaUc7k6jvWgZE}TDq{_Wehb8>Q8TU-DC z|IdH~6o0ZXGB8Lp=zzpPb~3O!Jy7dQ$(+PcFzdj=b;=Gd`aBX&LG#xJuYSR+Q@WW)l82^xzGeHk7dI405EX5Mz9CwX$Q4{!EtCkAT(4dhVQ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/page-prev.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/page-prev.gif new file mode 100644 index 0000000000000000000000000000000000000000..289b12612312a511d1c490b2803686dfb9514c7d GIT binary patch literal 82 zcmZ?wbhEHb6krfwn8?KN|Nnn!X-y!>z`&sRlZBCifr&u}$Og&^0NKh@`d3P9lxnC} i_sV*+v}*l3)dUTuWtO(FtLEi+Z__tVHVb25um%9z+8E&g literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/pick-button.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/pick-button.gif new file mode 100644 index 0000000000000000000000000000000000000000..6957924a8bf01f24f6930aa0213d794a3f56924d GIT binary patch literal 1036 zcmZ?wbhEHbA}e@6f*BUeEG-{mbu9UVeYtn)@A#A9pQ#+`IB&@5(0= zRzH}y`r(9CPbRH>G-dUZ>1!TLU-xM0+NU$tJ)FJ%!HkVh=4^U8ck{CaTb?f6`F!=h zms^g%-go-h&Rf5C-u=Dz!SB6~|L%M6=kVF*ht9t`fBVhRyMGQn`g7pPpQDfe9DDTl z(5wGPUi>@u`u~ZCzfU~=ed^KQvyc9qee&n@+yCcY{k`z?&xIF%F1`GB>D9kWZ~k3* z`RB^(KUZJ||Ns8~&oBx`LjW}d6o0ZXGcYhR=zxSld4hrCB?B{ujK>Cr zPF^XagaZi+ome=9Dmm#SD}7El7CSA;=KXekY^RG>e-{ zuuVYm(pR@|5zQ!{2@Y3s!WlFkEt+xRKzr=&*z_|U*@qgNWbB##KVWn?)_GXn$>4`} z#Rk5^9iqw$CMLJ{owi8Xkg$-crJaR6?!tz^#b0>Dw8Q57c+l9;Af%gcqV6G6E2r=p gYaW5X0}L(q1$Yc3_9+}>;A5Sv9e-|5r2~UC0H_cnr~m)} literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/property-cell-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/property-cell-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..ab0a1cbed3122e64f054d775978d4c8e954e46b0 GIT binary patch literal 160 zcmZ?wbhEHblwc5Ic+AOg;lhR2Z{EFm`~K~_5AWW8eE;FohmW5>e){tB=gdaSrM&Udw>$^!;7jFpfiJKq0dh%|O{FRAsr%cJ6cQf;Q)s<;Uk1ugBSOWkGm|UCy literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/refresh-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/refresh-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..607800b85e4dee8c3922d56b8666dff796603d6e GIT binary patch literal 577 zcmZ?wbhEHb6krfwcvj4C^whZzA3s&pwcWgXfA68=hmN0FxncYD+xH?8vYI<5Oq@1n z`rJi%CDj|Z?>Tku;-OBz~m8F^(Xxn=WLtiN>a=Bx$F zE?m8F;nLL!Q)l&0o9h!C(=%n(wOe=Z-ha4p+phfwkEZ5Vc1)PQY|Z9dx9>(KWnH~~ z>(S$RNmD?mv9-+Rg2I4_CJIHMaG% zPnb4+&ceq}p0)H%FR85Wo;q*Ux=pFMWe1L)nlNk8yoJkV&R?=-^RCpKQa9hQwEXgn z!pip_KJM6ec>m#J*KXY2f8^w`6Q^e`TG`P(@#U-6IYpHfO+D3(9i5ZsY}~%Lv1{Uq zvlkaGS=HV7gkm^w5Q~jme)4VU$mmSscZUz74w#^?wB~^=g*%RMb(8> z&7BjcKYH@~{)0!8XDuwKZoPH){;G{T7>EOkKUo+V7>XHmK*~XJ!oWVSp}48JrL|2t z%F8=3u&p`0Ak5C8$Vs=)FN>E?AUn<7Baf4*MT)W6--OM=GeE4bSy-LLSvqt>F{7&i zgQ&TE6Th`WhFXr2Y&0`7J9}^ww@;xYgOHm>TsTuQk6BY}E(5EeV_RmksUj;&zVVJ? zqex9(HbbrEkeHTKIc+_OAiWO?j?WH@yUQHepwOi1&dIu?>P1B(15azY1T!OpH2`<~ B4eI~^ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/refresh.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/refresh.gif new file mode 100644 index 0000000000000000000000000000000000000000..8435d1e47ecad7d067fd693685a351a4faaea985 GIT binary patch literal 91 zcmZ?wbhEHb6krfwn8?H+Ev@+<3>X*~6o0ZXGB7YP=m6P3SpgthXG;G{_6^)k)yrHx p^KV3C-cy{u)wlDhi`tZRa&1nj!TS<&o7Y*qPxn~)gNK#D8UXWD9_9c5 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/row-check-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/row-check-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..610116465e7e34fe6ec137d674a5a65eb44f3313 GIT binary patch literal 1083 zcmZ?wbhEHbG-BXmXlGz>j-2EYIms=0ihImdkJxD*ann5GrhCOt_fD7*mN_@JU|~Yh zlH}5*DP>F3%9rQXt#bJ9;Pl_AtZj8)e}DJP-90mRO_;lP-R7O^x9r-qeb1Jidw1;K zKX>_o#p_P2-*JBTzJq)AAKI|<;`aSlckaKi>)_Qrhp!zxeDu(fW5aL2&AYd5-M(@A-tF6WZr{0c>(2e#ckkc1d++>}M|bZ(ymSA_y$28PKYDua;miAv zUOssE@WI2!4<9{x_~`M2N6#KTe)9Oq(zkK@q?aP-hU%!6+_U+q`A3uKn{Q2YOFNRSt)Ivb< zCkrzJgCK(r$l;(o!NBpKL779wW5a@j%^bpFa}I1+c({#=)o#uSgQOPDOrxwjGt!z| zdt@$e$lSc_@o^LJpjAf}JZwJMArZPP=b&Sgps8HqqLPD`kM_zs`Roai*qqK|#L3VT zF?sR}KXId?9~w-oM=!LvF0}h7u%L13YL4V{2NpVaOx6sKXt0%-%sxprU4%n}F=ee| zk7OB3V$o4<2?NtNdOnMp+}aIPI1Cb!oedm&q`N#WDjn;2s@TV#Wb?^^L6Du@WzE4m zBH2;`fg2hOC%gI1Qk$u|ta4(CLnAZyojrZEhG#jire0bj>DOw0Oe9%D!a<-Z<>RHq z%WD>VO!l0r8@nULP;YPhBrdTFH4+!k**uiX3i z{QdXWpZ@~^!zdUHf#DSbia%Kx85kHDbU@w$^aLtQ^>)SRb9SKCQ``Jr`=eVAz{OT z183VTy}$iASS#R nB^X?DXxtttx-R#(S?*zGzsXrO9p?HCdj*-f<$NLv92l$th`d^G literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/row-over.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/row-over.gif new file mode 100644 index 0000000000000000000000000000000000000000..b288e38739ad9914b73eb32837303a11a37f354a GIT binary patch literal 823 zcmV-71IYYGNk%w1VF3Ug0EYko000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LV00930EC2ui0096U000OS0Po$iSC8I2dGX-ATgb4XLx%wY06VC` Bj$r@* literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/row-sel.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/row-sel.gif new file mode 100644 index 0000000000000000000000000000000000000000..98209e6e7f1ea8cf1ae6c1d61c49e775a37a246c GIT binary patch literal 823 zcmZ?wbhEHbWMq(KXlG!!`QrEOm%s16{{7(1pGR;1JbC};*@r(bKmL9F`S1V#{~1QX wXb24J5K#Qd0`%X11|5(uL3x6KLxe$C!6IP+Ln9*-6GOy_4GW#y85tR@0bQ{sTL1t6 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/sort-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/sort-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..681628f35cba49d3ab1986553646ad0ea3de86ac GIT binary patch literal 2075 zcmZ{kSx^%O0)|s{fkj}c2e4Udv34K=Qbt{1soP;%3n7<`I>4eutSq<4S_d%8ItWS- z5(J?nB0@M5l8}T$62cYE+#G@gIm4Nd5ON=cBiru#{ty4l_wc`b^M{6o1pe(F{g^Lc z7yy9AT|2emN?0?Yb_x^no@CU2pd~sY-bs~wHs_0Ai8Grm> zIg6^wR$1A2dfcCZuec45c&R}(6U1Bo&C#@3N`^p*?3d89V7_n1WgSRSTKBS=nT?>` zy?DClKjW%BYtFOWyyq|SQE?{$?H%ts8O$zLcMtCKe)hoN(D2A8hs)y&grc$WiOCOB(;sKVv!CYX7Z#V6 z`&+0_BpaJj*_K?ft=v(mHNsPRgVAK(we0O599jWK?azSe_<=mTlU{eY^x7em^La=W zxHOmfuP0u~3*6Rv&MWsH3eSYKHH76j->{PI@Y)&$Sik%Hs<8GZ(c8dZqvMf4|iV zumMSOj=3aCp4oX2CDvRAf0-oDIRv!w{8U8Z$_ux6;!6IR4A~0GJs-4MaNH(#^(Cl@ zxLWAbDO)Y_8wIVQugoN_VFEXaYsFWMvb9&iHW$`QuDK+wmx4W-*I&c@x7N$TLoRHT z--<}u_%$lNd86V^#?}TlHvhsVF0LYJ^G#y%6Lw{4=ho)i^wA5_s>d@)(sx;#&C=>@ zXQtY~3wk`&Y)qg+8_+jwu&hh0*(Te%)&3dP}yV!M4J#9P@h z9g(86zMqXJD?1l56iS99-+PC-UXilXC2Jz@u(mrDJKgG0Z&iRni01Iie~go=C+38j`GoRzs9C&c_0Es z%lEn2!xs2)e00Jq;#8d|P)gB_T{Ug%#)EAy>L;$bKG08sJzMl2U;#?~RCwq`!}P7l z2ZoPP2`z@1JDERq0Af)Wjk9ss2gXl{gcjpmDnn_UPv=}TEj$)KFfC?DTTDyYCZ%aP z$JW;@dG4BKUMcXTnpe>QJIuwS*L-)^%OlfvH*g8m-OZ}Zon0v&Hc@y9&D1NPDCTsI-!CV)HOgjDCbJJi~Rf(K7js-J^k zwf2$RK^K<#g&(@sAptxDtoHjXP+04f$sIatQKNz#>YP#F;je(20x+!Z1eQDO5u|w; zj;=dJ0FQV@YYL-;buJ913kl|KZ-zwjKUA>vjeeMBSOR3Ka!%hQ zIai9v z(=jcn3DEhuIb$bN)RLAdm|sd3rm!8U=_u&JD$vB_!l{q2f`!c>Q`ZEB`WS0u%A-vz z+^mS2!4NF&AWhv8M_LvKx}>c%^<*EdMv4VXMwY2pjiF^rq05#zQ=eHxdukFa&y4)` z0Z#NBTbSg?U(9Sf1U=VPD6#q0Jm6eRH>HAC>~EU~-Nxwo0m2ohf18KgomvY*VXG(J xnukG%*1|~Ps!O-qNCLVQod8<{&YMRA$6AXsg==T`%$#7Swh|O<#2Eni_P@~#s@ebm literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/sort_asc.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/sort_asc.gif new file mode 100644 index 0000000000000000000000000000000000000000..371f5e4ceacfe79593d125baf96513c6e8ad34eb GIT binary patch literal 74 zcmZ?wbhEHb-TSCOY8st|1&T!DE?$&WME)o&;ha;K=KSs(o^&syBSYO c%`n*IseAA0o!(G+3AHDZOJ1E~V`Z=g02{g%e*gdg literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/sort_desc.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/sort_desc.gif new file mode 100644 index 0000000000000000000000000000000000000000..000e363a78b78a40dca35ff13e7299f2c7f11662 GIT binary patch literal 73 zcmZ?wbhEHb-TSCOY8st|1&T!DE?$&WME)o&;ha;K=KSsQa$~W2j0pa bsnX~2e0X>ByZeUMj%TXu>`~t##$XKqCl(kr literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/unchecked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/unchecked.gif new file mode 100644 index 0000000000000000000000000000000000000000..43823e52db80e04017b2bc1e031bef2d82c67e6a GIT binary patch literal 941 zcmZ?wbhEHb6krfwXlGz>`0voy-@k72&h=Y%ZQ8zP%g((!cJJT4@8F*OhYlV-dg#cp zW5-XNI(_EM*|Vq5Up;&A+S!ZOuUxr$qNpFDl?^y$-QVDS9;ix)3mg1{>fcnt(^ zUcUi>w{PFRfB*i&hYz1Vefsj{%h#`8zkU10FbYOPfHonZ_>+YhWU>y30Obh=jxGj9 z4jGRP3l283GHb+~D0p~)!9>Yxj)(FAXDKG5ESZ1@4oAD0WI9R=9v*6Ak!N+{dHKMR zl}FY^$AdFLm4!>ptVN@75u5?#BR20ya;KC(goN;9V qqtnW!)kYaNB(j|}n>i$H<|I5^)XKF~L^CSn=7x7MEgZ~D4AuZjXTU80 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/wait.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/grid/wait.gif new file mode 100644 index 0000000000000000000000000000000000000000..471c1a4f93f2cabf0b3a85c3ff8e0a8aadefc548 GIT binary patch literal 1100 zcmZwFZA@EL90u^)S14;kcS~P51JcqXyBK7YjR|$m*3qt)1nqFnf*+(nyIT_zZIrbc zP70+hE$ePOAcE2K4FU;V;KM+=xUiQtnG(k(Qx;;(oQVNl47kM11c$9(j7iV=cuw*= z&;L26aeaM*8AVX!4nUmF3luezO5JukyN8Fbj*JY)E9#Hd|0*@ZIv{eO*Nb# z12yCIrOhLLJlbn33DTB}t(F_b2bV4~y*j=}%v9m90(t13QX1^b_==P$D+H{5*5Mu? z8gKY>BXXf^7@!+sCzFj+>XgJsqfc(1Ya(r=#J=3 zlZtj9{~(p*xA$9X2mMtN6e0bM#^36uHAhJ9Q&;+@HQ_ThCJ=yPPcaaStzMs1DHP_0 zvw_E92pgO+s83$0SnZp{u*pvQ$A3#Rftg(VD(=52XCTzUftd4T-22$PQrgIR*gHx4 z{43C_yk?5j?(i$Mual4dFf?{<9Wn}qfaB%>iNwkdu&q!m&h2IcZ$2Th!C8}<*_&Pr zyKl`OZw8N)3D^4?RK}UoD=o00gbKYHy=yv32mZ9Dl8aIS8x^Z$2?NwcBLzFmZOtoW zzN62&u*QDIz{Fy}^YAXY&Txmg7ATSAhAr8K5fZbFZ*SFa$_qE2L|VVFHOI{wKE8B_ zGXV2p-56OO`rc4Z7g3zbj)2_3YjK$((`OUqD%*mgvS`YELYsVW1or1)YW%;)D$oE>#r zQ3z|D(W$Eg`c?NY^+fD&+nctrc25@u47U__J8-QW7NqK!$T9C@*SpuaHyFRRpIGae rj_Lao#za}+eaj_<`F9!mRdtBiaY8;Hc6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zFlAunknz~C;9xU5Gl#^14GRyqF(|p!cuZW_z#t(WR-;k)_;9y`aa9RNLW=VQMPsFy Kokpn+4AubBJRUOu literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/layout/mini-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/layout/mini-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..99f7993f260b374440c5c8baa41a600eca99d74d GIT binary patch literal 871 zcmZ?wbhEHbWMxohXlGz>c6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zaA9EP;893e(9p!fE+S&!pm?~AUD|4jgy5sYono4CYdSV2yD|teHi#$`Jzc6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zaAja+k&tj`IMB$%CgZbW!-Ix)HhHZSi@+q84iWvZBN>K^-5Dep8%#8W7*0-Pa>$EW bxpC?7J_E~BDJKIG4z;p#3-JgDFjxZsq+}v; literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/layout/mini-top.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/layout/mini-top.gif new file mode 100644 index 0000000000000000000000000000000000000000..a4ca2bb20aad89264b9022fee88ee29154dfb192 GIT binary patch literal 856 zcmZ?wbhEHbRAyjhXlGz>c6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zFlAuo;89qx;9xU{u$s(?fCCNf0?JM-3L76eGxBgot>IYk*sW87)#{JM#>MWF#5uKM LPHswdV6X-Nu*4oA literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/menu/checked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/menu/checked.gif new file mode 100644 index 0000000000000000000000000000000000000000..fad5893727ee8a13f428aa777380ae97152adec8 GIT binary patch literal 959 zcmZ?wbhEHb6krfwXlGz>j-2EYIms=0ihImdkJxD*ann5GrhCOt_fD7*mN_@JU|~Yh zlH}5*DP>F3%9rQXt#bJ9P}a7(ufM;0=I)-EyC%%tyKeK&xyuhMUUy>sj`JIKUfjO_ z>dyTab{)LB=kT>-Cr%wbdG^%lGbhhnIDP)=+4C1qp1*tM!nLy(uU)-*?dpv?S8v|E zb?f%+J9qBfy?6e~qdWJX+*RNl{ef##~$B&;sfByLSi(wRuh5*qap!k!8nE{v; zbU->ld4hps4uc|xjK_ur2b)<{HDXQ_Japi6Q1W6iYUvPA5Rzlscwpk<4sO9XmXjI+ zi&_OWe7|@wG&BoL67X4M6R7Omz-DfcwPk^l8<#v6OGU!M%_;%{ss?XfI5Zp-5OGar zYW(QXz|GEX#*rx~s>CVD%q0^Mz{1hH&cW`(j0A>8wr;ZvZ4rjePOb7*MGqXL4LK$% TI;tJY@rY17bXb6iiNP8GS6tA5 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/menu/group-checked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/menu/group-checked.gif new file mode 100644 index 0000000000000000000000000000000000000000..d8b08f536c5e366e053640352d61b4cfed683b96 GIT binary patch literal 856 zcmZ?wbhEHb6krfw_|D1j|NsB=tm1FqzJK}hwYPtIXZPfm_P+i}Gbc`&%`gf^Ltwav zfZ|UUMg|5>1|5(`L3x6K!<0doL&jsnf`iQ*!dfvN0YC{RF}pb&3J)2&_?6|3SO_W} ZZ|BfYy0Sy?vC~8q$yG5YgHjzBtN}PcC$9hi literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/menu/item-over.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/menu/item-over.gif new file mode 100644 index 0000000000000000000000000000000000000000..01678393246989162922ff0051d855ea02b4c464 GIT binary patch literal 820 zcmZ?wbhEHbWMU9yXlGzpb>`d67r$SB{>v~5Mnhoag@EEu7NDp9Gw6W44$2b@9D)q2 W95Nmo7Bnz$2y4ZhC`fc*um%9+ToJhd literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/menu/menu-item-active-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/menu/menu-item-active-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..bd6c83b6f4d441bd77ed24c5f8d6f3e22164584b GIT binary patch literal 1839 zcmZ?wbhEHbF?^WB@MZ$Ts|gG* z`WT+|F+AyEc+kc0e-w;{!0-wI#h)yU3=I4XIt)Mn$`kFQIbwLl@ThM{3jvP*46Gb7 z9vc)In>mEFVorQWXlxfy_A+tUxaep%hf&s@6CWFn_bWJe$-FddJULk-SS#Y>rlqG@ z4U$jI@!YKD!)8(Z>dwst%g@huVCInZ+Op!}VkdTu*i&0pUS96S=rPx8>#D1(BQ|H< zJ+*c9_4NsdyJWq$t+}~5+bHZ`26bb>Fw+9?{8q{mh;)M z;o;#9VePmxJ2pN(K0(=gp3lxrPfyP<&c1hM=jP|<7dUsz`R>~C^74w{)p2KcZGC-x zL-Of)zPq=*y}hIO^}VyZx4*xCpqX3VZ_kd8k55e2jz70&=jZ1a7JJY4+q>)Q>l>T1 e@1NVd`}_L`hr4;?{rBzp`T51=)$FnY4AubJLu*n1 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/menu/menu-item-active-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/menu/menu-item-active-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..0df1469b977f4b39273d865344ec542bd3a10021 GIT binary patch literal 1620 zcmZ?wbhEHbWM&Xz`2L^aL>) zS6aAE)Ny%v`TQRRqaiT7LO}5+3nK#qKZ6bf5P;&5 z6Bu6fF+A&Ic+$i0sEgtMC>RZaVH5(2KUo+V7z7w}7=QqjC)!7I#4w89QLm630v!Jt z7zHFe7#JFuIJhNzRtPjSwzKib&8Rq_(A3SLlVmbuK{8V_my?#kjs;Jcnt6hZ99CXR zXr9i?V>RRDfd|dA`FXf*Xga9-H#0Z!8AvS1U|8ffQ7p7dq~YQ+|CwH;v!=WXS{<<3 z?Wk4h>hQG*>+3|N&9rZBPP<&DyIU+bdTY$%zE+9>1 zr{~#9m*w7EQoR1y-rw8u?`~v-5ERVIz`&sRlZBCifr&u}$Yub^GcZZ{w5*gU*gdP+ Y%TMb~YgITymHdx@pv*3rE>Q++0Q77XDF6Tf literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/menu/menu.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/menu/menu.gif new file mode 100644 index 0000000000000000000000000000000000000000..9bb3960fccd6740a00d6a0009784ec6dad35b9d4 GIT binary patch literal 826 zcmZ?wbhEHb{Kde?@STCd*3rk&HPF>7jA0avhQP=R0UeN+L3x3JL!N<|L&jsnf`g3= cEHW`CHY_~cE}-l+$7AE7qumn9Y%C1c0DhVh(*OVf literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/menu/unchecked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/menu/unchecked.gif new file mode 100644 index 0000000000000000000000000000000000000000..43823e52db80e04017b2bc1e031bef2d82c67e6a GIT binary patch literal 941 zcmZ?wbhEHb6krfwXlGz>`0voy-@k72&h=Y%ZQ8zP%g((!cJJT4@8F*OhYlV-dg#cp zW5-XNI(_EM*|Vq5Up;&A+S!ZOuUxr$qNpFDl?^y$-QVDS9;ix)3mg1{>fcnt(^ zUcUi>w{PFRfB*i&hYz1Vefsj{%h#`8zkU10FbYOPfHonZ_>+YhWU>y30Obh=jxGj9 z4jGRP3l283GHb+~D0p~)!9>Yxj)(FAXDKG5ESZ1@4oAD0WI9R=9v*6Ak!N+{dHKMR zl}FY^$AdFLm4!>ptVN@75u5?#BR20ya;KC(goN;9V qqtnW!)kYaNB(j|}n>i$H<|I5^)XKF~L^CSn=7x7MEgZ~D4AuZjXTU80 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..30b7e77c1100cf68673860d672d1f4997c29697b GIT binary patch literal 1860 zcmZ?wbh9u|fwebc1B88J?S$`LbCQzq)gBv-&w!hh{EWuPqt@tR9oKVyzaeyu3VMu~)9vf>l>n zM{LeoE45(t_4NsdyWU1ESaWl8#^qJ9r?;)Wy}jV^skz?U*WKM+@%h!=)7#hI-`~K@ zE$6di!^6WJ!rF0Xc5Hlne1fv~JfEGLo}QjzoPF=i&dtxyFL3Ub^WC-O<>eK@tK-h@ z+WPwXhUC-pe0OhqdwWOm>w9N+Z-0OPKr^?z-<};GAD@`49e-}m&d<*;EcTx7w|Cdq z*Ecq2-#@o^_xJY?4tFcc`|sQH^Ye?#tK-k_+xz?bhsUSq`|scP_xF#_ukWAV|Nl(` GgEatW?aI~w literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-bottom-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-bottom-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2c2eb4f56ad3dbb1e38de917cb6c63f3154f9650 GIT binary patch literal 1854 zcmZ?wbhEHbRZaVG#m~KUo+V7=##f7=QqjC)!7I#IT6iQBRN=0v!Jt zm^oxTHY_;U%pt55b7I57!|ejfUUNJ)E;`yRVVrg6#Ky(P`xTtKWIQ)5IXPJ)cvZ~F zO-oNtH%LA;$8+IFj-S6^@9*y)9-q$lU$F1*?;p%e4AuaHqEwmy literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-bottom-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-bottom-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..58049d57366c699889f89acb153ab0c8ba02c55f GIT binary patch literal 1837 zcmZ?wbhEHb$>vfkU)+}xaTc~$J`ZEJ6DFL-=vuJ`tJcXwBOes%Zs_VxGo zH!yR{`Rv&6@NkE)cHEgA8y_E^pzJ-*XXmD;r)L;vmsu~^{QUd^&JH=>U0YsWUc|d1 z?(D9uudlD-KQYgD_qMmUHz~ikcXqdV!~Fxz-0ywod~beyVzPGmfjv7vKfkcpINxFK iuCK3oHf7&G7u)##{e#2ZT=MU08-IR&ahaWk!5RQ#K}Bi+ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..7971476d321da244c28238b0a5906105c4c83fbf GIT binary patch literal 1621 zcmZ?wbhEHbWM&Xz`2L@Pg@wh)%tb;%%E2SX$ssP0P&2DZ(eLNK4Pk zFQUl8E=Wd3K}JUD|0oy@fngK^ia%Kx85jf@bQpjDlqcFpbHp%;-chfR90D9h46Ga~ z4h0Pd**GLML{0=KFf%bp@FaLNG&V4baT|CvC^RrJaLcF|1RQW+VBr^I;NW1e1^|2B BzkC1y literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-bottom-noborder-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-bottom-noborder-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..a649fb05ac8bc14fd3ba65d6c3832c820ca5ae92 GIT binary patch literal 1831 zcmZ?wbh9u|a1V#C72?E=bPb38UKI@&E^oOS2K#>L0`6`Z?dJU1;lIawokRm{mvOHWTX zNIo^kbMvyZvn`5W-8s2=`T6+{&0MlxTUK0L>@is@_SBY@mzM`D_L}Rpb=B3?5u3B_ zp4z(l`uc>!U9#TW*4*5jad}nj>1}IoZ!dU!YOeS8b$54He13KJ^!D}l_ct(e%lYis z@bGYluy)*;9UC7XpP=kL&u8bRr>AEaXP0R&*!=wb0`?9$-(6c?US7n#BJS+2t*@`I z;yp3XclWlpw>OEuxOaB9dBgn!&D`}4dv<($%sWXt{@k3#&(AL`_MZQ4&-T)LT${4* UpWD0p`y0+f-7NC{b_xvE07H(jv;Y7A literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-bottom-noborder-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-bottom-noborder-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..310bd7b8b0f5d651c5eb5b546d6fb6142fc67827 GIT binary patch literal 1607 zcmZ?wbh9u|WM&Xz_|CwnN>(C!eT1crtN25SIgp&0`J literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-bottom-noborder-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-bottom-noborder-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..fa628e8424a14629837944e153c453ac6ae8593a GIT binary patch literal 1735 zcmZ?wbh9u|WMeR4{?5RlrDx~l5#!(y<=_@&2ShFrHcnwSE@3uKA!arKW;T8%Rz5}+ zUPfjfMiw3hW^N3lU^E1VQ3xphWMO1r5Ma;&`3aOK+DCK5FpAz$uaF!997`COIb=LG zEI8QAA*>a1V#C72?E=bPb38UKI@&E^oOS2K#>L0`6`Z?dJU1;lIawokRm{mvOHWTX zNIo^kbMvyZvn`5W-8s2=`T6+{&0MlxTUK0L>@is@_SBY@mzM`D_L}Rpb=B3?5u3B_ zp4z(l`uc>!Y@!a^-ZX5^xI9nyz_zu~+t?nRnk!x2cy~9$r&qNHw&yqRZ;<4W^NILy TcQ==icHA6`#>dAQ85yhrn#OW~ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..cf03b6dcd29f298dc6bf1aee522930b8198f2b6a GIT binary patch literal 1900 zcmZ?wbhEHbWMeR8{{EjqLPE;PBSuTl&M%_K!6U}OBg(-o$_|KJB5a((Y+S-@oI=cO z0?h0J%xwHjtbB|tyo@Y7jLbX?%-jr2T>g)O(GVEQA)xq^g^__lltG692tawFeKbc5 z<@g+RJEbAO@t=W_heIHNfuWIwS4pR$K;dvJm#mx5jR{Iey7*O-=FGUb=vcRceb*O{ zO^ZGIG|X4=L>j4{o~-SDsODu*+SzG_g_q7)URFCl+qU%A9nX>#feSsFwOCJmS$=tu z=WM6gUtct?t_)h6)*Cfd``Wtjtxb2OuC2bYKI8l<)6?75L~klMe#-Z@ncm&)#n&J0 z%?{7MzpIk*Gw+`3`VaTFvP#RHso0o&bb_$Ao6pY;PmfL1PM%lu)A0G(S+?!x?#wiK zacREmV!64uw!FH$A^vok@9wR+*LH-z?u)fHe}8*-I`jXx(G?%>9h@laZ+FMy^W(Eq zt>gV_ca^@pu{gW^+~1wwU)|i@?0Ns+U#p)VADvy!A3v}5789$Il!3zhI%gIRrAPfU z6d3FO^ZFV%x-fAFOl%Nz6>xMBa5%7_nb-D%gA1R9fFLtZ%#1{5UXz3X2L@{ZK!il> literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-bottom-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-bottom-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..e5e1d34570b2432e6f458ae5ea5a3640e7a373a8 GIT binary patch literal 1833 zcmZ?wbhEHbLCpIiR+%BN(HOFJ)qNCjs##whxY+QW2U%|Oc#&gq>lan=qSH+y%wDk0J zgXB|lJU1^pJKLi8)t!@@m!F^S(99+4wPnS{#U7KjVoz;Zd3kxjVz0SgTUT9O9kDs< z?y0S-udh!y+$HP1ZOzTi8JAbZp5C_h_V$9ur{;QZUw3zR#phRdPj6p;e}4lrx17(8 z4G#}@2y4fk*|G8Q@d?V_^L%!0dU|?>arQs01)HCrU*O#R&S$}vmzP%ruhxrQu=Vxz z4ZJ7j`R@MKe0xXnYqkTsx4*x?tND4J!=4=OiRzo zz{JJEF32k=%fTbYC#=ZHBgV-q&M&OMFQUlE!i|N6?f)nk4S}H<0*XIb7#SGE8FUzc z0F)=%M{~r`jLA_~QzryCtQgoirZ_YlXl~{e3X0GuXkcY!5(_Dqkif*q%*9~AvBBXG eBMX~`NPqwXQv)jpmyAJyLIV>EH?S^Yum%8xSD|+R literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..4b92e430a91895a38f19b80ebea9484fb09f4f93 GIT binary patch literal 1898 zcmZ?wbhEHbWMeR9{{EjqLPE;HBT7rp&M%_K&MnHpEy~U%!p0@c#tDc*%@c{l_T7#JE^c$IW23KR~va>=^++?b$rq>EoQY0iv`i;i_G*mr&L*tFQQPs4l_ zPo$CR>B-vehiYC1rJbE-Sa|7-dK(CX}wWXwXdxU-`aFn>e}iX>od-;GCjR*P4uRMPf>%LfP^Y^!Rr!)V58(s17-oc5&{&sgPK0iJ?)jHm!Qgm=L(oN~ qf#E;vjSI~DE>9Ymxr}ZEF!Q<`VPF>2-QeKDrO~jkje&)Q!5RRiZcaY{ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-left-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-left-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..a7069fef4c8fd03d2cffbc202f55f2ae6fe86c31 GIT binary patch literal 1640 zcmZ?wbhEHbG-GCD`2L?kOV7^1BgVlk%FZpq&LzUeCCtVNh(avvg3N3J%xwHjtbB|t zyo}5|j4V71%-sHug3%BdMj@d1lZBCiL4ZMr0SG{OqJ1<+45R2B^$N)$z~RausN%7} z;UE(mkCaIT!-0lICKe8k84?Q?9qpDd&bo7Ay*%rmGd?W=JtO4w=*7N`X literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-left-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-left-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..d58e9fd3e4e42123653ad3b45bd509a7a857b245 GIT binary patch literal 1639 zcmZ?wbhEHb6N=i;m%go5k#mLOf z$imIaDabTz#}NjC!|11MuCNejfI89$t%vqBj*1o7!83T6#|Ms zSr{1@q!@GWHmHU%A3`A~*LMXWu)sbMy1_3!J;Okif{y X#w%sR;LzZ}#KOVzLMK2$fx#L8(4^7S literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-right-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-right-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..7405d51704dacd890e2330da297e530693ba3641 GIT binary patch literal 1643 zcmZ?wbhEHb zpDc_F4AKlb3_t+N6YZlpV(7%)s7t9I0vsL;#wr2^4UP@WqHGcY42cen&77<*3J(Mx zF)*^3gt%BNIMl=a1V#C72?E=bPb38UKI@&E^oOS2K#>L0`6`Z?dJU1;lIaz~M zEaK#*rKhJGB%hk&xp~>y*%rmG?ws7b{QP`}W-eK;Eh{cA_L!^{duq$d%gX~6uj6sp zy6Woch|O7dPieqRfstE8!{NY>1B`noD0|QI*}3WI=^4h^_s;CxoPMI_FO!(h4TGekJ%Sd~ xPVL(I`uc|C)AM|HZ+m-tNAc^nxtq4Xzki^aTi$Qaj*pK|OxBKg)O(GVCeA)xq^g^__lkU@t52tawFeKbc5m$)7E2RR|Y@t=X4 zL&jsnf`iRWyc#hlHY_~c&L!wE$7AE7quoNn8Fx->RBr57aPF#c*tF#2WQL$sF(*GQ z@t(|^bZU<0Ki{F5OTuf*ii?Xq+SwvbZCQDFdB9??xn5gWU0ofq zIqUAJt*fuEPdMBq>%DEw&CMB?SH+&*w)Xb+g2$)kdT(EMcX!3-S9ecuUw?mp12ear z&yEcb4|fP_$DP@+@$vBq%HH#Qc5ZrldWLcKy)!#EKR>^~xm(V6*Or%;R|Kz)JG*P^ z>+2hmPtWt+z3uJo9mTKjo!!0t{rv;Y-12^Vc6@w%VzPGpxjj2SKfkcpd%oY^U0+|{ Y*qnX;+}_>a-#<9q%_84#rNCef04!EY@Bjb+ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-collapsed-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..42d67f32b46ef9878706440ae63f7bdfff1f46de GIT binary patch literal 1629 zcmZ?wbhEHbWM&Xz`2L@Pg@r}W#6e0%PC`P;!6U}XAw*5f%*`)NMn*wKMoCN0%EB(l z$t%IiDa+Z^fkB!+Z^fkBu-hXDvcd7^zZM-2T~9rXeE zA;9sUflz22L#POe`gTGCm$;Zs(I( z5R$pkk-43X$3n&7Kw<-fSz*+knVX;c&1I_m_eD}9gK?p2r<`e5$;wO10%m&ET9vN2 zx+HvVTCdmE*Vk4>9L^Fw{dINtriA0Gbi2R3xwR$d{;pnc@pX51mY;o`Th6({q^a^%;Tc>-+!z`}gP1 s-{8rW|wPpIeSx{=Vx;r1h;i6`vEf>r@P4aGJqRu%?p0LBiH(bo_bWJe$#`yBa&odp@T!=To0guQ YZjgLxj_2lOXJ=a!zq+&2NP)o`0C0}eq5uE@ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-left-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-left-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..dbc2200c316bcb12ab8410afa73c24e30e54763f GIT binary patch literal 1631 zcmZ?wbhEHbRZa;SvIhKUo+V7z7z~7=QqjC)!7I#Bhn*QGbvV0vt9B z>=p(J362a*EG#At8x}k`*upO+QqU35;M&cmt(W0pn0U00Ny+cbj17)W%nFPa6%3!0 PPd3TK$FWEXFjxZs6J5e5 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-left-noborder-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-left-noborder-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..ae97f9bc31c713b0d7ac3e330250ffdf108389e0 GIT binary patch literal 1639 zcmZ?wbh9u|G-YOF_|CwfrDx~l5#!(y<=_@&=MrJ(5@zEBL?LE20cJLSCRRQs7G6dm z4AuZ`F$#;zNBBoD3EM7nR&QS@af#yfjc?um%7iU>|h= literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-left-noborder-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-left-noborder-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..12d4d70905a4f420076d21d50c0a43fbfa593404 GIT binary patch literal 1746 zcmZ?wbh9u|G-YOE_|CwfrDx~l5#!(y<=_@&=MrJ(5@zEBL?LE20cJLSCRRQs7G6dm z+Z^fkBu-hXDvcd7^zZM-2T~9rXeE zA;9sRfssSTW5a@j%^bp7F()=GJlrmz>@~+@~bQ&2lF0YC`y>0F7?FEld&Gp{C?(Xi2&#&&D-oF0+ z{sv}lIiDRH9vRZa;SvIhKUo+V7z7z~7=QqjC)!7I#Bhn*QGbvV0vzrP z%p5Wv8x|aF<`CA3Ik92k;dTLKuQ?tY7ai@EFwVMjV&mfD{R+-qGM<~3oSZDi$|JEM bfw7s5SH_}&p@E^1g+oB%M&tqq2L@{Zi&4+R literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-right-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-right-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..f37fc88626dc0795c1acf579e3392f95964610fd GIT binary patch literal 1632 zcmZ?wbhEHb!4roz4tb3q9YGCE%u>;Q LYi<}RFjxZs=o825 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-right-noborder-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-right-noborder-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..bbbb021d190eafd9dc91748448f5cf946fd6f2e5 GIT binary patch literal 1639 zcmZ?wbh9u|G-YOF_|CwfrDtd15Mp5$WMLOz;}qiH7G>uWVdoNN;}m9Q6JTcJXJX}J zV&P>3LLLTYZVaPfGz5lG2q^w!VPs$sV9){i36v+=M{~q5ir!JLkQ@RWE)2{ZG9DWi z9Bk$g)`~f?Vd3F+0cEc_9vc@O?Updkx^rUV;^X}a&RsH|o0goMEXK;?u^{0f6C0n5 S4TA&2K}Kdat`|HU4AuY|BQ}x% literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-right-noborder-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-right-noborder-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..904896806d4280cced6e2d0e70f9125421fc5c48 GIT binary patch literal 1623 zcmZ?wbh9u|J;1T8E7Ukd(x0;!hSv24Ggu0r?M|A0tGYTF! qwXg^uWVdoNN;}m9Q6JTcJXJX}J zV&P>3LLLTYZVaPfGz5lG2q^w!VPs$sV9){i36v+=M{~q5ir!JLkQ@RWn;4imWIQ%3 zIM~b~tQB)&!@|Su0?J-)_S{g(o*jkMwz#ctlWIy(&~uKS$9uu zU44Ch!r`jiTc1+T%rwn^c1LsD+S}U;9-o@)y@!`hQ h)P;-Y?z*<>;qeK|-t&BR7RByKTfA)PDq{r(YXFt%c3%Jh literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-right-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-right-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..5e69a27e8420eff2e61e22f754c8644916c4b770 GIT binary patch literal 1804 zcmZ?wbhEHbv|wgq`2L?kLPE;IAw)~h&c-Rk!Y;@!qR7l9z`-NN!7a+pEyB(v!p0@c z#wpCq#?Qpc$H>CV$jrmY!o$GK?f)nk4S}H_0*XIb7#SFZ8FUzc0F)=%M{~r`kJV8h zkRJjZFBup)WIQ%3IM~b~tQB)&!@|Su0?J-7evpPJ*jdD+?77R9gboZP(p{CtOIE?KWFD=sefn5-3hYRk&Y%L5i~ z<8j!!>gwu<%~^L(ZC!nReZt``S?_IYZf?%Fyejtewzapn7d$>S*L(ZAySpnsFH%i7 z;Lyy*Cuh^Z;Mml_$SkH2(6HcRBXgCq_dK7So1UJYVVr&M%+Afv&rkaKi&baFhQuRX zlGb(#TerTxz9ISaJm1~h-rn9({Q91)_0sqE4>WVj`|a8B@$ret+VSV+R5&nL0|0v# BC+YwI literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-top-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-top-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..938a755aef3b0ce1aa93a5523f70eebab29e70a8 GIT binary patch literal 1848 zcmZ?wbhEHbCV z$ilsl=dKcmO-oKr zW(ZmpbMn&?@5ww#r{;JTH=dnsQT*yoW^m*A`3}u$5?)(YTx9f^tQD)ZVCCiI0n8qA zy|%8px;lt6`2GdnjwKfl1aTh4damY0`T z1h0-eyKC#~>l>0!&-2~A?d|Oy#jo$3-M#(&{R7S1@_u`Ee0+RjvUdErJv%=?zp&VQ yzTe(mUtizYoPGb?-re8dKRDbiD(}B<&(F^&L^zM#L7cW%gn+q$jK|g zFRVyQ&&tIs&M%@!Mn*wOM&bV`7!8485dw-oSr{3BSwV*Z2tawFeKbc5i-;Zd1eqbg zVaUMBQR6V7;UE)-FqepdLSrKvhlE4I1_mc427V@!f&zx726k4vHj#)2jSZ8ySy@;Z FtO3V#x0?U} literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-top-noborder-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-top-noborder-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..0dfb0f3aabd22da96f31672cba1916008c2d4138 GIT binary patch literal 1838 zcmZ?wbh9u| zWIQ%3IM~b~tQK)%!@|Su0^(9LJT@+JWs)$?y0c@!;^X}aj2$wbo1QdJ)(Bpeb70fb z)6;p9PR;S$yzJ}@h2px91DlthpYPE8NyK5xii?XGCuzl=+OqQU64pgtbG^2%y1F`I zbJpEcTUTFSpK!QK)_dEUo0~H(uZlgrZSC#t1&>e7_1?bj?(T}uukN1SzW)CH24-$K zpB)<>9_|pH}@+z*Ddh~Y&$PRY#l;?zwPH_gS$TPRz+$htURzgPT^+GG z>+Y$otFNz5INT-cy=~3S%^8@x4 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-default-framed-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..35c2fa59aab1e0fbcef80ac6a100e19c7ded6bc1 GIT binary patch literal 1905 zcmZ?wbhEHbWMeR8{{EjqLPE;IAw)~h&c-Rk!Y;@!qR7lHz`-NR!7a)Th+HCUT*7Re z!pv*}%xwHjtbB|tyo@Y7jLbX?%-jr2T>g)O(GVEQA)xq^g^__lltG692tawFeKbc5 z<@g+RJEbAO@t=WF#G+sU14APVFPBS$Ln31vpQuKM#m9t3R&E(Si3bITSlXFbO8#UR zI*ItaRDx>zflUcIkSDt-ZOW;QFpy>F;ar>?(QxYU^q9 z{P=AR&)JSySFFE(xb;6*oX?Dn507-nYUla<-1y|gRQ2d{J(Zi&&n~cTZ}a(8lzDEs zeRtg4sx2?CuSi^-cQ$I<>l-`LZ?BvCd)vEvd+NEr``T0#-a1jP&c3f^$H(Vq`?cqv zo3rcliwkSL*Pr{l>)V^V+pGQf`Rn#netdCy`SElAs;fV}KfijueEr_vzdw9Dz1}~5 z|KC3h@1DokGyYRgXk?LFv7nJh?S?|V0H1_nld#^42d$!Z8V}nRZaAsYgUKUo+V7{nNK7=QqjC)!7I z#E^~5QHN6@1US4Hm^oxTHY_;U%pt55b7I57!|ejfUUNJ)E;`yRVVrg6#Ky(P`xTtK qWIQ)5IXPL3l_TT90mc>%A+-<&hK2)7tXx704h07q8kraw8LRgB6CWNlwhJhGxj1ZGbhKN-ILPO~#>L0`6`YGg95yXEIhi|X zRm{mr4X39YBs0zM+`P<})1vs*9m$2u&(C*g=6d^c!HSEEJ!CavPi$pybjye+}xaTc~$J`ZEJ6DFL-=vuJ`tJcXwBOes%Zs_VxGo zH!yR{`Rv&6@NkE)cHEgA8y_E^pzJ-*XXmD;r)L;v-#fE&^YilyoV(?GcWrrjc}4K* zxU;*qzP`R8`Sd*B-P_*Y-ckJe-r3#T-`_vb%q{P?XUE6KCnjshpWCzZ^YaUfz32Pw z-SzeLjm_Ej&+Xm){r!W(-3s#l`}X|&{NnQJ`1AYr{{H^q@#*>g`}h6*{p0iN`{(T| H92l$tZJpf;!hSv1_l8J9gv?ud7^zZM+~Fr9rX&yA;9sUfty3d zW5a@j%}l%+F()=GJlrmztTe-8arV74J2yW+zreX$&Ue?AmzP%ruZ}yrYwPRl z8etUL&e0*ZEcKo?LJ3l|au-JRP-`-tcU*FiA legE9v-QV9oINU8H@4s))&(AL|uZ};zZ}0E#OPQG%tO0E~yjuVO literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-framed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-framed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..eb27561baa9934e8a208f2311996b0e551afbffb GIT binary patch literal 1613 zcmZ?wbh9u|WM&Xz_|Cw&ieKbc5yGS1O5D6i`p~b+;5#q2xp|P2R nl}lp6fdfqpToM8)6Brtr7`R1b5)>XJxHECtR)t6iFjxZsSMVM< literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-framed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-framed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..f92110ab48aa728c37a17464a44027630572a032 GIT binary patch literal 1919 zcmZ?wbh9u|WMeR6{?5Q4At7a97o??UXX6xNW)tAx5o2cK=inA)=N4h-5@F*KX5$oQ zV&!9G;bmmuVPxiEVCKd!3PwXPZmZ720;cLkcU8dqJ1<+441ea^#?g2!114f zQA8qwp~0bvjbFoNLP4T)E1R%~k3iufM^*_@37G?h2affzv37_g2sC+eu*t3{nNYO! zAe({oo}SDJjlOJbye~{96fbvVa^U>KlV#9wk-@cJ&2*QDX2W8?g=TYqg=B^<3tt>H zb=Fj^>+7QrC$Ub1KdVX@garHHsS;j9fFAi>Y+Z(m@#kCFb zr_J8ZD$BXO+52_c+}Y;u?(fcK-*3BTd%^vqjmq(Ldn^l|ou4b+?^nC4^y#II;n(YI zcb31nd$2f0{=aSY&$rJH&laCQ&*t~{*N+#s+sE(w_3Ov`*X8;1>+Ami-m0!p%P7S0 zppp68^au6aVk;Ij@+xsWY~c?(q0lNG^&+87Chx_<7OAEi3p?c9GL+g>7kNDDQr8j{ HV6X-NF$~4w literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-vertical-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel-header/panel-header-vertical-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..410c9ee0e7aa2793d04f6c94259cb17b0d6e75d1 GIT binary patch literal 1601 zcmZ?wbh9u|lwx3H_|5_=I zUO{O-Az5BQ86k0HK0x&WDINi7ZhlD;5>j9@Mv2i77?L5N_>+Z^fkBKx2jqHCo@fWs yqd8(o#^tD^sSyGkatw+N5d{kpn3!0&L^uvyXk=z)lj0CiNIcNM#lXbGU=09eI5uhk literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/corners-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/corners-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..43e2862672c761e4d2cb33fa3b42ca0f33aa9baa GIT binary patch literal 577 zcmZ?wbhEHbmzM->(#~nHPpLswzRgmaCLTd1_cIK_1jG}>YWhcJ3ZL7Z|0oY z)8sN2wzIAuqmHRgz-g$g)=h>$(pFep0=+9{?{8)kW>fLVSF~^a&1E%3V&g+z1_|RNl|_Nd$NQx9n^-;wrkw0k zx82uevQsG4d#Z!mq?(zAslKxmll!*JEN<|bXI#2TY_3*QG6R>p*K4tQ zm97e1Y`*c^lvSmg;VU8!=K0>*nssw^(%wnF+0%4ytuMHKEZ6FL=G_%VpD$g_p00my zZ^Li4f7&|?9v)77ul8+sMM3i6e!>1y8_A;7lUbVS+xAEnM<1Q8+|B2^>vP8CrS`^t zf6Gi?U0-E-{F%+|;_RE-GoNp(-L^gY{({8!c7K_he54K7G~)YWS~!K3oER9a0k)%=lGBD_X2#`Dj6KhCAry?tZH2~ID B2P^;p literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/light-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/light-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..660bedb84796eaa83297c2db1a6664b791bf606a GIT binary patch literal 161 zcmZ?wbhEHbWMt4|IKsdXlid`X-4v76lvX}5rKB$|rzIh;J-Mhmsh~41w=FKGIkmJu zHm5ljsGw{@N=a`_c5_luS8R53LP0wN5kT=L3s{v7hy>Zmz$*7Z!HWB%jG&RE=RyMq Yh9i!~+?x!%9T%K7Zr~H*W@NAi0O~3zIsgCw literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/panel-default-framed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/panel-default-framed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..c0985ea013ca34d28a60afa7e8d59649658b0599 GIT binary patch literal 1616 zcmZ?wbhEHbWM&Xz`2L@Pfr&}a$VN&=PC`P;&Mi#O#7;p;LrO+LMn*wFNsEbz>HjDg z4T0es0*XIb7#SG28FUzc0F)=%M{~sRjqOpN5e@+kT?Tdz6^9KA9GjTfH9Qm)92uFI hILtyE6dahE*p-Al1R4$;VrCHxF=;r!(9pnO4FFfl(boU~ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/panel-default-framed-noborder-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/panel-default-framed-noborder-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..087079f56138edf77b758c683d754aaa50f31431 GIT binary patch literal 1607 zcmZ?wbh9u|WM&Xz_|Cw|6r`kKz{JD^lop+KPY7_RFfen-cx-rZfSH9wKtQA6VFNQ0yFreGLsA1X Pvqq4K!U2Yc1_o;Y;olZ& literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/panel-default-framed-noborder-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/panel-default-framed-noborder-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..f4d473687932e2b92bc5a5c7ab53915124280877 GIT binary patch literal 1625 zcmZ?wbh9u|WMf#z@STCd&Mk~#6pV(zNDTqSpDc_F42%pqpa1~niT2SPF;dgQsJ}rW zz+uL~$RXpgVZp&>4q>gB6B`yDZWmDYn&Yu?(a~-R4oP?LyjFXHEz%cJGpPtlOipN#*2Z zvEV$Jl}0M3rm976YWaC->6sZO`Pb%T8ZSRT&!Lj*sN|Fv7v{Q6R*GG<`Q`b=e%(g3 kt4y>)Rs}DOTH95ceQkBr?k-+$u{DwFQZG93axho}0BC$G4FCWD literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/panel-framed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/panel-framed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..ca1184f11bf344df477db78349e7000d3b7713ff GIT binary patch literal 1614 zcmZ?wbh9u|WM&Xz_|Cw<#Kfd$WFsXbCm|ta=N6`CVyB>_B_pGtprj!sqrflteKbc5>j)q99Dxwv&}LxgP;uC>z_E#moxwoifCD2F6Nj7u bLxTeYvkxiE~K4x=7iv4_byq-x;+}3R8CG7 z3(k{SX{2&$s#^4>mYLy-GW# literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/tool-sprite-tpl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/tool-sprite-tpl.gif new file mode 100644 index 0000000000000000000000000000000000000000..e6478670e37ea49286d7f29df999169959338750 GIT binary patch literal 971 zcmZ?wbhEHblw;s$XlGz>`0r4-;O@-bFU~*teev0!D=+?Cd-eb3oBt0#|9|%F|Er(> z-~as&1Pr5KGz5lY2q^w!0eb5{gAT}Zpgh6Av4Vk-LBL_d0!KzBR^X4(Gz> z>BoHze;t7hgA)x-a)*Q>SYJkNfKi528;Or}U{zyIL^Yakmr6J}bc#+^rKXywRhT=F zZ;}opf|iJ`sD34TSF3D2x;Dd3FvW0%vVY2zhaSilv#u$>z&X>X)zQ2^dzfwM33g<&PA$4f3KLQB*)1nOFejq5Bo?49lG=owd7U zt!K6qpY~-zBB`1wiLl?3BaIFp8dP?*WuLBC6Itz=G8{&9`W6LL6_nRdF4yv8 zdv$XaiMdJ!cb#ZXu$01VTJ{zV!6L>oF6?;lY}(Hn=f&1rVA)g$r4H)Bw@BAqeJ-Kprs6sOK4N%h{MPGfe6>{5s_N^#eZ?^DZ1b;&GxfJG>45D#ps`Fz3rzZj4cKNnQw|1IHr-IFzJXHZQ^sGb~wGZ;G3D) zDPkOX-gu{PbaJ$e34ekXo=!#5V~m0=)~M!GA8z?*qhJ0w)oA z8!fluc0w+S*yggYTK(?Sg0n9wn=G=MHmk6unIrF%tp%D=)y)PNi|3`HJXpc@f7f@yQhD+pc@>MqJClEN+ExnZ)j7K{jIef*ZcCJ8BfQub$cer z549%}e521q&vQEz_lH?ys9@&zEO*4eGD?3`bn(Z5v7uHKP;1J(5>)WH*nzDm7@Ql}>~^m&1~( ze!>9^Aiw}lMnFIS1Z)-m{Pja{fBw#sAN_;{fd3K22?9*h1`L>s0XWcs^LyX`{YQWb z{?CE{)C=)2;{yyxP=FHT3kEM}!N15LfyP)M{`8kX0y2<5`x~HvUf8e}&Txg!Th#m3 zcRRe%Zg1?HT@Z)$m16ynKa(*`{66?W5sq+#OS8;NkWmdLHW3C-gd(i}xN)YR`K^cr zJ0cK!$U_1G&3z2RgZx%70M0z*elh^yhpguU&g86vB9NaV_&0(3(I9_yLj?$^*NZ^z zkrR+IfgwGCNIQVT6ZBJ>5dfK%>q!C)$>;(OWLS_I$dM8{nitEc zCLe+kM@f8^6sK4Wr}RoYd?A#bY$-lgO%ZIpAOvOO zqO-zp;Nd&v#S3NyK@cfV;=I8*NPj}g84ME&F&L`ToO5L8;tFd2K7}^yp=snDMnB~} zd;;lBiaOHW;9|Y1MNE0O3=j42Gz66%K{UNw)ku>TDB9`lQf^P_3Q8rW)99=uoQ6KwVTI)d9tV z42f9!0{JN5SjjS$vOB2M<0_LbXHkx`mQ>(LA!WEzA&z_OVS#9Uz@x~OQga6^E8qkx zM#3W2mFO&!E>_}%0z|4bTCqt<-0GkiXf+roF)q50s|DkNN}&s1!-aGAStEPw6sdK< zW+tS;+Sam(WZ;XU`7{t-@#?5KiR~zOJw#bo2%;w8)eUXub6XSr?RKR7XaD3hr?xbA zLW-K6B!MEi0-vHwPdJ|VCI{P-&eEn#RWNvt(O^7U&cLaBRe}$)D)r^pB_u-cLVa{l P`?8Kvcss8`5&!@@N3pJ% literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/tools-sprites-trans.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/tools-sprites-trans.gif new file mode 100644 index 0000000000000000000000000000000000000000..ead931ef617ac8520a24a263abb456ebc1bcd54e GIT binary patch literal 2843 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 IvM^W!0LCzFhyVZp literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/white-left-right.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/white-left-right.gif new file mode 100644 index 0000000000000000000000000000000000000000..51850b795fdd9d6184cc0fcb2c42ab9fab4c05c1 GIT binary patch literal 52 zcmZ?wbhEHb%=lGBD_X2#`Dj6KhCAry?tZH2~ID B2P^;p literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/white-top-bottom.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/panel/white-top-bottom.gif new file mode 100644 index 0000000000000000000000000000000000000000..08f8fae1505b0e4f4321c49d734d89feee32d324 GIT binary patch literal 115 zcmZ?wbhEHbWMt4`+|0mW?;dXD5Go-dWnmv|WbUS8Xm4!cZEhQ2Y~ikF;$UeXVr=1M zV(DvP8)RnfZ(`-E_>+YJ1av?I$P5M+g@7pzt5q{3zun1f4q{BnoR_g`UC!%$1v=+T Na_?8nHdK__t2$-zt@VE9CwyllZqp=-(oqe+$@N zO<;J|$MB?w;XxO}oeqXuZ4CcM!Dt8!mk?0=$->CMAjqJ@00f{s(LS0ZhD+Rz`h%Ph z;P}tL$|2*i;Xy+)hp?8)fei}}x3emF&GER{aI{;(SnkG&jf>q`6r8(cW-eHAa(3mKA{<9+S0Vr53EbygY!>W3JcM zRaaL>Y|grSYU}Fj>k|%l$$D>Fb8~aXWAduMlVe}Df#Gq=3oo*f?_pO~y2e{Rpt&(AL`_MY#z lch}d~H#TSAKeu=H_xBGDck{^m@7we9^NY)?*<}S7tO0yDYR&)v literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/qtip/close.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/qtip/close.gif new file mode 100644 index 0000000000000000000000000000000000000000..69ab915e4dd194ad3680a039fd665da11201c74f GIT binary patch literal 972 zcmZ?wbhEHbg)|NZ;-|Nno6Q7{?;gDC_Qf3h$$FfcOc zfE)$N6ATu z!(r;m%j_$9KP-wo!oMF4bR^Z#pCLVEt6JIYJY>r`(GBHu8TKMAH hV%craN*NY1aV$`Fvrs8ibZTIkpzPfzqoBZG4FEi-n5_T+ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/qtip/tip-anchor-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/qtip/tip-anchor-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..f46d31d0b68c65a664bb20a14fadb54dae64b93b GIT binary patch literal 951 zcmZ?wbhEHbRAb;`_|Cv!?3wQtT9}eqnqE?wRZv|H1`MNMGz3OQ2q^w!VPs%nW6%M4 z7nCO$IHoZ0a+okAENEn8=FkY~C}3!4VpEo?u}Dy8U=ZNsidYfA(7?!KkT%8R!=i>R zCdP^_5)I0XJ>1TAQ+^m6aBJ0!PTEp2`GD7SBgJcPI)fLV?-3V&S8_9OiSIHNj%^`3 zjGrEx%GS{3lX+?B#XgTxr=Fdrk1n)&T83SnA(#?5Nj29>rD{s*?U@B<>s($4Jv_3f KL79z(!5RRppGf)u literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/qtip/tip-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/qtip/tip-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..9f6a629dc4721ed3a5791151b63f4e4861b6abed GIT binary patch literal 3376 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 G002AI?BLx1 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/shared/blue-loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/shared/blue-loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..3bbf639efae54ae59e83067121a5283ca34fc319 GIT binary patch literal 3236 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 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/shared/hd-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/shared/hd-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..446be9257c229158b7dfb7a63a4c6d0a5ee42545 GIT binary patch literal 673 zcmZ?wbhEHbWM-&lc;>(mliA=Co)w)@?;DXFo?Pi4ofnc&8k$sI*)%02u`DXB#xF7_ zD6S|Zz9cZVFgm?1BDE?Yy1+L)DQD!nc+wkR^SIy|K+CZpazD%US6H!`gzD83{t zx!flr%O^ZDD!n!$wc0-_FD$7dD7G*(q0BEbH!!BaKRQ1suGlvs$2&YTFs3j#z9c5I zJ~Fi?Dy=p;qs}KHJ1DL&GOgAxD$h4ECp@{zH!?dqvmqcRKRB*9BDE$swkRyQG9snw z|Ns9CLm4RkWMO1raA42@c>)wC4DA0JfC3yGP3;|>T}=`a3`|V@6Z!cWL_`?4xEQ3R z8N|dG1Oynw#Ti&w7-VG`*x4C4IT_g47+8akLHvpOy$ e9Gb-|db5CM!b8UG9v&Vb001Kp z5h)oOFaQ8I0021w0Y3o&E-fxEFEBACCN(uSJUcx_0Rc|{08I)CQ~&^5003P90ZlnN zZ2HgaR#tRYR&iNbdS75? zU|?otXJ=+;Yin(FU|@V`YIb#ZeSCg?et>}h0EGYmiU0tO0055<5Rm`?kOl^o005Z) z0GmN+?~005%|1f>7~rUeD5005~41+4%8tpx?M0RglK2)Y6SybBAy92~17B(5YS zt0^g|FE6h$GP@!ovpPDDN=%4PP>)+%g=J@gYio~fZHaSpjd*yLX=#~kY?O0znsITT ze0->1U$sL+wn#|6N=l(?ZKHd8zjAWJ0s_Pf3(Ero%L)p|939OP64C(y(FzLN0RhLMcRH8%DjAoeXS{Ujv)EG+gtJ^wQ^{W?3v zNJh*-LCQ@{#8XqnUth>oR?f~+Utj)HQ~z6A@Lyo#VPouQYVB}x>v?Q{t%gd(L*0R{xyxG~vlatYag2Jb&>V$^kk(2*{ zf&Yw*|C5vdnwsaLq~@lni75b z|Ns8}{@~x^A^8LW00930EC2ui03ZM$000R70RIUbNDv$>R;N^%GKK1uH+KXhN+gI) zQmI(8v}vO?E0!usk6NLdNb;LSjN7_}3)gKMEm^BfQ9=}oWJFkzOv$3fZRN_A+GfF& z32BcxoBv$pj74i3x2G;S3XK)B)FeoEmXWL#snn`jv}gsDrLa^fQ>tQ`viiu;6mb&4 zIih50RjgR4R9RKTR}rL1lO$0B9ElMiAmt)9>blUBj4Y5687efWvLQo=T3ms|nUS42 zGT05w#%K~HN|L}(qt>OeA3m=K#Zlp_nV3Y10NJUdgV?}Dj3P~n6lR(~fAPA&<^wy< z3SY;ip*i$tjvF;7)cwO(hY@E;pU(dEJAMvK96x^EuyA(#I4D2W)wt>4TNE8YjvOf} zG)mrhfAgFX#~WKj)1E)1@X?1HY^b3I4=}g`${ckFf(Rmn_^}B+|J5T5Fy|aN${TUW z0S6mQFhRr!;UgPsq@e^7N-V$&6Kb%bq#Sa*Vdfi^>~mm0dsJzqm1!)YL=j6Upi2{A zuE7S7XQmMhKT=kc#-N0zk;D-~AfZ4mcqp-i8dkz#<`P*@Bc(t0{IW!$Ngy$V5I-1@ zizZxdisc(i!~o5u$IbJ_rv6JTkwg(c{D4CNyI4a65=m^j#u6#8*Ipi;`17AUTJ(BE z5kdIy0|yB7l8z8W9HFeL2U?Ou5|`ZbpQ}X_F@z60{NTU@$Nckz5JFhX#WM$9V(qqN zczc{Zzy$F_4?N^RzzK;Blf(}}6cGhE|5-BcwnvOnPkU1IumcV|U{F8}13B@74?zS0 z#dwzlam2`nic7|EPvkH$4mJotfiVMJGlaxG_)rEWKMWD>&Oe?)03;wIQ58SrAhy#rm+eCjRSRuH))@dW!7dZ& zW5o_u2R%03bq^haWeql1000EIv_ld+Sb#9`4TvW`^x8Ju-~j^zOmNFONd2>m2p`;_ zHs5>m&A|f!9AH8(f>-{JI5cc`2#jD0Go}*+k21NqFv0{8KoG$M PBfNl1GVhQS5C8x>^BLCH literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/shared/icon-info.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/shared/icon-info.gif new file mode 100644 index 0000000000000000000000000000000000000000..58281c3067b309779f5cf949a7196170c8ca97b9 GIT binary patch literal 1586 zcmV-22F>|LNk%w1VITk?0QUd@002Ay07w84PX`%A3LHrS9ajJYWB>?a019mY3w!_= zeheW`4kS_$BTNt{R2C>w87x&AE?6EhTN5*F88u@cHent&Zy_^VB{*RwJ!T<2Ybrfu zEanAeNJ0@02_k<8;bxSjRY)#049Cl8e5Y1_tY3bkWN(XQaEfVlk7;?7 zZF!SzdY5*8mt2auc!8LDgq&lBt7(C!V~et7k-lw{yKsuMageiql(2i8y-tSTQHA4U zhskM;!F86%bDF?tGlSHx~QzWsjj`Ou)c+z$A_QDf}_NMrOt$@%8RPR zi>%9lsM?CJ)Qqyzkfy4!pytE%CW@Nu*TlB$=|re)xF5pzRlaC#O0*M=&Huzs>kT8$>*ZV^`Xr3 zq{{ZD&GV%F^A_)Y{V6-P_#W#@Xx7+U3jK?!?;j!ruDO*W%II z<s1(&F;b=Ka&^{@UjA-Rbn(?f%pA|J?Ea z-}(RG-{a%sWQF}}=T6!l(LfBVqwLzTzdz--gr zA>~JRUspdjz=SD#uW#3T=*1z15PotP*O<}1TXI=rW8fk~GqY79KP}1YrcVGlvzs zDl$nW+ZJ<7GW-rh3M7OOB8UkZSwRrC?KL;(Q+JJH=Ywg3PC literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/shared/icon-question.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/shared/icon-question.gif new file mode 100644 index 0000000000000000000000000000000000000000..08abd82ae86c9457172c7a4fdbc527641cf28e48 GIT binary patch literal 1607 zcmV-N2Dtf0Nk%w1VITk?0QUd@02fyP7F_@vT>uhh032%o9CQF5e-A8e03mY#BzglW zcL_0l6g7B5MoUafO-xQwNKjc)QdCG)VMGais%VD1YKp&Yk+f=&xOI)E zaEiQim9}=7y?K_jd6&3+oV;3t&|-(kYnQ@tj>UPC!+4gSZh?S#&mcD?Rw3D8!n4hVIpuCNxypy7?lBc|sslAz{ zv!1E8nykH`pQ59qrl_Z?tE#T5tFf-Ly0EXZv$D0gx4OH!y?~j^f}_NSpv#4+%#5bO zjit(rsl|+~%!H%Tg{shuuF;CD-i))_m#xK;uF0IQ!Je+okgwa9u*sgY$DOs#l(p29 zwb+%o+nKY|oV(kBuJ?(u=#RDcm$&DYyyKX=;G(m`qqxkgwZo{l%AmW~pu5Wy1~n_!_~3H*|^2hyUEtQ&D)~F!=r_S`L&GoF&_N~(Sv&!PL&+@j??Yq$Bv(odm+WouL^Ss^uzv2JK z#>vRX%gf5m#L3db&e_e*)63J`)6&(_)!NwC+uGXR!PV)++V9BJ>B`#d#N777-1y4d z^3d1g(%a?H-|XGp;>6+p%jEve=>OE=@803%+~e!f;quVt`_t+E+2!%y==0m`{@(Hb z;NRop*MI`>g(&|>+<34{Oa!Wf0xe!3Pge_@yBbqQDAy z^yqLDY^(Y`Bgb#Yy&t*SHt<)MmubQE= zM_%4K|K!o54GAF7UTBq*Ob!?g0o7_ijR4L$#5Cl7WQu5*Y1Gi(Bmg6D)2&N<*T z_(l=0(9+Fy7{;fLf+vi?iGtvWSYtTY0MiN@9f&f^H7LmFMINyXBrZBDyqCps^d=g7F3EF65lHnZVrI>UYlglJe zU~oq>afkv8HsRE$YQu zh#-bkqRKD4cwz`3RWxA(1Qnd&3}YuvgUT2`;GhH*Q&3SwBCD*Dh!i~7&_D!W@DWW; z1F;hgDs>bA#0Ei30Z1pS2x5T)7=Y0SG)EyV5IfR9lMEkstO3X(t9(I08OcCnvDYWD z6Ol7qAd-p~6!7sjC){4MV~P`tbU^{7d>1~=99ZDpN7scTEv^xRGv0Vk((EBd#a;&l F06QAMRrde@ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/shared/icon-warning.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/shared/icon-warning.gif new file mode 100644 index 0000000000000000000000000000000000000000..27ff98b4f787f776e24227da0227bc781e3b11e8 GIT binary patch literal 1483 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 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/shared/left-btn.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/shared/left-btn.gif new file mode 100644 index 0000000000000000000000000000000000000000..0622439459be39e2920c3c534a12d7f6acb89fce GIT binary patch literal 77 zcmZ?wbhEHb+WCEbeEA7(xU7iaog61kuiXaqZj{Zl73^l9{3!wYse{!r)1(vG>Y0zw5b~ zFW3XtenKPeNJJKs(5KW%ZCaVwrIwZDZg1W&cs%TqmE!VOokpLdRWtiNy{_H!Jbn+i zxBGH@b%B6)g@1#FiHLEEjf{SDkCKskhm?ein2wc#la`vGpPrqUqNSmvnWLtvoU5p; zsjalLwz9afy0E;jzL34Zznj9v#K)(>$gal8!_Ljj%eA@6(9^fO&(hc3+~3sN(c#wM z+2!Qh>Eq|>?d;X=@$ll<^Y-=L>-gyJ{POwC-P7lf;6Q-^_ZduB5MjTA3LOG`$Pi+~ zh!`(ww8*jlqDP7#CyJyOlH|yLCR3tZxv(Tli7H#3lo=D|%Zwde(!9Cx<4l`7g906j z(`U`1I*Im7iu7mGqf4Deg_=`pRjNjLUe%ga=u@str-HTGRq0l*V$q&8TlTBkwrSah zUF%jZ*|~7(#;wbDuV1}@^9sgG_^x5Bg%KYftGF@a$8Qruw(B_ZV#}2&PwpF7GUm;H z2Vd6wxisn1oJD6&?HP6G)~rXzUj15j?V|+>1j%inhJoIOa_=qxoWySs9Uuq?!P|Fn z2+3tE7t!3raoe4-s|KB&c6aXEP0t1o`!;#)<-dzJzh1p-_v71#e?LDy{q*(O-$&2i zdw%$~`q?L7fCK_);C~3>r(l2Q`M02h49fRlgA_^_;eHTiSRsZR4tU^%7HSw`hXp2h zp@$}l$l-`AuIM6)Aih{)j4+-!qm3Wpm?DWes#v3sHv-usk2|*bBat))iKLE64r!#4 zPdX{1lt)HcnLb)ZAU<%nKm0oITW|?S`spgn$a_MH6ON#lXoN!t>XPkK2 jS?8B@_L(Q2f1bJKoqGCNXrO7fxu>9t8Vaas2><{)CkK&2 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/sizer/ne-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/sizer/ne-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..3a30ca224d1fb27f5a4f966fb923c52fb84e7e5b GIT binary patch literal 66 zcmZ?wbhEHbJC=eF_ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/sizer/nw-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/sizer/nw-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..65d5cc201cf30c6e1ae95e13617ea0056b4f9707 GIT binary patch literal 114 zcmZ?wbhEHb+WCEbeE}*y*TU5yZ>M)j$~<`XsWJk>%MR-&vb3yc&_h!@BhG{ za7Zi~Z-S(9$!t2G(5Q4uty-_xtai)odcWYXcuX#v&*-#z&2GEj@VI=gEEJM<{9TZz z`~QG}f`f#GhKGoWii?bmj${Opl9QB`mY0~Bnwy-Ro}ZwhqNAjxrl+W>s;jK6uCK7M zva__cwzs&sy1SBg1_Zvq1;4?(#>dFX%FE2n&d<=%($mz{)~f^A+S}aS-rwNi;^XAy z=I7|?>g(+7?(gvN^7Hid_V@Vt`uqI-{{H|23LLo2fPriV5gr_nkf6hd5F<*QNU@^D zix@L%+{m%BqsMswLW&$ovZTqAC{wCj$+D%(moQ_>oJq5$&6_xL>fFh*r_Y~2g9;r= zw5ZXeNRujE%CxD|r%fOt?uiw9b0}CEZxUk{Fh!ZPb%($`R$B-jSo=my2<;$2eYu?Pcv**vC kLyI0wy0q!js8g$6&APSg*RW&Do=v;9?c2C>gG~ScJCev8jQ{`u literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/sizer/se-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/sizer/se-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..881a5c42d66b22ba04074e5ee00712285ffe2118 GIT binary patch literal 65 zcmZ?wbhEHb^) G4AuY;v?Y50 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/sizer/sw-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/sizer/sw-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..030d8f8d8bde964ad5bffdf1c51120269ff2990c GIT binary patch literal 66 zcmZ?wbhEHbMoDg*Y literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/sizer/sw-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/sizer/sw-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..79bcb8487129724b7b4b70fa000846a969dcf50d GIT binary patch literal 116 zcmZ?wbhEHbhPxH(-aD``SOWkj ClOetU literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/slider/slider-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/slider/slider-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..50b762499d5b740da765a68c58f976a65a4e5448 GIT binary patch literal 144 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 ObjB<@n}doh4AuZ-p~@lv literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/slider/slider-thumb.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/slider/slider-thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..4991a745da019fca4259210d0cf79069e054db2f GIT binary patch literal 3436 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 NUqE@$0|6!mYXHXg$cz90 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/slider/slider-v-thumb.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/slider/slider-v-thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e0c0e2745526c0d8f380e83697e918fbd26c4449 GIT binary patch literal 3432 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 Qdk3LVB){y30RZd&0edy70RR91 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab-bar/scroll-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab-bar/scroll-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..71a2e88c602849b1cb0947ffd8a73fbde1efe53a GIT binary patch literal 996 zcmb`E>rYb$0L5=dDXkQyaZO=5sYsn+EHYeFBDy*Sr=TkfA(A*#%Bw7mHksQS0QVfFw4GbGA7 zAR4g+Fp#znQv^)IBYtSaPht!P23!snwbKO3OnX+JO^59kA2RC4p{*3-fEdK)4{byU zgmrG2?KEhm#>t=)rKzR$8PBR`Y-Pf=?41kaVBo2Pop3KNJbO7t2Hg&Jem3ktn3<_n z`>=0jDm3>;7=yM}u`Zk)cddA5!!H)spAtb7q)D8anplCiO9O64aK;mwn+}hW%aDZ{ zcP-;EJ?;u(w!oM(NTBqjdu4hu{>b|dUXw)}VG~fF1rVfTSX?({T_}$ zG-|g&#$HjnSe%qdd~O6DyNA5J5{@WQxTEN8v7yhq@VvsJytI4I;j%rS_4Nd8a`u$BipI7XPh_Is-7y5W)L*eUMbBV1?u`-MD7p{2PLEB4~rlFTzcyrZmGwNyix z@*AI+vq=<`hhlChXUCE1?wvw@!LC1V z2ovHn9v{VvQ*o}~sIov^XwvJ`4@8ff)g_|xWZv!zIZ2+g`S6>WV_nq>1#)HNA9sdg zO;_8<`&7+4ZB~2`hs|HPS>CXU)V&qoOsb6aO}hkp_sMHoeda7RPbkk^!gTcQp{od`%})Q(PPWSX+r9okpymv>FwFAU2IJl*mjx5i8R~ug?CJnDC*dP8)YaB8z!Pcsb>}$jxtnH~2Y!pQ(>4YLdn5 zOof-eUCfosIQ#N0%Nh=yRS^1Eb<)-31HabzIFd@aP9eS5R@=O+eb?KP^XgDi%L2<% ztsm9hElWOGDJwtS7TMH4ypjp^7r(Gd@7QXprCmc!$rYb$0LAYuZ)l+Mut13`lU8KJp<#;;#%e_bqXr+#aEV!IDX=e_+x&nDbLEYU z*DAlMyk?pj3KaZEtT&3uPdWnPr1Z@4YRhuz)5I7=!;|=kqzgbCPo@H~aLN zf+XNQfGPpJ8@mP_iKDa`p-nJlF)}8IvS5q_qoEPfj8K@tg^jr^C=HL2MuQ7SXaZx* zFolk}j1XlQA#sF4^vke*nK05u$YnJ%n1RAEdfK@%KnJMq=?>-~EzlyP%7>9Lb{*`a>uZ?lsjX@M)qNgTSkb_c}&Fr3WdS|D7cESVe zNQc#9LMVsTZ5(siEp8m6CT%OzlU^In;3$Q@bS=!TO*vLf2o33$Ob`w0$+z48u5Ru^ zIx_p>)$4h;g{MS>kr^7a?CtFV|A!K{{6PRH0a6cO2cG~zdy0~Z%Bt#`+B$jt4-Jh? z%`I}tqt>>^kCg3Qt;*sjJ*wVfrBnlkXf*r*Q1i2T=t;l!sWjx-fb<;y`3to&CIlQb z#%OV^9Ds&wQt%EI9?RvX#QZjBv%|oslpB95lpQ|LfBITo_`)_gaDyj%pBHs)AjH#K z=>0P#HX=A#rMov!c-B_@B>wAVjM?49+_}~-L!SLuX|Wte58Jvd%3eFCjMsp zPMQqmp7dllH3S2;Lv1M^4G~NHfh#}uv=%Iu-xRcblli?kAwZ;PQ^()ocPJ9Ib|sMN zRGiHwqFHQl`p)JMulCR<8Jo|h#43CP2$yI-0MR7T3tafJ5MD6z{t>?EA9O9Fp!$)84s294sU^H zQg4j_1=|X0$#Q|imtmP2cIIfMOg|~bwGZ;$p4*eWbrG9obzsISxgI99~3RAX*~K1arN7>Hw@Wa z<|f$9qQh~8rQtONNm-wt*iKF=zIo z*BpNmAX#aK=jLT+XIm7%@;R`1 z`T6-=O36jFBDGGpT7W3BS~S!*~Z PE%E4Av)1F`V6X-N+b12G literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..cd3c32c5431abad9fe015c57c28330e8e7b1ffd9 GIT binary patch literal 1640 zcmZ?wbh9u|WMPnC_|5tZ9PB~@0tpQV7&ru392f)y7_0$*wm~)k literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-bottom-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-bottom-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..aa733efb9863fe84037d0321672c6f51942bc02b GIT binary patch literal 1640 zcmZ?wbh9u|WMPnC_|5uyTpXD(NzDh%$1B z;t>$z;uFg$>&hwV%Bh$D);CIwhQN>y0mYvzj0_Ay3_2j6fbv8;kRHtuLq1+dJwR>< zaJVusbI5pXSa7hBRY*+Yz=TA`MrJv-4vxS@2U^A1Q_fTzU}$9EmQzr;;BbJMnL$cN bK%k+ak%dJ-BO>8JV*?wfmIaRZ4+#(99dYU?BG;~bMtC^)|<|ZT} zWo8#(WaT9!B4J|Z*U&bts%1t|RS#JAC@~rWLpTH!f3h$#Fo-bdfcyZ;6YW5HG)D~K z7#(#wWg)=f%D~Mbi<-|HT0v8=<6&FuAW1-O4#KffL5pZAu hVU(2wqI$=nG-1bK`k4iQ(BKuBNUTB@TQo9g}L@cqTPuG*-O!NEp0At{Rk9~cfYv#~f$k@)z)sZpF$$EQJo qfss)_LS%u!LPjPA5f&bWfCC2`n1n?*94;g@wlFfOFmP}%SOWlOWxMSF literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-bottom-active-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-bottom-active-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..1ff28ac2f156642b5203af991fe31a87abe70d39 GIT binary patch literal 1628 zcmZ?wbhEHb(2omyo46J-4B&71nIxL(*n!0A_nYo$R`59Pw)pbluD(GqG zn3h-3RnashucE`q%11y%LO@8YprYgdC>RZaAszyXKUo+V7(^I!Ksf=FC)!7I#1N0t zQRh<>0vsL;>>M%z3l(2&9yZ#H3WXxVU6gj3nfAjLdAb3@rYSg3%Bd0U@CHlZBCi zfrCK@loLRCqJ1<+jDTn#^&-v?;IL+3=a3Otu;5@bhoDqMhC_pMJ2R_(2y&`s8QJ(qNJte_b=kQ^<<-p6Gjp?Xi!ieCYUr3&RMk_} zGNYiXr>Sd3Roe_Ry8shAKOqq*ArXoHqhK@yhIj}l{$ycfU=U%@0p$cxo@gJ<5kovm zN1abm2yl2Xuye==ELd=`nM2Sj;>Cl8!_3U=G6ewzNv>UtN@6)XK03HFa`CWeY-ng? i91aEz3=B-%QZ5!79vp1plhmrYF+t&Ir;xJKmKhTtA8VD@&sxJV XX^BU_n)S3J5DHn?k4-U5QNov*Hn4oa9Q%Koq%Z!PSkG0C{XRYCw Xw8W!d&3f7qiJ+$^rwTGNF<1itQhW-3 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-top-active-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-top-active-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..d999e0917e823aceff18cabe31681492ded7b812 GIT binary patch literal 1625 zcmZ?wbhEHbWMPnC`2L>(2;NL$cr$^a%7y1n8&in`UxNpajub;*2%ClkLya3xPY~O! z7N%QmO#es0Xb23u5K#Qd!pOkD$Djks37|aDKAIzjT_lfsh=dT}Fk|56&=FX$;9xU{ zuog=J!@&k-HVzgC1;Yaj&CCKS3<3=ejV!E^3I;105*#Np1}rjJF-i4w1A{dHrIghy literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-top-active-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-top-active-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..c7c6189333ddc5005d25f3bbd5a4fbbb9b8a44e5 GIT binary patch literal 1620 zcmZ?wbhEHbT^U^E0qWC$q!WMO1rU}Df=00K~+XdlfHBQhb3 zdKwx69EJ>xED|094GvAryh=V50t*kd^2?g(SWJ9)h(S;@?o5VYl53B=Wz!vrO)4iR L%bByWFjxZs&U6SF literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..fac36a95fdb42b96a548740e1915379289fa5608 GIT binary patch literal 1631 zcmZ?wbhEHbWMPnC`2L>(2omyo^vv8OB%}(2&9yZ#H3WXxVR+bbpDTm(GVC(A)xq^g^_`Ql|cuT6F_;Q zeKbdmr1&58D|!fU7%{MNhzKlLaIl#}SW4zV0Wd=_DGG5YBq+Hy3o^1OC^$TJYhq{$m7!83D83KwwSr{1@m>6^zfB=*y+DCK5h)f8h zo`!}1ham$ai-dp!@lgi1- Ka^`F-4Auax1_d1e literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-top-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-top-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..96853257ef6b40d5246691110a22bc90e7858f3f GIT binary patch literal 1631 zcmZ?wbhEHbWMPnC`2L>(2y&`s>6y6+iOCpQdD*x{*tta|74#U{_}I8br4;p<*!ksD z&5)3g5)zU6KMF=eV0eXq;!hSv1_pix9Z*gH<%#yu95K9Nc+@wfg#d>Q11pD!z=8z_ zn>mD~at>@@Y+z*L;E7nE(9qb$$RVMUaDcIafnCf(qhdjWBMS@nGM)`V4$jTGiDn`K H0u0sw07A~% literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-top-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-top-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..d9bf0811b9c8f8f0d4458d5e869b0b94e3335e7a GIT binary patch literal 1620 zcmZ?wbhEHbYw7_0&Mtq1J@ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-default-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..8394350de51fd3d28dbc4e08ad3f2b3cf7820b66 GIT binary patch literal 1620 zcmZ?wbhEHb6^zfB=*y+DCK5h)f8h zo`!}1ham$ai-dp!@lgi1- Ka^`F-4AuaXY6qbJ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-top-active-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-top-active-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..cf98156900a188aa3c8b94298503ddd0dc7bb5c7 GIT binary patch literal 1625 zcmZ?wbh9u|WMPnC_|5Zi0xJj z)2%ipu-Z{#Gz5lK2q^w!VPs(7W6%Nl3X~_>f%IsO7*=sS>KRf(fWwS|n?pxn!GeR$ z9Ku>G1q=rpnAtd3925)>Ff=m@s4xgLG&HiXN-7wvXh?9J%owo9WW^-a(+v#P0FdV` Ai~s-t literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-top-active-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-top-active-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..1b27451a1ad0fe75e8113a68cd7d5d953a4c665a GIT binary patch literal 1614 zcmZ?wbh9u|+|z`)I*1M(gyPqYK+(Ht>6BYV_WM1%l`83Q|qjKG2g2b(#BwOASsI54ts qv9K5@7&CMz{8*e@*5~mv;*nU95D=IdelqAg#d>c13QO|z=8z_n>mEFSQ;KM tFtTv6uvjPSNWo4Byn9-2nIGHhEk;#fls;3(mtO0X5B literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-top-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-top-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..229b1d2dfc2190c3dad62a64bf91dc55b435faa7 GIT binary patch literal 1614 zcmZ?wbh9u|NJ zX=n&=XfrUfNO%Y|I5aWyD*03hEIic8FKeb_G4bIc20_iZGZ}(Ou08UWO?M=W6d0@l DhWQn{ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-top-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tab/tab-top-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..a17354df639c5bc2baafe4b6e1e7f7768e7808ec GIT binary patch literal 1625 zcmZ?wbh9u|WMPnC_|5sjE2C73<1TTEQ|~cObj|8--Gf*`)H0BkqKec z)6fv$&}Lv{k?;^`aA;!YRr0A2Sa_(FU)D^=V&cO?41$_*XEFqnTzlj#o9;*$DKJNJ zX=n&=XfrUfNO%Y|I5aWyD*03hEIic8FKeb_G4bIc20_iZGZ}(Ou08UWO?M=W6d0@l DXap7O literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tabs/tab-btm-inactive-left-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tabs/tab-btm-inactive-left-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..687af2b29c49a4b50d59b787687d3f5c7e4fb644 GIT binary patch literal 130 zcmZ?wbhEHbWM(jA*v!D7Z|;_u-;pomkMBRNR+TFfp;Pj{y}Z z{$v3Q=zvI&84N7?0v!r3*ZjyjU3@=|qc6Twc8VkG6er$%o&(0M5(jMMf9w2UaAg#b PP~&28XqwQ&z+epk_J1Q_ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tabs/tab-btm-inactive-right-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tabs/tab-btm-inactive-right-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..3c1b3ebf55a464635a97e605be577eb16749eaf5 GIT binary patch literal 513 zcmV+c0{;C+Nk%w1VJrbM0J8u9VQ-9IZHQoQiD7VwFE>VEZi`}YkzsO;G&nM)j$~<` zra+)<>%MR-&vd8Oc&_h!&)>eFa7ZlXfX1Y9$z&p%(5Q6EdQz|0Y}TsndcQ(0cuX$0 z#OAbmok6qT@UlBjuV3f(ygrHF`~N$AfP;iDf`y2QB8Q5Nju?!Ol8=#-mWY*?ntz#_ zo_3v|qHm$2re>w5s$Z$Au2`+FvQe?Kwo0|Px^t$ID9v%FNJ3 z&(YL93e(luI0x9;-Z9+Y;xyso<}c;v>L=;z?jZ#U1O@c<_V@Vt`uqI-{{H|23LHqV zpuvL(6C#v1prONu5F<*QNU@^Dix@L%+{m$`$B!VcLy8Q^ZKTPQC{wCj$+D$OjNAms zoJq5$&6_xL>fFh*r_Y~2g9;r=w5ZXeMq?sf%CxD|r%?vy0q!js8g$6&APSg*RW&Do=v;9?b-+sL;wIg De|!Wb literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tabs/tab-btm-left-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tabs/tab-btm-left-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..e5f827a36088c3697a48a05024d78fa4220e843b GIT binary patch literal 512 zcmV+b0{{I-Nk%w1VJrbM0J8u9;e#dZkRj}ZAmV%`bU+T~eM)j$~<` zXo^Z|>%MR-&vgB$!s!{&Zu-sRY9xRtTubydcR;{H%u;@ zTjR5O&DNyb@Ob$xuiLBiyMBMn^Z$T5eu0FAFN21OiX(`Nj*l6Qkdu#+l$VBel)YpR6*xNM9+}{=6;NKDj=I7|?>g(+7?(gvN^7Hid_V@Vt`uqA41OEU63LHqV zpuvL(6DnNDu%W|;5F<*QNO7XSiWoC$+{m$`$B!Vb6G|{ZvZTqAC{wCj$+D%(moQ_> zoJq5$&6_xL;*=nur_Y~2g9;r=w5ZXeNRujE%CxD|r%T41S`=>8sy(h%e^#%=fDI`AWC087 wfJl%T3@l0k4GJ&U{Kz_8d_Rt(FJ5!jl6D^!YuR8ye}-K4hDLT~dlv?40PG$eN&o-= literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tabs/tab-close.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tabs/tab-close.gif new file mode 100644 index 0000000000000000000000000000000000000000..ef9a7c262aae098a8ea9458649bda67ca495a65b GIT binary patch literal 76 zcmZ?wbhEHbukxD;$|wy8;ozC>RZaAs7NW vAUA{Z0t1HvgMP#chs3594gm$5f(s1?nOHdmWGoUEFf=kUF)?s(FjxZsdvY7B literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tabs/tab-strip-btm-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tabs/tab-strip-btm-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..a151553e964bc33288767da19fc688e7d6dc3c0d GIT binary patch literal 70 zcmZ?wbhEHbWMq(HSj50!Z0=-Y>0)BxY-;6dX6_sbyg1j$pl` O8_;6eF59BQU=0AS1q<{5 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tabs/tabs-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tabs/tabs-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..8194001e3745dc1879bfe03ee0a9aa0d00c37d65 GIT binary patch literal 1221 zcmV;$1UmaiNk%w1VHg0y0mKskVQ-9Ka*g4GCGC(QFE>VEZi`@UiC=AqbU+SaagJhe zkzsI&?1UiVd?w?4C+2@5VRDdSbB@}5CjbBc000000000000000000000000000000 z000000000000000A^8LW000vJEC2ui02lzm0RRR6;4~p*X`U!D4s7eb@PJ5h9V2$` z;=0cFHXLI}EEql~43 zsfnwNt%t9ur<$>kw~@J%yOq6{wTQK|w!tC<$jQpf%mfnz3enQj)YS^m2ie-&+}#HR z0N&!>1PSBk+5`ax?CtLF@CNGf^zrHo`1$(#{0sN}0QnJ!P@tf}g9sBA7+3&+!-o(f zN>nGYqD24{FKTp{apT2~9xH+j8L=Emi{MWGifpK|})?dR41Ou3Nos1p8I2MzUkgepHK+ ztw^^Lk2Rai?3uN@)(9L>$X6k_zJLvy92&sq$fbn|Cs@q5vE#=H211?;d0>Fcm@{kM z96%lC&zwDj9(`FfY0#!mhgLnh9P7{EUWYCqdozIrwKdnwoq0F!(guD57v4FzaNoa? z^H!dld2Q#ip}&^Sn!0N1r?HdP-r9I_@5{kA7yq1mbo0~ES66?XeRlWT;ddv_9kqPW zDe~(F!oR=&{{RM90}})mXy6f4B&Z<&7z{S(;1*~^C}A)ZR%qdc7-p#9h8%Y2;fElG zDB_4DmT2OMD5j|5iYyXB*Ne;GB_lQH)M(?4IC@jhjy(1VPe4EhDI`CE70HrMNG7S| zl1w(~0+o_zM{=bwNED(Iku7Ha6Bh$gD&qKr2BntqU$AcBAcNT33xmHr^0rU7ya zAOZ(6Aw#H3$e`eOwQXR_hPG>PD}cA)B2cTix00Kyxx1pQ~<|5bry2RGl|TT$v2@qQ)Ebz4AVkB`Qwv3GrQap%{<|Jlg=~o43p0{+pH4M zLkoQp(MKCi64Fa69TL+|JM9tFQ%k)O)mK}s5!PF4eG%7RduK`O%pGEWew9Z}yt^(`l5f)5VaHNqu;xNv(g zosr8H8F3g9w~*(VzxKI8aHIcLI&Y`vmU?Zg%htN+p|ke7?6IphyY01~cDwGmleW9> jy^r?0@WF#Nyz#|vK>~!5w9JCEEJAGjO5!qF z>;lS|m{|Ugg3%BdULm0PlZBCifuBK#0SG{OqJ1<+46hg-^$lquz+u3^&Y|M4VS!^4 t6T3w~frBG66FY~J$Abok1{M}x1%(+342%y_eP2F4$3TKO?eZtgUt$lV_EL^UWS%c%&+{-m_6HQK^ZP!(JahA7os=I-+%ig1j zj-M-C4_EoC->u1;@llKaj!B!!?8y2(CV~0+Dhsvy-^?&z0lJsL)78&qol`;+0NxH; AO#lD@ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tip/tip-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tip/tip-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..27360d66298d7de0030a2dc935db96137d46d017 GIT binary patch literal 1623 zcmZ?wbhEHbWMfcb`2L?kNGC2XqwW7F7!83D83KwwSr{1@m>6^zfB=*y+DCK5h)f8h zo`!}1hY15Ci-ZJ2gF_P=rQq;hhy NSa6=qOd|ybYXHqR2o(ST literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tip/tip-sides.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tip/tip-sides.png new file mode 100644 index 0000000000000000000000000000000000000000..dc4b87dbf46fd538e3e0259075971ddcc3a03603 GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^Y(T8U0U~QYuE+pVEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5*WsR$t RMHEmugQu&X%Q~loCIFl7A6NhY literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/toolbar/bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/toolbar/bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..b67a54e2b2bc66b5664b356d32e8610437bede20 GIT binary patch literal 82 zcmZ?wbhEHbWMZ&jSj50!Y3plg>u2Q%=lGBD_X2#{I^ gX7Pwrw|{;oJlpr0y*T@uEkUC%C3D`3nG6ip0Oj`;R{#J2 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/toolbar/btn-arrow-light.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/toolbar/btn-arrow-light.gif new file mode 100644 index 0000000000000000000000000000000000000000..b0e24b55e7ee53b419bdd5d769bb036b19fe9592 GIT binary patch literal 916 zcmZ?wbhEHbQ@i%X_#s+qO5ao&#Bg}b_z?(JW>fAX3`Gd3KV zv*q~0?WdOQKC^1y`Sph`ZaH>k$H{AZ&)(dB?ha5d!zdUHfuS4%ia%Kx85kHDbU>Z} zernn7GpqKUUw`Q0mSb0ToV>R8?9Kh>?)?A%A85cR7!84;8v=?yS(q6Z7#Vax zUI66@296R2W)2yT4GRu7a|mm>STHs?w+nNawPX}9G%#|o>fAZ8aq;nf1?Mgq&rM5C zPSyxs6?1aa(*sN*0#Y579~gX_Ir7AO7EE5yG(%Y4FT%k%!-dUUH;Lzh!*aJqzAC;N dg;0f-Rg6jrr6;$pzP>);aF?w2wgd+TYXG#xTAcs@ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/toolbar/btn-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/toolbar/btn-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..ee2dd9860c799be6dc194b387c36a953c55aac59 GIT binary patch literal 837 zcmZ?wbhEHbWMoKTXlGzJeCy}&J3mj~|8@T1uggzJpf;!hT!Z~imrfcyl?6AT{b$et`3#gN7&v4Zqzw`_ELgzA$|)pg(Xe14 SBQvX#kb;4O15gDcgEauAx-gUg literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/toolbar/more.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/toolbar/more.gif new file mode 100644 index 0000000000000000000000000000000000000000..4f010201be6842a2f603ae0afb1d071b123da07e GIT binary patch literal 67 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 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/toolbar/tb-xl-btn-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/toolbar/tb-xl-btn-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..1bc0420f0f0e30675a9eef74adbcb55e3efe9d00 GIT binary patch literal 1663 zcmd_p`BPE}00(e9$fKOV%p>iPJj&c%bKS|xcC^ftT+_6&bQ^Q1v0|HYZH>xJ<)Pwz zJ{2=BT=7g3OVbPx;Rzm~c$*61k!dRMUNt+7`}{lhJD>Uf{{7*5&d1C3_zfM5t5zZg z*DM_almg(yCS!GDY@;y)?seu{c7h(Q&j zgny%6K+jMmP;5z0Y-vv%s!SALDvB=?$Crz#U$z654p0@{`RiKu^2 z14&f_^ePFRB}v{QO|F)tR7+E8P=l$c+QGEiq4e6Jw7Q}6I#~v)9yOfNFq~OGocVGj zt6?PT&fvmXJUF)t2KjJ7H_Q;g#SmQ5 z1DA>53Nc*S3$yy*ntr%$0BMjQ>>fpnXzn#itbEfu-`cm(hU#B@JFwI)`Pd=(_)fa~ zZtzp*(8~Lvl_n|DJczUmA#Y?z+c45Gigb=49N8*o_%nB8jW@E^HM-6jM|cwme{6$4 zuIe6F2`1FtlZbFqBbs8TgLuNs?IjW4Js7St1q>d8g*)ROwcN6j>9 zSu?Y&nf(OIS6~Hd6`or~l%J7#)Ecs|_GNMX3+8_r>uji{Y{M4quYv` zK1ZlvHoGPY*j-7ev-=+W3ti~ob1cXsIm=-%B`70^8A;N(lJ71^2VXz?dPh4Tu$GN$JgLf z{3za}WGW%h4420UW0~llVVYVIXr;Kr+JF~!z5KiQkXD$d#isr)hd6Wp9fH_M_ied= zbBRO2H$dKNZxrE1@t!jP7=AW&Qn~^8e!TYHBDTNK?x(Rb1Ec7OaGiY&W#c)!Q|oa) zxR@|!V1K^37G&$K8%{T-20M=%Uw4vYF~9N0M5&-GxF;=F>DrU-MpPWMarYu94|<*m zCmr;5E>{wK?G#LcKY>tb9dwxj<f_U;r4roZGa6lchMQo#=t2JlW z1rrR`MBfun)4u2}<(LGzxnp$QfVUwDi0IAGB@ z(YR^83IK=@3&2sHp2BJ>i_4GC(}I&g&Z3hSEU z&NlR)I4f4S^950*XIb7#SEi z7<3qb0F)=%M{~poi1tx0;tTFX%SOWmmSYz`5 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tools/tool-sprite-tpl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tools/tool-sprite-tpl.gif new file mode 100644 index 0000000000000000000000000000000000000000..e6478670e37ea49286d7f29df999169959338750 GIT binary patch literal 971 zcmZ?wbhEHblw;s$XlGz>`0r4-;O@-bFU~*teev0!D=+?Cd-eb3oBt0#|9|%F|Er(> z-~as&1Pr5KGz5lY2q^w!0eb5{gAT}Zpgh6Av4Vk-LBL_d0!KzBR^X4(Gz> z>BoHze;t7hgA)x-a)*Q>SYJkNfKi528;Or}U{zyIL^Yakmr6J}bc#+^rKXywRhT=F zZ;}opf|iJ`sD34TSF3D2x;Dd3FvW0%vVY2zhaSilv#u$>z&X>X)zQ2^dzfwM33g<&PA$4f3KLQB*)1nOFejq5Bo?49lG=owd7U zt!K6qpY~-zBB`1wiLl?3BaIFp8dP?*WuLBC6Itz=G8{&9`W6LL6_nRdF4yv8 zdv$XaiMdJ!cb#ZXu$01VTJ{zV!6L>oF6?;lY}(Hn=f&1rVA)g$r4H)Bw@BAqeJ-Kprs6sOK4N%h{MPGfe6>{5s_N^#eZ?^DZ1b;&GxfJG>45D#ps`Fz3rzZj4cKNnQw|1IHr-IFzJXHZQ^sGb~wGZ;G3D) zDPkOX-gu{PbaJ$e34ekXo=!#5V~m0=)~M!GA8z?*qhJ0w)oA z8!fluc0w+S*yggYTK(?Sg0n9wn=G=MHmk6unIrF%tp%D=)y)PNi|3`HJXpc@f7f@yQhD+pc@>MqJClEN+ExnZ)j7K{jIef*ZcCJ8BfQub$cer z549%}e521q&vQEz_lH?ys9@&zEO*4eGD?3`bn(Z5v7uHKP;1J(5>)WH*nzDm7@Ql}>~^m&1~( ze!>9^Aiw}lMnFIS1Z)-m{Pja{fBw#sAN_;{fd3K22?9*h1`L>s0XWcs^LyX`{YQWb z{?CE{)C=)2;{yyxP=FHT3kEM}!N15LfyP)M{`8kX0y2<5`x~HvUf8e}&Txg!Th#m3 zcRRe%Zg1?HT@Z)$m16ynKa(*`{66?W5sq+#OS8;NkWmdLHW3C-gd(i}xN)YR`K^cr zJ0cK!$U_1G&3z2RgZx%70M0z*elh^yhpguU&g86vB9NaV_&0(3(I9_yLj?$^*NZ^z zkrR+IfgwGCNIQVT6ZBJ>5dfK%>q!C)$>;(OWLS_I$dM8{nitEc zCLe+kM@f8^6sK4Wr}RoYd?A#bY$-lgO%ZIpAOvOO zqO-zp;Nd&v#S3NyK@cfV;=I8*NPj}g84ME&F&L`ToO5L8;tFd2K7}^yp=snDMnB~} zd;;lBiaOHW;9|Y1MNE0O3=j42Gz66%K{UNw)ku>TDB9`lQf^P_3Q8rW)99=uoQ6KwVTI)d9tV z42f9!0{JN5SjjS$vOB2M<0_LbXHkx`mQ>(LA!WEzA&z_OVS#9Uz@x~OQga6^E8qkx zM#3W2mFO&!E>_}%0z|4bTCqt<-0GkiXf+roF)q50s|DkNN}&s1!-aGAStEPw6sdK< zW+tS;+Sam(WZ;XU`7{t-@#?5KiR~zOJw#bo2%;w8)eUXub6XSr?RKR7XaD3hr?xbA zLW-K6B!MEi0-vHwPdJ|VCI{P-&eEn#RWNvt(O^7U&cLaBRe}$)D)r^pB_u-cLVa{l P`?8Kvcss8`5&!@@N3pJ% literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tools/tools-sprites-trans.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tools/tools-sprites-trans.gif new file mode 100644 index 0000000000000000000000000000000000000000..ead931ef617ac8520a24a263abb456ebc1bcd54e GIT binary patch literal 2843 zcmeH{`9IT-1IOPR(~OuQ8WCoWkfR)xkD2>OSRc%h`x+`u--v4D8j|Bfn;auF_feGP z9yuBcEfTpJIa2zNO53N;fARg{^Zfnwc)T9Z$K&;~vavKY@|6QLKq&x#Hp|levl+v~ zIFcHJNNpkUZ6OJa@Fd2?WX9!GMr3+dbXHF!ZMLL&iTZ5yVdp|!@A9L;}}?o?cuq-(Z#*7<)7nA+iy7AuQ>aYt6cUPZ)SaOdV{yLy|?g{$Jynredlfc;{68r zkN*t(-xyH%&d&z`U_j&FM*nUCfbswcRMxtYh7o{@s|WZr`kD$zE7}&O#+Nda;dUYK z2Aj++5)Q(WWue*pWC1j;4E4pyhYwJKv}aHwIjQ&cJs62z9-BB?q$lqO z6)Wqrrzlh8EC}#2^M{Tq?y`F)IHtlf`aa6Y-H`Ee6Qc~T7p5w2i%-NOHXGTs)(LPE zL(MOxTXUkg<1p2#Ck?)x8c$$co9wd1ew36}Vun*QcGy-Xtbf1d!AiH3U8QUh;;~t( z0j{Pq6saU2*69C2|A(8ldF4~0UEPr%Yb&W~GEn(Xl4Wj-OuKMH7_E&6MC;IRd}=qJ znIBB|r`_)`C5zP6`0@5=Y`p{B?dSZD`aZq!zOV2=*qrRG#t(@*qH|W1_iOu~7h~9B zq*vKNGzSohPD?P!!^{%pB3kAX5B}kHB!QtLiAe&3;R_fUq(oVq$n_IWWT^fLKTEmf z4~l7s>cP@rIYmQ-+eP@PcPW%W)Vw7>x34%hxo3cS>uW{u%uQRZHt$-GwuB8sj{{z{qO#c?8Qt>}9a1%l|S(k!DOs-O#cwT>1M@ahfl=46Q?6Owfgh)1DK{kpb06wZOKzNFr<4cLbloc` z>As;fo1!varMqBFy#A_dbDpY)kD+DCOp(*33q0wS#re=X&f{%9QGR&3XYF|2o9xn; zSi)vY7S^sj_N7SMX1=TCbZ9_DfqHe-Vx{fJ>e){B0)}@T`uO8ULFkN=L2JxR)9GYw z$)*gDMG?7uw`wx|bz4YHShAdZ2=ldHdR^-bk{!`6PZFB0y3>>Xrj3&y8^FMU`|JIX zP;C$(4$W%LLWKam!{Q_wsMaG8z<>oe-Vp^Ztg#-A0Rh^*PEf}bOq61D*55>EG-d`P zCJS_f6*PcukXSo@=QaM)k@zkTBb97o2K7kxTMuIl0Kmd&0Kk9d^Mt@frl!HHs0Qz$ z8)#Aze&oO*fa?i5kO?7nsTCgwLmWM~VUZ^Rn=q zb=}YfQWCviM!*_#W(rK=uZJK{rwtfiPxL*qMVI&i$-%Wg@I4$E&6N9a*`F)qDr&{4 zS3m>+9j0aNnY$EF^mZ<#PcmHNM2p=T`mgPtJBNr5`twQKdGy58%)u#y;1nXisgIGPvG;wtM%Q{UsIQaRkk;# z$5fkfMHS&yfJnix<|r|bovU{CgWmHNa%8r^ugW-n+sWq7#7b^PzP6OD)$PKlD+3wT zy3Bt2zYTH83jG|*;9#@*eEXWl`vJVC(`PTCchDoIWrjvW&IMSM{#s(Fy%1w!hMrUG z6`ty7oHv%~HD1f|Tf#uXCR<^WiU)CY?0v#m2X@(gw3L3qi_iMv$QJc5B+Sa_t@>R{ z@$$BbN}QJ&5`Z`Amq^?tw z+a6E^xoO?KHyIkNLzOvKIJc{Mtq+A39C8(0{@BGm>k>J3*sT}*xG@T%e9KCewPHq>?c7IX67Agv)ntOf209MxRWw8^PkjP>9)}ZM%ul?zOaKX!}x}EteMMr~V zVyhuK!WS|-UVM#uYAin&@t|f1uR_MB%y7Ia6a?4pFClY_9lq7+L{Obmu6R7jY>7Mj zix4x0oc-9k}*y*TU5yZ>M)j$}g+C1n^IQJ~Pev5^tbmiyKMZpk&k zEmtVQ9)>~hlJq$Y0HO1tGu8&mDH5w)K%>J*)f&TQCrPg48-|R@+wqBN>Wh( literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/drop-above.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/drop-above.gif new file mode 100644 index 0000000000000000000000000000000000000000..30d1ca7107816233884d23239dd76fce79237fe5 GIT binary patch literal 911 zcmZ?wbhEHb6krfwXlGzB^-Oj%*Y>c~334!T+I5ReJa7x*DTyS#YWmWQ8@*yChwS&o6 zrsT(mM-FYgx*h@@4;QobG08Hm@c7Wg%*HKZQ}Uv~iG_ooBg3QNK|^B;FB^}5K!V!o j#pA)jmQU~$dc{RCEH^Pc0?BK zj4s|4Q@Ag_Y)yK_x{UHY2^CvX>NjQ8>`JNKlUBPgy>f3}?ar*)o!Rv}a|;e8R~}5M zI+k5?IJ@p(X5I1prmcC+Tl3ns7k2C@@7Z0}wX?EwUq$b}>dE`-8_$%sovdm*S<`y9 zvg=S~|DoE>6ZKu^Yp3pS>N(xmcc!K9QuCyv4O0&^O+Vf`{Y>lRvmG-|x6L@yKI2T+ z?1R&1ADl7ea@VxWol~!LO}o-P{c88ji`{c?Oj>eo%Chs*mR*>(;O5i?H>WMVJ$u!a zxvQ_tS$1N<@{-~Tgx`xUa|S^%B{CoY`?W?%iUF5@2}Z*cg>Eg z>v!B;zx&SmUDr15xw>=vgZ29!ZQJ`~+mSmvj^5pQ^4^hC_l_QYap3f`!)G2GJNw}H zxtAxeygq;Z-KCo^FW&ihj$;hsoH8C8796zp$T+b>@c4oQ4ptl9{CxcUY?nYS7uzPr^nkf~ zF-KnfWK`sLl+9v^jSOlzC8As$;v$iu&bdH0ut_86$zxX@GwwqiGMCbLCdz4)g$X=7 zcxoaWQ~HIKhmx0vy2>O}Xevx#ky5l?_wGr-qtgtHrgJ}!+;FF#5#6#i2*%nh> zyAFx!#AZoGf3_x%!Zyuz9to2P8w(l~A)jmQU~$dc{RCEH^Pc0?BK zj4s|4Q@Ag_Y)yK_x{UHY2^CvX>NjQ8>`JNKlUBPgy>f3}?ar*)o!Rv}a|;e8R~}5M zI+k5?IJ@p(X5I1prmcC+Tl3ns7k2C@@7Z0}wX?EwUq$b}>dE`-8_$%sovdm*S<`y9 zvg=S~|DoE>6ZKu^Yp3pS>N(xmcc!K9QuCyv4O0&^O+Vf`{Y>lRvmG-|x6L@yKI2T+ z?1R&1ADl7ea@VxWol~!LO}o-P{c88ji`{c?Oj>eo%Chs*mR*>(;O5i?H>WMVJ$u!a zxvQ_tS$1N<@{-~Tgx`xUa|S^%B{CoY`?W?%iUF5@2}Z*cg>Eg z>v!B;zx&SmUDr15xw>=vgZ29!ZQJ`~+mSmvj^5pQ^4^hC_l_QYap3f`!)G2GJNw}H zxtAxeygq;Z-KCo^FW&ihj$;hsoH8C8796zp$T+b>@c4oQ4ptl9{CxcUY?nYS7uzPr^nkf~ zF-KnfWK`sLl+9v^jSOlzC8As$;v$iu&bdH0ut_86$zxX@GwwqiGMCbLCdz4)g$X=7 zcxoaWQ~HIKhmx0vy2>O}Xevx#ky5l?_wGr-qtgtHrgJ}!+;FF#5#6#i2*%nh> zyAFx!#AZoGf3_x%!Zyuz9to2P8w(l~c~334eSRT}sa)VS__s8w&@Y zgu;q|!z~;Fasmw<8xA%wGBG*Ccx+O2Y*vXZDtTe_=t!5iao(F9ACgZ@)bm{w(wUgh k*e9SZBf7&RvvH|ppWc*{Usi^4=^EOswG7BU)WBd303hyMjsO4v literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/drop-between.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/drop-between.gif new file mode 100644 index 0000000000000000000000000000000000000000..5c6c09d987cf7cee99cf1baec891f85e7477cc02 GIT binary patch literal 907 zcmZ?wbhEHb6krfwXlGzB^-Oj%*Y>c~334oIij5|Ns9CqhK@yhFS=VTXXjp>_!!i-ZjhjBP9&d=d&P1P-@w z2*?REbZj`-z{teJvFE@96*ex`7^N1;;s=LXIk{il(fr(WZkkH%E}e=3)qp;}RJS=1 ZACr#t%8J+VSOzWgoT4>ViN zU%dGJ;lrOVU;h61@&EsShEXsY0)sdN6o0Y+UH6|s2joUjo?zgZ#9+@MbEA=|m5*7N zuP1?_;V=Wcmd2kAjEoFSyb3l63JeWQEzG)l4<-aOJF{^!n#_11;LyO$#4EyJxnXG= zBd1*n!vlvz??xWBngt9APKV|*$upc#SeW74&N(&d!GU0fOO1}n=k{oQNISc~334!T+I5ReJa7x*DTyS#YWmWQ8@*yChwS&o6 zrsT(mM-FYgx*h@@4;QobG08Hm@c7Wg%*HKZQ}Uv~iG_ooBg3QNK|^B;FB^}5K!V!o j#pc~334eSRT}sa)VS__s8w&@Y zgu;q|!z~;Fasmw<8xA%wGBG*Ccx+O2Y*vXZDtTe_=t!5iao(F9ACgZ@)bm{w(wUgh k*e9SZBf7&RvvH|ppWc*{Usi^4=^EOswG7BU)WBd303hyMjsO4v literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/drop-yes.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/drop-yes.gif new file mode 100644 index 0000000000000000000000000000000000000000..8aacb307e89d690f46853e01f5c4726bd5d94e31 GIT binary patch literal 1016 zcmZ?wbhEHb6krfwXlGzhFH%vfSJo_7)vQuAsWC9EH&km;*6LR^?KiYxFJMjooS=wa?sdwqwu&r?{0KDI0upwuR+x56{~g zkq<(VSvvztwnvw2k15z6Ua%vwaA$PU&gkM@F@^i$%l9PIZcnS(l~TJWt#)5}{f^9- z1J*HzZPSi=W*zp-IqIEx!mH#^WYOu+{6mTPhZFOT08vuj(d7JNDFp|U3y&lh98WDi zo>p==rRYRP$%%~86B%VEGs{k8RUS;KJD6E_Jiqc}cGa2O`cnnX`*Pb46}28MZ8%lj zaHgpFTzUJ+%FZKY-6tw0oU5O>vwy;#zG=ssCm!gZcDil)nbs*M`lp@kn035;#_6_M zr`l(nX`gwvYwo%3nHRffUg(*1rFZuAiSsW_n15;F+#8b?UYok``qahOr>(v;d-dhn ztL{u+dw=%2>kHRkU$E}Z()D+iZN9m5#o~d_ub#R;qm;f57%vfxPJS?4f`H%+y8jS!N=PUJlT2r&He)i4xD~_ z;M%)OH{V=&_T};0@2@}p{P5-1r$2vx|NZy(|Ns9CqkyasQ2fcl%)rpgpaaqk$`cG6 zR~e)^Wjr=4aC9<_3F%-wzQDoVIAhB~=k&AfoLyW-Re?t*%+d(FBC_aGf`Fq$D3_+D zkjse)Dz(dOBqZEh6jdE-UYxkdEGT3zv4dmE!Dl=ZWi9e%{1g;@!G-s^!P$| z8==@$AR3<{5^GPA?~^>Pma%d|c$9FpHCabu6wPUF4ZivS1x_}>u^&}uJ$9Ij11NQhrSCabu6wPUF4ZivS1x_}>u^&}uJ$9Ij11NQhrSI--{G*RfNN`$?1v{+ONw|v zR+9@9f3h$#FxWHbFaQC_PYi6u2j&-e=m-gOvbrSM@XhOYU;5LVhauukL(|12F3JlZ z%{ps0UtTdqA!GM_h70-*>uMm$zs{trTYK>u9@kKn;WH1PBWaB!*-}&>+}rc#f97(>LiX&(LXWOV0(-F z(qi5fWdiGJ#EwqVJ9&n2Gg1#cQAiJmv6o0ZXGBDUP=r8~Q$WIJx1qbFA zc<2ZTbDnldwqctm;IZ_lw}wE(nnxRNn5alBeCnw;+5Hgbf&+QG8C4S59M<1{DgKb% z;l=O&3_MPv3`}k99SkB)3JlEs6DBh7Iq@^F&6qihLCJ}mfqmhk#SDVZ@e*>1vNGa4 QB7Dn2HgDOw)sev(03%?z0ssI2 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/leaf.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/leaf.gif new file mode 100644 index 0000000000000000000000000000000000000000..445769d3f863fff85bf8dae9e50ca2fbdd2d580f GIT binary patch literal 945 zcmZ?wbhEHb6krfwXlDQcQ_o~GuN3{H6Nag0EsGx6l|6PSd+b*I#H;qP!+!_A#wTHI zPb1o&CiOkbneseu`t#JOpR;CuEt~zKYW~Z@xnJuSzARt#t#2GZdv-WZP}~tRj*oB|LorIYr@vw({}!uwfFDhO(&LbJ2U^lzeR`sUwH800T8|T z00#d*{P_PLi2nZvyK9sf4FQ^mfZ|UUW(Ec>1|5)1pgh6A(Z?XlA>*-O!NF!$M-7&b z2M@Kd^GWGABrIrf5YP;mqG0Ic!oef1<ENsed*j@4Yk?RR_1qN#Xfm)wA literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..e846e1d6c58796558015ffee1fdec546bc207ee8 GIT binary patch literal 771 zcmZ?wbhEHb6krfw*v!MQYQ=(yeQk4RPu{+D?cCXuwr^cCp}%d_ius2R?!0jBXnAQ) zOH<|l|Nj|aK=D7fpKD04vtxj(k)8oFBT!uNCkrbB0}q1^NDatX1{VJbCr|b)oWWMT zS%hVC ~NwO_yO%;SvZ5MdNYf|QNy-I*%yJaj+uTdt+qbZ z4E`Fzb8m}I&!N8OKmWEcCmrLs^Hs&3i)mt@hQVdcqghkaBs*D}tG_lKew4?rTjzIZ z9tSone1TS+TR7tu^CunG)Y7Jg#sw#)sG9C!c0I%LEzP)9;hqRf&)s$D8d5Db{TBs% zgl0~5QQ91luq4Q9tJgt4QLbaxZvAaKeCM9!oy85dg4k>TdBSVqjHub_PG=PO&J-rx z7oYTuF+kH|tG-UK+EkUhDjYx?zW?T|lx>+aOQm zzL$v$zBLo4Cj=G&tw{H}dW?tlTkS)SY4<#NS92z*EY-MMB6Ftp`R=*=*Ev7cS+X%W zMCur^FdlokL}1Y+&aasU2J4#EOuNlnb9CmqgLCGTSY!1BD42pkHY^XidQ5=>YQx%` z*%Pm9D!CkBu&tMWm(%-ejACVWGS2RX5=QOJ$1*tr7F}F+*-OA+Ly&Isg|AEuUYicA z#%IG6kPXkHt{zk2M6zK@Vu^4Q(1zE$?yY6M!^&jQ+2^E?!p7{g*|X6}vuRC3p@jk0 W117c83?+LXEZI4G$p&LV25SKE>nb+@ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/s.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/tree/s.gif new file mode 100644 index 0000000000000000000000000000000000000000..1d11fa9ada9e93505b3d736acb204083f45d5fbf GIT binary patch literal 43 scmZ?wbhEHbWMp7uX!y@?;J^U}1_s5SEQ~;kK?g*DWEhy3To@Uw0n;G|I{*Lx literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/util/splitter/mini-bottom.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/util/splitter/mini-bottom.gif new file mode 100644 index 0000000000000000000000000000000000000000..c18f9e34ac1f4d06525592c5ec25783921e7ab1c GIT binary patch literal 856 zcmZ?wbhEHbRAyjhXlGz>c6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zFlAunknz~C;9xU5Gl#^14GRyqF(|p!cuZW_z#t(WR-;k)_;9y`aa9RNLW=VQMPsFy Kokpn+4AubBJRUOu literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/util/splitter/mini-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/util/splitter/mini-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..99f7993f260b374440c5c8baa41a600eca99d74d GIT binary patch literal 871 zcmZ?wbhEHbWMxohXlGz>c6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zaA9EP;893e(9p!fE+S&!pm?~AUD|4jgy5sYono4CYdSV2yD|teHi#$`Jzc6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zaAja+k&tj`IMB$%CgZbW!-Ix)HhHZSi@+q84iWvZBN>K^-5Dep8%#8W7*0-Pa>$EW bxpC?7J_E~BDJKIG4z;p#3-JgDFjxZsq+}v; literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/util/splitter/mini-top.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/util/splitter/mini-top.gif new file mode 100644 index 0000000000000000000000000000000000000000..a4ca2bb20aad89264b9022fee88ee29154dfb192 GIT binary patch literal 856 zcmZ?wbhEHbRAyjhXlGz>c6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zFlAuo;89qx;9xU{u$s(?fCCNf0?JM-3L76eGxBgot>IYk*sW87)#{JM#>MWF#5uKM LPHswdV6X-Nu*4oA literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window-header/window-header-default-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window-header/window-header-default-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..b809d7fcb852c4be34ad8801ca36f043d7437513 GIT binary patch literal 1660 zcmZ?wbhEHbWMz(2<+U#^o-0jG&Jly!VHWo9K2$b)O57;j2yh896TcIJR-y- zWOVe5L?mQ1w6rudv{cme{*Qvu5EvFAp!k!8k%2*oK?jr*KzX8lG)D}Jh#mC=nIXUt z$-vGbBC%k>!DbF&t&ofbiH92n6r~I-5|R#fiRiL*WL!AV&?nDb#q!f3xtW2B%Sa4GlYwFaskC2d@|D#h)yU3=HxNIv|@sb~3Q~Jy7U!i)71KwJxW7)>928hGrXv z5COJei7o~u0UjHkmF$Ncow@iJ7CAm}V3pQ9{CI|xm?TpILxBJbkI8N3qtWa_PEJX$ P34GlYwFaskC2d@|NyunuXsK!F{U;hI{$ycfV323f0oeqylY!OufkKyOBwNO+bvd{Dlo(7n zSX@{qnz(La={TUz;JHMhqwS1_1w#v`BlB18MM4vjv@B{kY8VeV3V585(2<+U#42&!^G&Jly!VFBT9K2#w)bw=pj2yh896TcIJR-y- z4Y h(eqc6iJa8PFoBUlMnK>IgKIZ`443c8pi~D2YXE6U!ae{1 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window-header/window-header-default-left-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window-header/window-header-default-left-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..dbafdc1b3af57246e021d6f3bff12089e7a0e846 GIT binary patch literal 1612 zcmZ?wbhEHbWMdFv`2L?kLqo&PEzH3y=Km-d4S|st0*XIb7#SFt8FUzc0F)=%M{~r; zO9i7oMuY%|CIce}hl4(2<+U#^o-0jG&Jly!VHWo9K2$b)O57;j2yh896TcIJR-y- zWOVe5L?mQ1w6rudv{cme{*Qvu5EvFAp!k!8k%2*oK?jr*KzX8lG)D}Jh#mC=nIXUt z#=y=YlCdD+AOnZ6R?LYFicZa}>|Rqi3LBidISrL+E;Imh3>%Y32ZKTb6EmxXLWlr^ qqZ2c~3EKqE&5K-GSQ3NyunuXsK!F{U;hI{$ycfV323f0oeqylY!OgfkKyOBwNO+bvd{Dlo(7n zSX@{qnz(La={TUz;JHMhqwS1_1w#v`BlB18MM4uA1(*7k?!3*AGr?=Z`sWQhZRA=Q G7_0$B7*ntS literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window-header/window-header-default-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window-header/window-header-default-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..ed742ca7f98c5f240dfe276131c5436471443b2d GIT binary patch literal 1628 zcmZ?wbhEHbGm7V|p_W%F?A^8LW000jFEC2ui03ZM$000E7@X1N5y*TU5yZ;>ljO2nb zy2QYi=_d_r41W`RY-4qIPk#qMat>5!YmW|JX^JmaHbNg= zn`%Z4ADS%#KdcI zf6ma(go=}?t+4<9_W%F?A^8LW000jFEC2ui03ZM$000Dr@X1N5y*TU5yRSe92;X%K zN#U$4fgGizuypM-F<|cwQtCY0-~%im2B84KwjdS)B#OXb`v_ncMm2T;vI^YGpq2<% z1WVe`ESc5}Y{?+aGDNuwgsQf*DGysGWhAfGSHI0RjjRztjke3w!nwyA; THUW*Fp*5hMq?o9waS;GJ)jMA@ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window/icon-warning.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window/icon-warning.gif new file mode 100644 index 0000000000000000000000000000000000000000..0d89077c93ddd985e31cf3eb86f2fe5c3db87a76 GIT binary patch literal 173 zcmZ?wbhEHblxI+2*v!E&XW{a57tWQ}bxxQ%_t}d_E7xwwE~@|k|J(on{~53W#h)yU z3=A9$Iv`1q84N5@0w+CJ@3nY+cK81W0zE1njP9#uiLY9=#&i$6U^tWPosfU;Y&!i} zdH8}|?|q!GM|ZZll!C>?Ak}Nx({}NeRkmDz(4{efiEUF=uOP#{5366RE|+~}Vl(&b J``Jni)&OA-LGJ(n literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window/window-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window/window-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..82d456b98a04226040dda2bc7906a76df80d9c39 GIT binary patch literal 1683 zcmZ?wbh9u|WMz`We0CmTY8nO(UNJ&qQX*nfQgSLbZXt3CYH~^% zDjEhhE+GzHQ4Ssvb{-KtJUlXTKrI3?aw;-%YC<9sd;$Vs!$yhG5Ex1!p!k!8k%2*y zK?me$P@ZT9(xW+IC`I9@Td5iX90d%j93mMD5)LwO2y4Zh*r4dt%*xKi!obkjz{tR5 z5RkyY$jmIj#1SB1bbx`GlbyrCLGWo469bcj!G;G6P8?h;DkcsOQ=I0i3hDrJRzoYR ljHaA`1EV4%vxI literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window/window-default-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window/window-default-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..a8998ec916cbaebef623a025eb69697a774fe746 GIT binary patch literal 1677 zcmZ?wbhEHbWMz(2<+U#bo7igG&Jly!VFAo9K2#QG_;h|bX3&z3{0%Fbd0q0 zj2yh896TcIJR%H?EcA@b#3W=iw6w$|(GVEQA)xq^g^__lltBlS6F_;QeKbc5 z<@g+RJEbAOk;TByA(F8m;UEKtuvW~84T?_9tn6GY3=K^U%nV!_3JDEOOw4>t92^2h z2N;<-`8g&y2&%R)F?dJ?C@?0Tn8?pR$H!vR5*7{xW(JQ13Jr{1LV8M1EEp4+C$dOM UG$Pj^8UiCP1QdU=FfuSOGw3h?0Vq$jkLHMx zmkLIGj0gdavkZ(J91a^6FfcH2OSxDCBsMg2$~xt&C|Gp3oku@v%8ZH0N4jJk>tZY> zJ#d>S;R_Mk?k}q&wiet!rQ3Z?_wKgD_siy< zE?XbByO#0#S?L)c9&BxY{Li#UyfFD_tL*Py9!tac)7`4vbu}}KpPibgSw62P^2_s! Xvpw7O&Q@*BzPcg!befH&0)sUGj6hd0 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window/window-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/access/window/window-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..43af359cb1fcc0a354d94847fb895d4ca8d3853d GIT binary patch literal 1776 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 TCTt#-00000NkvXXu0mjfpUP1v literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/box/corners-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/box/corners-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..fa419b50abe5030db04492578d5dfd39c02fb6ab GIT binary patch literal 1010 zcmZ?wbhEHbXlGzpbnMH9^WV;$J9qKo#mkp3U%h(u+O=ypZrr$e^X8p9ckbT3 zd+*-8gExOZc<|ui!-tO^J$n53@slS{o<4p0?Af#D&!4}1`SR7PSFc~ce)Hzd+qZAu zy?gim{reZ6{(SiG;p4}TpFVy1{Q2{jFJHcX{rc_Ox9{J-|M>Ca=g*(NfB*jT=g;52 zfB*ga_y7NYhEYJJ5ODbKKqZq#iZO~mS(q6ZW-;i1JPgVc3>@bfOgUvd3KTeaMcKM` zTmT9+Dym5^6eP5&35jyCL~LwoUdG4CQ1IlzMJEOhS7<|o6TkONJB|cJt&_qGY8j_CFdSfKOOVXz5IAt4 zV}p{G0>c6amIz;I6#<3?kJdQw@UbxnC^#-)=MmtuQ0WM8YMvo$(vtdt@jw$#qNfCh wKq7O5AQyweiU(yaTnsEKITutM85$V*3^XlGzJaNxkCA+uU@@+{rdHrH*em)ef#d+yZ7(kfB5j>g)|NZ;-|Nno6kqR9CJB(DX)7#&QKUtU= zfEhstWHBgDFmRk=;OCU_C{XAUlw(`PkjU7?)Tn7;VYmK z&r@KbvglBQu=1upg@udrDMSY z2FDg@ogF$0Oia(gUJntM;F*w7{y{XRIF%d;*fMw Ru}w*2KC@pnhK+^68UTSX)nNbt literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/box/l-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/box/l-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..5ed7f0043b6b0f956076e02583ca7d18a150e8f6 GIT binary patch literal 810 zcmZ?wbhEHbWMN=rXlGzpbnMHWJ9pl^dGqhzKZa2-8UiCM1QdU=0Db(QK?me-P@Z7m PU}s=uVK7ioV6X-NGaC=| literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/box/l.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/box/l.gif new file mode 100644 index 0000000000000000000000000000000000000000..0160f97fe75409f17ab6c3c91f7cbdc58afa8f8f GIT binary patch literal 810 zcmZ?wbhEHbWMN=rXlGzJc<|tzJ9pl^dGqhzKZa2-8UiCM1QdU=0Db(QK?me-P@Z7m PU}s=uVK7ioV6X-N<)RPU literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/box/r-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/box/r-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..3ea5cae3b7b571ec41ac2b5d38c8a675a1f66efc GIT binary patch literal 810 zcmZ?wbhEHbWMN=rXlGzpbnMHWJ9pl^dGr7Oe}+*o8UiCM1QdU=0Db(QK?me-P@Z7m PU}s=w;80LdV6X-NJSY$C literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/box/r.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/box/r.gif new file mode 100644 index 0000000000000000000000000000000000000000..34237f6292a7da6ac5d1b95d13ce76a7194dd596 GIT binary patch literal 810 zcmZ?wbhEHbWMN=rXlGzJc<|tzJ9pl^dGr7Oe}+*o8UiCM1QdU=0Db(QK?me-P@Z7m PU}s=w;80LdV6X-N?ynEj literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/box/tb-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/box/tb-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..562fecca87176274af7bf13c419daaf93f169249 GIT binary patch literal 851 zcmZ?wbhEHbWMt4{XlGzpbnMHL<6oAa{JQeg*VSjft~>i}!})KUE_~a1@%#46-*;X4 zvFF;4eb;~7zJ2@P&7Vha|2%Q`=a~n;&OiEf>B+Ba&wkx{`TPEx-%p-AdGqGY@@87@w|Nk?Lg3%Bd$|0cmlLhGf{|q`H xPk{0S1BVKOBoBu|W0NBntB_a%g98I2m#~UU!-oTo%xv5uDh>q)92y%KtN|VsNKya* literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..70f2dd4df32e16c90d8ed55caaede6826a8b62d6 GIT binary patch literal 1598 zcmZ?wbhEHbWMbf9`2L?^+lgx@uD#fG>c)-}*Y3Ugbn3>79j9(RdiCYOt1l;RJbUos z%l}a@8Un*N1QdU=FfuT3Gw3h?0Vq$jkLHNs8{4BkBOC%8(hQ6Y77ia84lppW$Ouee TXk=vM5Ryc)-}*Y3Ugbn3>79j9(RdiCYOt1l;RJbUos z%l}a@8Un*N1QdU=FfuT3Gw3h?0Vq$jkLHNs8{4BkBOC%8(hQ6Y77ia84lppW$Ouee TXk=vM5Ry|z+UAje;)Ap|z+UAje;)Ap=dU~2cWFHR)gEau0j};&Q literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..5e1f83f8b585f0c94d4f0c19640e78167fda552e GIT binary patch literal 1825 zcmZ?wbhEHbRZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gitRoE$P98x|aF<`CA>iCD1kaJzuA*Bpi8YXK5ui`ndY3b?d3`wWvcy3;HcD6*we|J&4aukH`R?BK_V$kA*Z0ou-v0jn vfo5)bzdbuXK0Yy7JO13Bou8jySnNIDZ||CMz{#M)00f{s(LS0ZhI^ck`VU_SaOg5Ha_Bg0NN8y0U}f?UNN`|aW@Qs7 enX#aOkx5uqPDDU~k+GMZi9?~F!J(;v!5RQbr2}XH literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-disabled-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-disabled-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..e5ae29f88d0cb0f30f924c86b17628844fe591c9 GIT binary patch literal 1825 zcmZ?wbhEHbRZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gitRoE$P98x|aF<`CA>iCD1kaJzuA*Bpi8YXK5ui`ndY3b?d3`wWvcy3;HcD6*we|J&4aukH`R?BK_V$kA*Z0ou-v0jn vfo5)bzdbuXK0Yy7JO13Bou8jySnNIDZ||eZV!Z{EFo_wC!afB*jd9|fZ!Ffu|w@h1x- z0|PsQ4g(N?@CMz{#M)00f{s(LS0ZhI^ck`VU_SaQtUr7m+^Zc%JU=Z!fQJ3qHPYZ?t*tz5TV% zkMY)2_Di*d$TAg^+Y$otFNz5 zINT-cy=~3S%^8`2GdnjwKfl1aTh4damY0`T1h0-eyKC#~>l>0!&-2~A z?d|Oy#jo$3-M#(&{R7S1@_u`Ee0+RjvUdErJv%=?zp&VQzTe(mUtizYoPGb?-re8d ZKRDdYEAPK=&(F^qpx4FDDCmdpSE literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..697108e9cb369f27235f8b2d497d0ef98073cf63 GIT binary patch literal 1621 zcmZ?wbhEHbWM&Xz`2L?^)0q!PZhhHv<dG&OQ3^@87@wqhK@yhFu6K{$ycfVBllWVE_V9o@gJ<5yLK$M?FMB2yhrNuye#X zY)EKm=3wP3aA06)WZ`BIa0xhYu!)6>gUO*_Lqh`tp9q6Rg+c=ZGdqt32M2>S05$^v AxBvhE literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..8137ad21c72b6469ed0ee790107d047f203d9cfd GIT binary patch literal 1923 zcmZ?wbhEHbWMgn*{{Ej~!U67!85p7y^nvSr{1@co}pUfB=*y+DCK5aE#|sKM@-O9RC>@RU~FGG&nS| zaf-1lSg??(nNQxRB%`45C@Y&_hD*YShU3h#_HAD>E;M*DtNKgn9N2W=)HF8E6DkQ4 z8hzQ=*k8yb1T^?F+SapuwG`24VDMm;@LBaG^Zc%JU=Z!fQJ z3qHPYZ?t*tz5TV%kMY)2_Di*d$TAg^+Y$otFNz5 zINT-cy=~3S%^8`2GdnjwKfl1aTh4damY0`T1h0-eyKC#~>l>0!&-2~A z?d|Oy#jo$3-M#(&{R7S1@_u`Ee0+RjvUdErJv%=?zp&VQzTe(mUtizYoPGb?-re8d ZKRDdYEAPK=&(F^qpx4FKvEmc#%6 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..91cdc04e6e7ece4e648a51431f547af5324185cd GIT binary patch literal 1621 zcmZ?wbhEHbWM&Xz`2L?^)0q!PZhhHv<=D9)0?E?$M8b|Ni|S1*0J_yh1?nCkrD313!Zf0}z1nMEhut7+x_v>KoERfWwG^ zog>9zLqbC{2P#(vCWnFz4Gj$ZVhk1)3Jna*>^wFc91PX~ DdYt|_ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-large-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..6dfce7ce216d7edf9a5fd1482c15a000b4395dd8 GIT binary patch literal 1923 zcmZ?wbhEHbWMgn*{{Ej~!@RU~FGG&nS| zaf-1lSg??(nNQxRB%`45C@Y&_hD*YShU3h#_HAD>E;M*DtNKgn9N2W=)HF8E6DkQ4 z8hzQ=*k8yb1T^?F+SapuwG`24VDMm;@LBaG^Zc%JU=Z!fQJ z3qHPYZ?t*tz5TV%kMY)2_Di*d$TAg^8Un*51QdU=FfuR*GUzY>0Vq$jkLHNs61SuN zASVPk{xfiL$arj6aIl#}SS#klgon-T0?J-#%jz)zuN3gG>)>U44B$)1fX|?`>;tZqB$oN%z3EwYRqyJU%tod;7Y(yDL7wx_f&2 z`uqDEn7QSAc5HZfxIB6idh zWQG98e+Fh7i606L4oz&FVm1~R5}Mn2Wt^t`n2>aYfyGG3U`3&_Td#~`-5H5VDGcly zvJyTkjSe(T=jLIW!FeE|X*OrhBa;;imNPZ8H_0(*P00voW}77Cuxd(X&~k5Po*7mL z7BsA8T9b6OYHId12G&Dj1{!5L5gSu3&f}du?QPWN)Z2$brN6Jev%Bo`wY%Qi*GKQG z|9g(tr(#3mo(BHcqCGP{K04H^XdgDm!YK9lRQ2e4YjzetJ3qtOo6R=r%hO9M{8vBo zsoI);c}?PeKiS#ea;~qzPZ1? zJiEFve!85kb@}VN+pFv3_4n2M`265!Dt8! z_YhG0$->CMz{#M)00f{s(LS0ZhI^ck`VU_SaQtUr6p@HvXmDs^;}o;8xUitHolVAR z%8v<2E(`+tX(km59y9jIIhKk16l^#?Nu8H3!ty{u!*oU-t{IvRYQD3L3$L*_6sP;o zW#i;f6)4FFT9od4BA^s^46EJ`x)q?(g_47dGdH{^R3)%KULUI}0A4 zoUZG9Y)@oy>Zv*Q>1=N;x4gWx!gICU* z$9QWh@*f@Q*7iRqv-9)g3(fY^h-~Rmh^Xu2IA3uKl9|fZ!Ffu|w@h1x- z0|PsQ4g(N?@CMz{#M)00f{s(LS0ZhI^ck`VU_SaOg5Ha_Bg0NN8y0U}f?UNN`|aW@Qs7 enX#aOkx5uqPDDU~k+GMZi9?~F!J(;v!5RQbr2}XH literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-medium-disabled-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-medium-disabled-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..23d7e57d652ec1e0a74324ce0ba59c67fdf3ff23 GIT binary patch literal 1809 zcmZ?wbhEHbeZV!Z{EFo_wC!afB*jd9|fZ!Ffu|w@h1x- z0|PsQ4g(N?@RZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gnF+>>?5o2@MWSY@A{?76yt=ZQP<(ITi;R zT$$PQlh#xiCLd>HaS}4nSg?elnIVYDVdbP$uj$(CD|#|NJ!zPw;w!~-!1%zqdG?iT zUo97?2QGG=EXKMkB;)d8pNV#%T3fTOtoB=*c9g4h_4RcLD~m*bPtCcpGGpt!(Clrw zw>IXVJ{HS8{cX(lvd`D|NGwkQS$oI=J5J`wpHI>-`Q9na9wX-&5zIb&MtT7uiN|k z+lP~zr~jW<_vhn}tM{+x@2~&&^Z!-x2Xzde%oo(NsYN_!V$!;y(9B||k=P=l#Idkd YI4R;`qm0##h3!&pHy&m&GBQ{L0Q6s@rT_o{ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-medium-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-medium-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..fe97ab427f5c93e89c104111d92117aa3036244c GIT binary patch literal 1817 zcmZ?wbhEHb(iZg|E|6I_vpjFdqDK=->rB59(?$BMf!|fa4njH;0VJh6M+knS?cB zPHb4%*e;;#HOFJ)qN9uw##whxY+QW2U%^~S!gJG-lan>vg(6OFT6&tnAo%)+G@q04+Op!}VvosMv8T4Iyu3VMvDaL$t*frCj@X=a_te(a*ViW; z?vnN1w&v#MjLWNHPj6d$dwap-Q**tyue-au;`6J!r?;=azrTT*Th3?4hKGkcgtg<& z?AZAD_ylF|c|JQgJv}|cIQ!n2otvMZU*Oy==eujm%gZZ*SI3>*we|J&4aukH`R?BK z_V$kA*Z0ou-v0jnfo5)bzdbuXK0Yy7JO13Bou8jySnNIDZ||=D9(?+D?$M7&pZ)>C|4}d+0>dZ-6o0ZXGB5}*=r8~QC{MJH=7?bwy`x?sIRrS2 z8Q3{W95y60G;^@>H8?OZGP3ds2)G0=G%>Ss%NQ^;JV;<@B_uK!8XTI~ zL^VPZJ~SL==9PCV$tY+z$|$Ozwq=K)as!Kkumq2$kVE5SRvxwp$pZ@-rZdGHn({M9 z)qA#f;Wm~7Md|)?9V+jM%$mI7{6hO)Hs4bsD=#ndU1(>kwN>ltYVYM~TX%`BzO+7Y zZ`)fhu{B|vV=i{tT8HJ{+*WY&l&|#kcXzgyeSUQJ_qV+Gz4bqL$;N~iJUr0B`8$+n z#>R(7+hx`Jd?YtLJvP-azHZG<h8gM zxBYtiY<_;eeSEq3e!0EhzCXNsJl|h_U)Aq7A5ZVMkFWpxkKvPgLLH-!#e+IFwT=f( d|7CA1XyP||aleJtD(iZg|E|6I_vpjFdqDK=->rB59(?$BMf!|fa4njH;0VJh6M+knS?cB zPHb4%*e;;#HOFJ)qN9uw##whxY+QW2U%^~S!gJG-lan>vg(6OFT6&tnAo%)+G@q04+Op!}VvosMv8T4Iyu3VMvDaL$t*frCj@X=a_te(a*ViW; z?vnN1w&v#MjLWNHPj6d$dwap-Q**tyue-au;`6J!r?;=azrTT*Th3?4hKGkcgtg<& z?AZAD_ylF|c|JQgJv}|cIQ!n2otvMZU*Oy==eujm%gZZ*SI3>*we|J&4aukH`R?BK z_V$kA*Z0ou-v0jnfo5)bzdbuXK0Yy7JO13Bou8jySnNIDZ||=D9(?+D?$M7&pZ)>C|4}d+0>dZ-6o0ZXGB5}*=r8~QC{MJH=7?bwy`x?sIRrS2 z8Q3{W95y60G;^@>H8?OZGP3ds2)G0=G%>Ss%NQ^;JV;<@B_uK!8XTI~ zL^VPZJ~SL==9PCV$tY+z$|$Ozwq=K)as!Kkumq2$kVE5SRvxwp$pZ@-rZdGHn({M9 z)qA#f;Wm~7Md|)?9V+jM%$mI7{6hO)Hs4bsD=#ndU1(>kwN>ltYVYM~TX%`BzO+7Y zZ`)fhu{B|vV=i{tT8HJ{+*WY&l&|#kcXzgyeSUQJ_qV+Gz4bqL$;N~iJUr0B`8$+n z#>R(7+hx`Jd?YtLJvP-azHZG<h8gM zxBYtiY<_;eeSEq3e!0EhzCXNsJl|h_U)Aq7A5ZVMkFWpxkKvPgLLH-!#e+IFwT=f( d|7CA1XyP||aleJtDKHC>RZaVHX05KUo+V82A`;7=QqjC)!7I#ITFxQ4f(20v!JtI5}iI zHY7ARa|mn2ocN&7+%BN(HOFJ)qN7X_##whxY*aqRs^HuuvvR?blan=qSH+yXlu_SBY@mzR67dd&6Oy6Woch|O#_ zPHkO%eSN~=E?MtwYi@4NxV$R%^tQFPw--DkqdG6EPJ7};1D1XvaCMz|Ww=00f{s(LS0ZhF1)a`i8U+;P}tL zY$9<(p~0bvjZ=)rVSyrJGoQRs3CF}oN7~pVGg1-?8jrKe+P8hl2x#`pB z)GBn1-*T>OD}H?M?k=RZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gnF+j3N>d3=IxVY@A{?76yt=ZQP<(IUENX zT$$PQlh#xiCc85*JMkHKEKp%=W(wkRSUD-xYq~b$ik{3*Dh;z#e5H5}7#}z{&%ToF zE9V0Bz{Sp!#aMTRWL#eCGtn+oYirh()qZQ!j&hZ*zP>JDWs&IbsW~@RW^A1on!PRe z*2etP$6~pszm3^m_W9af?eP5geI@_7_u9A3ZAw(9%qI~(f*uIufq`SJPQ+2!v1b$fq* z`*3pe^#Akf{(Ss#_5Stz{q_HT{=X{zppM~_`GR^jwTK5zOj;SZ(L;da4g))fjK_ur2b(#BwRAidEIiyUpzM{Sv0%~BZVBV8H5>~T zAMaOi?vnA`q;i5mBY0KJ$xTa7Pd7+DHOF)Fva_=-ieKG1xq12d`3}uovR+$OTwLri zSu6I`mX(*62Q2oQ>$P>&)zuN3v+kbSy88P1gu`93-rLsP+?;WFRqW|)Yj1BaczkNE z_x5#ncUOFVb@%l4_4oHTFmucK?AY+|aEGvV+?gF4A0MBf>^;wC=ccEpXBcPSJF|21 z^YaUwyXAa$ZFzZlMeyplv%9vwzP=&(^gQ3)+uq*ZQT+Pe+1=aU-#_5a&ca{~03>{Q A>i_@% literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..76f32bd594fe44200d4e1e8968351af8c9a6863f GIT binary patch literal 1614 zcmZ?wbhEHbWM&Xz`2L^a!i5XZo;|yF@7|RwS6;k$@$cWiSFc`Ox^(HzojdCMz{#M)00f{s(LS0ZhI^ck`VU_SaA-3ya_Bg0NN8y0U}f?UNN`|aW@QtQ caZqq%WM)ybve8g*U}BP%Z(L;da4g))fjK_ur2b(#BwRAidEIiyUpzM{Sv0%~BZVBV8H5>~T zAMaOi?vnA`q;i5mBY0KJ$xTa7Pd7+DHOF)Fva_=-ieKG1xq12d`3}uovR+$OTwLri zSu6I`mX(*62Q2oQ>$P>&)zuN3v+kbSy88P1gu`93-rLsP+?;WFRqW|)Yj1BaczkNE z_x5#ncUOFVb@%l4_4oHTFmucK?AY+|aEGvV+?gF4A0MBf>^;wC=ccEpXBcPSJF|21 z^YaUwyXAa$ZFzZlMeyplv%9vwzP=&(^gQ3)+uq*ZQT+Pe+1=aU-#_5a&ca{~02ont A`v3p{ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..9188a88982fa907f2d366ef105f3299afc642c74 GIT binary patch literal 1614 zcmZ?wbhEHbWM&Xz`2L^a-o1Md9z1yU>eZV!Z{EFo_wC!afB*jd9|fZ!Ffu|w@h1x- z0|PsQ4g(N?@o}QYdo47AzrjeTObkp=(cUEprKR4f^`4o#)$cwX! zJo>esdX}v8U+lBc&R1&ctB~cstCObA`nu}c`nbbovZuGM3Eh-_HqZBT+1lt08TY$F zxu?Iov#s>wy{XdX`tiGKzyFfe*-`M|aD(t`*F6y*?;o2W@2z&GVpHPrDTeWVb7p={ zJ3ZC9`I^kH%`Yx53!Wb5yK8Iuwe_+6eZJM(a<6R2Up=jN_V;(U_BQ^%HrLvs@cz+u z>G*YfDnC6xv6#EvF80^QS2xyYr~B3JE`ELIV7>8qxp{vo-rqgFSbYA!J-@!cd%S)A o`F;B;e|>+u{`~p+{q;Y7{8gV{#~@^pP|vDVv7q57D+_})0F%Iib#-;b=B&G?wywUuKH+eetoODxH#cWoUKM+K z+uGaP3m%`E>%D#5-Q5+RU)?>uef|CY4b0qfK07u%Jlr9y9d~BO#>dAeD0|QI*}3WI z=^4h^_s;Cx{QUd^=WaRQU0YsWUJ<-H?(D9uudi=NK0VKO_qMmUcND+AcXs#o_xBGp SbIbef+41r52}^bs25SI|GJbpj literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..a0ed287cf33e4de80508cea3d5a20ab1864d94e9 GIT binary patch literal 1622 zcmZ?wbhEHbWM&Xz`2L?^)0q!PZhhHv<;M2czkA6J*^bZLBkAl$<7%m~8_>+Z^fkBW#hXDvcd7^zZM+}#^9rXt} zA;4kGz|K+QupyzLnS+(D!{Gr#BP&0jfK7nHp=MSdITMe92MLUfj7kO!1pT6T literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..f3f673c7d9163e62727c75f3bc726f871a57a670 GIT binary patch literal 1879 zcmZ?wbhEHbWMeR3{{Ej~!ZuT4+J zhlZofZ0s2_2>}i6jI#D^Uos3DPBN(aFEiOGq}ni9FLB$PpFyd<)6A1^O_@1a?fiV} z=0_}6AuG-;^61z4nmHviXt{T_m#WlMtt+d8XQ$Qf+PW%ib?n9_+231r!Z)R#t@1rx zwl;cW*28U6f19m|-BSAT(%owFy!$)rKmWQaJwyND;bviGw>=RX9~_$??``&GMp4S? z$=um#b7mSpJ3m{yeV@&)%^ByHIxdc@-DR42ZGG(QKHutXxmPz8UcXjry*2;F-p0>z z|E$YD-aXzdEk19K#pmaz7b~~h#qRp_>c;x)^1Qj#W$$m#?lxI2H_ztB=f}I3|KGQ7 xPu1tQ7Z1<>zt67v*Y~%(&!4Z~U;pzLib#-;b=B&G?wywUuKH+eetoODxH#cWoUKM+K z+uGaP3m%`E>%D#5-Q5+RU)?>uef|CY4b0qfK07u%Jlr9y9d~BO#>dAeD0|QI*}3WI z=^4h^_s;Cx{QUd^=WaRQU0YsWUJ<-H?(D9uudi=NK0VKO_qMmUcND+AcXs#o_xBGp SbIbef+41r52}^bs25SI|GJbpj literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..1f89ac57934151efcf9499f1eb8755ff75496bc1 GIT binary patch literal 1621 zcmZ?wbhEHbWM&Xz`2L?^)42~vZhhHv<=D9(?+D?$M7&pZ)>C|4}d+0>dZ-6o0ZXGB5}*=r8~QC{MJH=7?bwy`x?sIRrS2 z7}z;V95y60G;^@>H8?OZFtYM72(Sb&G%>Ss%NSTNJV;<ftj7hfrEp= F8UO{${b~RJ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..f3f673c7d9163e62727c75f3bc726f871a57a670 GIT binary patch literal 1879 zcmZ?wbhEHbWMeR3{{Ej~!ZuT4+J zhlZofZ0s2_2>}i6jI#D^Uos3DPBN(aFEiOGq}ni9FLB$PpFyd<)6A1^O_@1a?fiV} z=0_}6AuG-;^61z4nmHviXt{T_m#WlMtt+d8XQ$Qf+PW%ib?n9_+231r!Z)R#t@1rx zwl;cW*28U6f19m|-BSAT(%owFy!$)rKmWQaJwyND;bviGw>=RX9~_$??``&GMp4S? z$=um#b7mSpJ3m{yeV@&)%^ByHIxdc@-DR42ZGG(QKHutXxmPz8UcXjry*2;F-p0>z z|E$YD-aXzdEk19K#pmaz7b~~h#qRp_>c;x)^1Qj#W$$m#?lxI2H_ztB=f}I3|KGQ7 xPu1tQ7Z1<>zt67v*Y~%(&!4Z~U;pzL~Z|gacpt4t&{j;mMwJPj;Pq z@_!VJhQRO*0mYvzj0_Ci3_1)z0Ll~Xqd8*u#`dVs2!{a22L?_K8IKJM4mLB1YQ&t_ zpxD$dpzJlr<6~lDw}f%lof8`uyE7;_cga*PSaNc*2K$Pblbe>Fp034uVvgtLWoKs_ zF~7KTa`W=@^BtPGWWBbmxVYG3vR3S=Eh{fC4_NFq*K6yltE(e6XWc!ub@lc235UC6 zy|=BoxjEzVs@T)p*52M;@c7hR@9pdE?ymU!>h9_7>+kPxVCI(d*|Fi_;SOQ#xHCI8 zK0ZD{*?XSP&P`8G&oIuucV_42=jRtVcgy+i+Vb-9is038XLoIVeSJgn>3P1px4pf+ qqxki`v%9yyzki^aTi$Qaj*pK|OxBJ+w`b?)=NA@x@0Sr^um%8jj(Q*f literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..b36e111532e61d73125488c344003442276d86ce GIT binary patch literal 1621 zcmZ?wbhEHbWM&Xz`2L?^-i~_<_S~Cx=*zra54N3pvf{v_X-B?nJM(14p$97tJXm$; z(X0b+{{8#6=E$S}qhK@yhFu6K{$ycfVBllWVE_V9o@gJ<5yLK$M?FMB2yhrNuyd$5 zd}wfF<`CwRd9Z+?fr*!c!GOb|k(r5?OJ)KG!@?$3CaE$J0fz%jEQ|sc92^YR0LiEK A&Hw-a literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..d322e2c7306f42ffdba5eb8bdc82c04a6a3e9325 GIT binary patch literal 1892 zcmZ?wbhEHbWMeR3{{Ek#=fIbFyBMqk7a^M1=sye+Fg&2@iz^hbA_0jhF<3 z#=|VU@=`7if(MUuiEB!+91v_c$gIFGA>&YV;KU?0))gWXik2Q^GT`3RV=0{GJCiZ# z(Ur>0>3*~9bJ^~4PI(?M-)*v3tX4>7@G_VAUcFwTnjx!$H-_1sy81F~ebnKyy;f$~ zH`k{eoF}?^TkfsxX?Kscc9*TYyQ|{nrK{D`^Y3kKc=}KD&Gv!^d)t4j$@R?mkaW0D z*?iubh@#X}J^I<_&PW=iouBPkUgvY`Q^w^*!PEcku_}3ec}?K{Fx}l{Z*H&4eSVC$ zdi(o(2Qoj4{hM9!;pT}_`S83wm7gA-?{<&poBOlm`L)gA_w{0{%imqu-|finFK1ox z`SHc+`_J9`UG@Fdiv5f+lvO84v0N SxPB~X;R};^7|O`VU=09P5R<6@ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-small-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..52a797ee93f3aa44dce044d102b65ef51b7e2617 GIT binary patch literal 1873 zcmZ?wbhEHbWMeR3{{Elg!i5V@o;-Q<=+TcKKmPpr^Xu2I|D#|u1V&5mSmU>TBO`JF7q*0ppEdBgfTTT`~^P6v*%_OU}CF9%z z_f9p_uFWs~m-$ckD(#xGDrj}UYPX|SrK`i&CakX$l{VA9xjF4}neJ|}+~}<_kNaA! zzpstmne%biRd4hB*nQ>yxxRTx%qG`}?)c z&(-`WdVaRsdA{D>s!uPjuT0+|z`)3$!vF-JJkdUyBSvak81*+O Y1UUE@m^oxTHY_;U%pt7C!@*z;06j7TnE(I) literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..f19715a3e6339b5eef2e557a3bbd7ce11221ee9f GIT binary patch literal 1585 zcmZ?wbhEHbWM&Xz`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O Y1UUE@m^oxTHY_;U%pt7C!@*z;06j7TnE(I) literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..51698b0b77c71e821200c632bec55c3857ae77ac GIT binary patch literal 1596 zcmZ?wbhEHbWMfcb`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O k1UMuam^oxTHY_;U%pt55b7I57!|ejfUUOa;C@@$908dy6$^ZZW literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..f182b67f326a4a369817ffefc56acfbc3cc85bec GIT binary patch literal 1851 zcmZ?wbhEHbC+w%$PCj)zuN3v(`#2 zSbcqc!r?Ai?`>;tZqB&8D)#iYwYRqyJU%tod;7Y(yDL7wx_f&2`uqDEn7QSAc5HZf zxIm0dwza?ad~z8`F(qTfB*3K^nCyQ|9&Jel{{35b;@PHC&lVkc z(zWW+hBGg^)?C_h?$x$)Z~l*h(GVC$A)xq^g^__lfI)`=2tawFeKbc5qv##=3dteB zVZ^}5q2jP1p`n?Bm8qd2fuV_=g-t+a0s|8xI}eAMM1etL1A~BsiNy|u1}0{19tRE% G25SJl81_~G literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..f787cda78a67ba643097fa5f68e1d6e49fd7c721 GIT binary patch literal 1939 zcmZ?wbhEHbWMgn*{{Ek#VabI(SHA4J^x?p@FMFg6!g@K|I1DBGPfkvT{ODCInMofZ0qdN;5Z-O^c#I^7q$dfVH`ZTWYX^?H}DySt&{;F)lPeQSH}@pEUZx4*w~Ad&s}-{>8Mj}Dirzu&vZ;?v_(3yr70v-$P;^|j6Z$M?ln ze|`60e|JH?-@K~IcaP7mcCWuz{rkiF%bVlh&$Fxf{pt1j`|J1rul@J`=k)jn7QT#x z8jeTP6&l#JUMMtkb4esN3Y&2}Y!*uLSlA|(R`IZ1u5E{6hjQ1A#7>QQE0S7uif$-% aYVXoe?$MtWk=$i|%;Ry7nU;hAgEauy9;WgD literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..febf0a6f9841268ed5f254a4a89664814b0ae556 GIT binary patch literal 1851 zcmZ?wbhEHbC+w%7{*Qvu5EynLp!k!8k%57aL5BedKzX8lG)D}(NFMbN2_eAopFxyE#$&^R zgUuYmauFvsEIiyUpzJlrBk)mEw}f$)$$^cFkM}D$7r8iWT5@u-M(`w^1Dlqfo^FtQ zYR<_8%g)ZWkbZIJ$PCj)zuN3v(`#2 zSbcqc!r?Ai?`>;tZqB&8D)#iYwYRqyJU%tod;7Y(yDL7wx_f&2`uqDEn7QSAc5HZf zxIm0dwza?ad~z8`F(qTfB*3K^nCyQ|9&Jel{{35b;@PHC&lVkc z(zWW+hBGg^)?C_h?$x$)Z~l*h(GVC$A)xq^g^__lfI)`=2tawFeKbc5qv##=3dteB zVZ^}5q2jP1p`n?Bm8qd2fuV_=g-t+a0s|8xI}eAMM1etL1A~BsiNy|u1}0{19tRE% G25SJl81_~G literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..f2c097f400f57f3f16c3d16c2dbbfd8b25ad56b0 GIT binary patch literal 1939 zcmZ?wbhEHbWMgn*{{Ek#VabI(SHA4J^x?p@PkXL>y727Zr5FD$y!dzJ#lIVG{#|?Z z@5-xxXP*4obLrEbOCSD^g3%BdULm0PlZBCifuBK#0SG{OqJ1<+46hg-^$lqu!114f zQAJ_~LxV#T8>g6!g@K|I1DBGPfkvT{ODCInMofZ0qdN;5Z-O^c#I^7q$dfVH`ZTWYX^?H}DySt&{;F)lPeQSH}@pEUZx4*w~Ad&s}-{>8Mj}Dirzu&vZ;?v_(3yr70v-$P;^|j6Z$M?ln ze|`60e|JH?-@K~IcaP7mcCWuz{rkiF%bVlh&$Fxf{pt1j`|J1rul@J`=k)jn7QT#x z8jeTP6&l#JUMMtkb4esN3Y&2}Y!*uLSlA|(R`IZ1u5E{6hjQ1A#7>QQE0S7uif$-% aYVXoe?$MtWk=$i|%;Ry7nU;hAgEauC@}}wl literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..37a8a7a33ec23c6a7f242016f61547a0dedc1a75 GIT binary patch literal 1846 zcmZ?wbhEHbJv(&e z*^w*H4qbY7;L5WDm!9l7_hiq7C;vymXb23K5K#Qd!pOiN$e_aj1fV?8KAIzjOWcn7 zgPaiH_|L$}A>*-O!NFz@VXc@G6B3)+1(dz!cx+sBv|C6tQ5KE>j&dD+?77R8rb4s2e2e!fHVCliM)D=sefn5-3RwP5At%DEw&CMB?SH+&*w)Xb+g2$)kdT(EMcX!3-S9ecu zUw?mp12ear&yEcb4|fP_$DP@+@$vBq%HH#Qc5ZrldWLcKy)!#EKR>^~xm(V6*Or%; zR|Kz)JG*P^>+2hmPtWt+z3uJo9mTKjo!!0t{rv;Y-12^Vc6@w%VzPGpxjj2SKfkcp xd%oY^U0+|{*qnX;+}_>a-#<9qEiCW9Z_m%qFD|c+KfiD9@9!Uuva>K)0|1Rqjhg@f literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..02e660e99868818f578dbd47fd8f5bc4f7861461 GIT binary patch literal 1623 zcmZ?wbhEHbWM&Xz`2L@vYSxhjJFd;!cByX8kzMDW%scj_Z_~YbC%!D$bz|O^E3>v- zYM6Iy&bBLkTORB=_hinAFaQ4i`#%asLtwasfZ|UUMg|5!1|0?<0Og7H(Ht>c;&#*@ z(fcAo(Pd0k?#UgYdyKv&=J}ZQ*oi@MmPJXL|ed@`A?2Y&}Y$RZ}v97#J6^ z8EBMhg{%zO7}q;%>g%x8p}U)|N_|^>V{_W&X|dkh)`oA(zuVXAUA``MOTqh9Q@f|X zzqhNF@&DD?<_3xTTiK=K*6b*Jbi6~EyUix@)5B9U^t01^DmN#ep5s`5PG;7ZjPrB7 z7mLmPwdK|Ib;;Z3o!zx9^Vas<_2DKf0 z_Evp)ePOfq@qMwsKfimhzdLLBx!OIY@1IT0~Zyyeq|G)Ro?{A;4-}m3Y zzxv<*pXTumEPNRXbqsPV<~MK{?MP_kb^5WOiPOzvVY8@T#=|zLvKbHCCE7F;JCwUB h5<4~Ktx#%LS@&XLr_P}tNnM7QEEac*vav8&0{~I$oO}QP literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..51698b0b77c71e821200c632bec55c3857ae77ac GIT binary patch literal 1596 zcmZ?wbhEHbWMfcb`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O k1UMuam^oxTHY_;U%pt55b7I57!|ejfUUOa;C@@$908dy6$^ZZW literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..f19715a3e6339b5eef2e557a3bbd7ce11221ee9f GIT binary patch literal 1585 zcmZ?wbhEHbWM&Xz`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O Y1UUE@m^oxTHY_;U%pt7C!@*z;06j7TnE(I) literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..f19715a3e6339b5eef2e557a3bbd7ce11221ee9f GIT binary patch literal 1585 zcmZ?wbhEHbWM&Xz`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O Y1UUE@m^oxTHY_;U%pt7C!@*z;06j7TnE(I) literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..94256ef9c6221865cc142ec71613e5c5bf78062f GIT binary patch literal 1594 zcmZ?wbhEHbWMhzG`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O h1USSQm^oxTHY_;U%pt55b7I57!|ejfd^{Ws)&T132fP3P literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..012108c65350b311b1d533b794ef22839eec242e GIT binary patch literal 1826 zcmZ?wbhEHby*%rl@L=J3Tety0~GncH_m-L3k9+S0VPi+9Sdv<($d}6Y8{JA|lKR>^)*n7U;-d$f`-`Jde|J>f) M-`^i%W@4}g0GRHJ7ytkO literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..361fc557b6dd609fda0647360db26d76f7fa617f GIT binary patch literal 1622 zcmZ?wbhEHbWM&Xz`2L@vVabI(SH3Jc@T6_Ur5kVlZ8-Dd)|-EuPCZ+9;@P4DPdZjy z+H~qg$Er*J{{7o>?$x$)Z@N}p`acRrLtwasfZ|UUMg|5!1|0?<0Og7H(Ht>c;&#*@ z( literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..3605c0db4c51c4597b6b2fe98452322c6ccb95b2 GIT binary patch literal 1917 zcmZ?wbhEHbWMi;m{{Ek#VabI(SHA4J^kLtXPkXL>y7A`Ur5FFMz4~_rh+h1=@a*5Y zXaDwG`n2cLhySBsGz5lS2q^w!VPs(7W6)s$0#Kf4AI%ZNE|Nz*L_!E~{AXYkk%(Yu zaA;!V6k{n^@Q|^YPu{2`L!i->g^f4EWI|!Gd#}7DQ-DKI#a{9|o2pA%hjg>V9)=8ksm8Od1X@a%&f}-4&u4xXgd9nk!dnR`9Bz)mdjxiLSoB zI$?30sPr|ho14=v=gF?#mVI+;{@q2b*5P^4+e+RaJDP32{{Fs(pIrC6cf3nD-1=21 zZq1I5_Ye0mtJm2?8YQ2auIt{`Q(2sPZkBa7pRd%Gm*-a)&kvh>%lP&6b;YuZ{v)=LX(TPrN`Ez@|7d=1Q>O5a>@2`)~uT6H}zc1Fh^xgfv z=~2h|>T1eAJvzPG|GeDZ-=9Am-alRbzRlm?-#)LOzkYx1-@pHVw#zp#bKQ`yXOWXo zXkt@)ky*%rl@L=J3Tety0~GncH_m-L3k9+S0VPi+9Sdv<($d}6Y8{JA|lKR>^)*n7U;-d$f`-`Jde|J>f) M-`^i%W@4}g0GRHJ7ytkO literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..361fc557b6dd609fda0647360db26d76f7fa617f GIT binary patch literal 1622 zcmZ?wbhEHbWM&Xz`2L@vVabI(SH3Jc@T6_Ur5kVlZ8-Dd)|-EuPCZ+9;@P4DPdZjy z+H~qg$Er*J{{7o>?$x$)Z@N}p`acRrLtwasfZ|UUMg|5!1|0?<0Og7H(Ht>c;&#*@ z( literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..3605c0db4c51c4597b6b2fe98452322c6ccb95b2 GIT binary patch literal 1917 zcmZ?wbhEHbWMi;m{{Ek#VabI(SHA4J^kLtXPkXL>y7A`Ur5FFMz4~_rh+h1=@a*5Y zXaDwG`n2cLhySBsGz5lS2q^w!VPs(7W6)s$0#Kf4AI%ZNE|Nz*L_!E~{AXYkk%(Yu zaA;!V6k{n^@Q|^YPu{2`L!i->g^f4EWI|!Gd#}7DQ-DKI#a{9|o2pA%hjg>V9)=8ksm8Od1X@a%&f}-4&u4xXgd9nk!dnR`9Bz)mdjxiLSoB zI$?30sPr|ho14=v=gF?#mVI+;{@q2b*5P^4+e+RaJDP32{{Fs(pIrC6cf3nD-1=21 zZq1I5_Ye0mtJm2?8YQ2auIt{`Q(2sPZkBa7pRd%Gm*-a)&kvh>%lP&6b;YuZ{v)=LX(TPrN`Ez@|7d=1Q>O5a>@2`)~uT6H}zc1Fh^xgfv z=~2h|>T1eAJvzPG|GeDZ-=9Am-alRbzRlm?-#)LOzkYx1-@pHVw#zp#bKQ`yXOWXo zXkt@)kj(wSR?8}T}Uk+S)GUvpX8ArZMJMv}9kuQ5LJUMdZ z*`X`X4qSS+@4}P+qhK@yhFu6K{$ycfVBllWVE_V9o@gJ<5yLK$M?FMB2ypyo5ay8a z*pSfN%pt55bK-+SW4nN|*Bp^LH0t_^c3MXm01>aq4*?u;?JGgm}!E9fFGwGAVG^@K_3^cur(sSs{`j(CE#= zCVC=7pm^CqW()p1XEHA|_%qwqvwh7pXt>DW+OKB1OGL9_vEM?oxxYd(Lzjgwj+#1a zs@C=O(T9^*t;5z_+mvyB)z_?Pxl!A*cb`&~p00Oick%6KwY#^ki`!lMkxA~)c7yms z?YzHz&s1zoKG>ybKJAaihSVcd4TJC1SQb4$Ip4VYn#?TYmzNg@H@oeP+WO+!hWOKF zZ)cU|+}`Z{I&JQ3^LO`mXS46O-Lt*m{?SI|__{roh0o5+|z`)3$!vF-JJkdUyBSvak81*+O h1USSQm^oxTHY_;U%pt55b7I57!|ejfd^{Ws)&T132fP3P literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..f19715a3e6339b5eef2e557a3bbd7ce11221ee9f GIT binary patch literal 1585 zcmZ?wbhEHbWM&Xz`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O Y1UUE@m^oxTHY_;U%pt7C!@*z;06j7TnE(I) literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..f19715a3e6339b5eef2e557a3bbd7ce11221ee9f GIT binary patch literal 1585 zcmZ?wbhEHbWM&Xz`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O Y1UUE@m^oxTHY_;U%pt7C!@*z;06j7TnE(I) literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..522f864ddf7433c96e927edfd1369a2a096137b0 GIT binary patch literal 1589 zcmZ?wbhEHbWMdFu`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O c1UQ5km^oxTHY_;U%pt55b7Di{!3G9v0A{@h1poj5 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..8444d3206a6497ada05311034d0be5d5b1921780 GIT binary patch literal 1799 zcmZ?wbhEHbC=U0|8BhbckR``E3f`tdhzf7C>RZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gfjOoE$P98x|aFX5!X}Ik913W4nN|*Bp%)+ zG;_&%ZCP<~vBzYs*i&0pUS1xs*lVuW)>T(mM{Lfzdur?I>+2H^cgcEhTXS=B#^qJ9 zr?;)Wy}jV^skz?U*WKM+@%h!=)7#hI-`~K@E$6di!^6WJ!rF0Xc5Hlne1fv~JfEGL zo}QjzoPF=i&dtxyFL3Ub^WC-O<>eK@tK-h@+WPwXhUC-pe0OhqdwWOm>w9N+Z-0OP TKr^?z-<};GAFpC&Vz34P(e-?g literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..77031196789e4d6020aeca48199ab2c8072f3bf6 GIT binary patch literal 1622 zcmZ?wbhEHbWM&Xz`2L@vVabI(SH3Jc@T6_Ur5kVl-FWqH!e;#z&lVkc z(y`*wrc*CER$cn{@86blueP0g)3xf-|4}d+0>dH%6o0ZXG61uJ4g(N?@qG#EHB Ou<|GwOb`%Yum%8;1N43X literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..6c47a7c893bf05e58e6029c4032ac68a98f0cf3f GIT binary patch literal 1879 zcmZ?wbhEHbWMeR3{{Ek#VabI(S3d2!^x?v@e|s){y7A`UwO9YHy!v~kWqp?=1fLFgFBHs@zhs_!)OfqUFwY#>i3R@k!u}Sv#R-N!o>1V5a zPnWHY-k9}p+tlA?Yht&Qe!O(I+C1<6&ic>4u1e3)e|WfAnAvSl#Ks55Cdhl6y_r#z za(Xg%cG{eo#?Q{r)^6Wtvukt4`K6AF<7#)AW?ow#JG;-fdRy+*O@-I5)mm@Ozp=OR zv)n)H@{f0qH%p7pn`80$`RT>V?RK%dKE1lJKD#_`ZgtuF+q1h(mdnkv`SJPj?&bgY z?b}oJ`R&ES^Z)O&tN!)-X3H{Ka@C=U0|8BhbckR``E3f`tdhzf7C>RZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gfjOoE$P98x|aFX5!X}Ik913W4nN|*Bp%)+ zG;_&%ZCP<~vBzYs*i&0pUS1xs*lVuW)>T(mM{Lfzdur?I>+2H^cgcEhTXS=B#^qJ9 zr?;)Wy}jV^skz?U*WKM+@%h!=)7#hI-`~K@E$6di!^6WJ!rF0Xc5Hlne1fv~JfEGL zo}QjzoPF=i&dtxyFL3Ub^WC-O<>eK@tK-h@+WPwXhUC-pe0OhqdwWOm>w9N+Z-0OP TKr^?z-<};GAFpC&Vz34P(e-?g literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..77031196789e4d6020aeca48199ab2c8072f3bf6 GIT binary patch literal 1622 zcmZ?wbhEHbWM&Xz`2L@vVabI(SH3Jc@T6_Ur5kVl-FWqH!e;#z&lVkc z(y`*wrc*CER$cn{@86blueP0g)3xf-|4}d+0>dH%6o0ZXG61uJ4g(N?@qG#EHB Ou<|GwOb`%Yum%8;1N43X literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..6c47a7c893bf05e58e6029c4032ac68a98f0cf3f GIT binary patch literal 1879 zcmZ?wbhEHbWMeR3{{Ek#VabI(S3d2!^x?v@e|s){y7A`UwO9YHy!v~kWqp?=1fLFgFBHs@zhs_!)OfqUFwY#>i3R@k!u}Sv#R-N!o>1V5a zPnWHY-k9}p+tlA?Yht&Qe!O(I+C1<6&ic>4u1e3)e|WfAnAvSl#Ks55Cdhl6y_r#z za(Xg%cG{eo#?Q{r)^6Wtvukt4`K6AF<7#)AW?ow#JG;-fdRy+*O@-I5)mm@Ozp=OR zv)n)H@{f0qH%p7pn`80$`RT>V?RK%dKE1lJKD#_`ZgtuF+q1h(mdnkv`SJPj?&bgY z?b}oJ`R&ES^Z)O&tN!)-X3H{Ka@ zNIv;L3PwXCn%g@huXy%gj+Op!}VvosMv8T4Iyu3VMvDaL$t*frCj@X=a_te(a*ViW; z?vnN1w&v#MjLWNHPj6d$dwap-Q**tyue-au;`6J!r?;=azrTT*Th3?4hKGkcgtg<& z?AZAD_ylF|c|JQgJv}|cIQ!n2otvMZU*Oy==eujm%gZZ*SI3>*we|J&4aukH`R?BK u_V$kA*Z0ou-v0jnfo5)bzdbuXK0Yy7JO13Bou8jySnNID&$ifs!5RSj!F#O$ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2f60752e7157250077297505965868c6e950fa60 GIT binary patch literal 1624 zcmZ?wbhEHbWM&Xz`2L@vYSxi?+b%WCJ61R6$ewdg<{kUex9Q%V3r`m8xHfOwm04RZ z%{%dB!LA#1^N!3p@uhFegE`x-{QLKB*SRNij(zz*3PwXj3^WuNS(!MPWE2z}8k$)- XqVV&anU2$<;Pz+epk)rIUW literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..fdf6889afa78c7276979a9bfc595a4699920844c GIT binary patch literal 1892 zcmZ?wbhEHbWMeR3{{Ek#YSxiC$G%KC@@3zJC$o-yIdbLMjALJB9QiWs$d^M`o*lUK z?9e43`Q-m77!85p7y^nvSr{1@co}pUfB=*y+DCK5aE#|sKM@-O9RC>@c_b_t8XTI~ zL^VPt6f8W*A|Pzjld+-UD3hqZl*oa=21gbJK?xIwO9xI&V&hz)GNEYcL15O|(_<-| z<~x%i>Cu(S&FOx#>~q=fa!z?3FyC#mSgck^X7DnX`Ch$VqM9MAgExlRp1S%nY<<+> zvb|Pj**Djx9GoY*dRy+T?P+(9wRV@SySuC6=B2CE)AR3bZFu@m^v(8y2YcIptI74u z_>gqCPuYClnuwy*Q$70G=gvqPrJbMcSYGFI>r=+%MZwem?XfC(eR)mb{xIF$Wp8e; z%YA-~w|e{gdj~QHE*!`(5?@)#L5<_V%@ZzkhjnfBO3U_5c2V`zfx_@Pjuap^@X0`+_ER XqZtqC1h{@IXyFT!co@pa$Y2cs4#1P< literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..522f864ddf7433c96e927edfd1369a2a096137b0 GIT binary patch literal 1589 zcmZ?wbhEHbWMdFu`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O c1UQ5km^oxTHY_;U%pt55b7Di{!3G9v0A{@h1poj5 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/arrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/arrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..3ab4f71ac115188898fa2701b6b11561d0461e4d GIT binary patch literal 828 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 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/group-cs.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/group-cs.gif new file mode 100644 index 0000000000000000000000000000000000000000..3d1dca8f05ca550917346830a5a0ae4e16665181 GIT binary patch literal 2459 zcmeH`i9ZvH1HdQ!yk5P2p?H)dxpp{mJU@!;=?=U!!Pkq*zsjUC!6Bk-dSFVOt_!mB{_I3VoryMO9y{@Ma z=-n9DL$B{GJqcGoa`AW@KtUEXYxS9y%>dB{M#Mz_E@4eP*_kWX z^$4C>m(33o-~&JGx7SyMz30WrFL$>$RxxA>k0+M{zIVY>_Ns?Yre=MWTI_qhMP6lu~OPcC3oegZjRc3=(^V7L)w0*({)+2G{4{T;} z!o0jGzAzuE1S`!ys~+~X;Ic~gSFD>2s0i!s44Nr2{v9?`?2ia5C=Ng`%#;QugJvIl zX2534LY2Z0<&i8qVL7rJG?#U&KWwg2Z6tfHDp4JGvpPj7exmxGdU$C3eVxYnn$L!U z`PxTjbD?!bexlEHC5Xm_h{s6L!t<)w{UTi5CucPzxwui(_yinUcAMBO2QMa*XVGKC z=GlNC5?&-)q})%Ygw02%fDp? zVNB8KSM#G-X(81lbZQu7nT3hsnXV^A4@CVZF?NFV-}t){`7%2$Np8AIR-7-nvHOnQ^Yr z29ODG<^*{=utg%~TyB+{CHl7?LfQY-rAyiI?J<{dz1}#QCwUHfpd2o~hf|W=KB6QJ zu45SUAF!!>)JvC{YD)6?1&ZX1^D@s|{)cn`#dBJlpkU5!N_ZIg4~{NC(Uzy6x{{=1 zKe?rfYg@ITrV0~|@8ub{|BR&EQ|Ia^S=qK8j9Iy>vok3>3+xaUQ15r1*4vMH-k~NY zr<-xLf4OeU(HvTdwc$>QVsM?qQfg-Hww|)w(fE}flAPtt)lx0AZ85ZzM!P3YPuBpu zIz4GQX`B=4@`f%`F)25gdrYI#mTiHRMj`BlpN4SV3>xj>^#pw_p3!SNBqur_%-}Fb({3Vq!raSJOb>jsf$Mg_Ll=3M}zGh0*jv{cQuF zqmjT9Ni1sMYJk1%XufpWRdV7?$2CxI+916|kz;5kukQ^K6G~rle?6IYiE>rdD!AJo z!NKDDVl5bDbMZ#j3K=C~N*BvVzNyC%m1wm(h9_K{;$IbDeX@-l!VY^kdI9N8_1=jfHxh8T3_)wKnK|Kp zd#kHb=JVjpZkT2o*vDFxiHooYdyV1V)pyhI?)CaUwehdL_6Z^()SB zh=d#_`1@P3XpBUY8&RN-J+pLr$&4YwYPAf?9 zNv=0?zgF??W86>)p4GbSeVcF@FJrNNcTI26z+a}2%;xSja7^K`kr~TUVtBW8#)oO;GY8+ecXL81wkhso@Q7N{RGV36L4-Fn0@B=bZS$i$`@>*e=Y6L&Ng dUQu}td}@Irs8Us{==-D1xS|KJM_Czg`hV^ynJEAO literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/group-lr.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/group-lr.gif new file mode 100644 index 0000000000000000000000000000000000000000..7c549f96d6064d4b0cc022671fd823c13df36d8c GIT binary patch literal 861 zcmZ?wbhEHbe8J4f(9Xcn@V{aEiR+JFe`Od2qaiTzLO}5+3p2>qIv@g+Cm1-a7??R2 z95yUC*vuiU6?0<4!o%$X%3gCkHZD5aEn%E>=fuXv$NLqWyJS2!Ejc+^BY0KJ$xTbW LTbP(wSQxAUYf&Xs literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/group-tb.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/group-tb.gif new file mode 100644 index 0000000000000000000000000000000000000000..adeb0a4cf54bdfb626ab6f3c070f6e2919f374c0 GIT binary patch literal 846 zcmZ?wbhEHbWMt4`Y-eC-_}{So#PvfrK0JQ?m0=W&hQJ650mYvz%pfo8fCx~YVBpYZ yVCE5U*s$PWGl#HNOoc$h;dTLKuQ?tY7ai@EFwVMjV&mfD{R+-`G6D(;4Aua=h#nIF literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/s-arrow-b-noline.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/s-arrow-b-noline.gif new file mode 100644 index 0000000000000000000000000000000000000000..a4220ee9066357ea2270a842ed244bbaadb23de4 GIT binary patch literal 898 zcmZ?wbhEHbJi)-n(9Qq?M~)mhbnDyy|Np_fQDQU%Mo=fuXv$NLqWyJS2!Ejc+^BY0KJ z$xTa7Pd7+DHOF)FGT%0aqGx+fZdP}nYuC)RmLp-s#l;?zwPH_gS$TPRz~V9<4hCxg D_B%R6 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/s-arrow-b.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/s-arrow-b.gif new file mode 100644 index 0000000000000000000000000000000000000000..84b64703006ca6d86d335b89f8d40b9fa3883c48 GIT binary patch literal 937 zcmZ?wbhEHbJi)-n(9Qq?M~)mhbnDyy|Np_fQDQU%Mo)`~r~W##4N0gJundTm{G tbu}Af#?`K^tFNzT+TJAVU8dErDdY00*wfqA-ripD_|#nQ={XJz)&S^DQ3wD4 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/s-arrow-bo.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/s-arrow-bo.gif new file mode 100644 index 0000000000000000000000000000000000000000..548700bf45a4766e4633a2ad21cdd03a907e191c GIT binary patch literal 139 zcmZ?wbhEHbJi)-nu#f=+R-O3x{>OhHL-8jIBNqcRgAPa(B=5i!GpB#$>9_og=WMyv zz4@M01z+1Ek7>_3m%Tc*Z6(9;Pd?Yb^*;Y~?)yJ}o<}i97JcmS(V9N7;WKBi*YYc? qzIL6>+J0x<_w3ZJ<4-pI?D3myle6{rUd98@zwG+kS1-=MU=08a%|q${ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/s-arrow-light.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/s-arrow-light.gif new file mode 100644 index 0000000000000000000000000000000000000000..08783c9d2f269eeb9799f2591ef41ddd2b14695b GIT binary patch literal 116 zcmZ?wbhEHb*_y R+_d!cbc5tmb0h^AtO41(Cb0kj literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/s-arrow-o.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/s-arrow-o.gif new file mode 100644 index 0000000000000000000000000000000000000000..89c70f36fa653684087485ab673043ecbf615cdd GIT binary patch literal 937 zcmZ?wbhEHbO`C@~rWBPawEf3h$$FfcLbfcy-~6AT<} z46G~?3JVq-Y-VLwiqV*$aJZREUaCi9W8%>kKJB0>J3c15x5sMVlHA(yGnuN7&N42);+}s>}e3|KPvE1;j`8SW1{tiuYV6X-NOpiu@ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/s-arrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/button/s-arrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..8940774785c25d4467b239aa608a9eee40e273d1 GIT binary patch literal 937 zcmZ?wbhEHbkKJB0>J3c15x5sMVlHA(yGnuN7&N42);+}s>}e3|KPvE1;j`8SW1{tiuYV6X-Nh3iI; literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/datepicker/datepicker-footer-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/datepicker/datepicker-footer-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..1152ee3ad364db26296683a21b3a0f80c0319fe1 GIT binary patch literal 1833 zcmZ?wbhEHbI<*-O z!NF!GPK}ro8x|gJ7f_a);jwX%D~p72)}4$6i;wp!ICsf-1~s0XtP#u?adOkr)6)%- zPtAEL)NppTMe(aUCpRxYKZmJ_OV(@4ii?XqCJXT%*s}8S@_@x&bG^2%y1F`IbJpEc zTUTFSpK!QK)_dEUo0~H(uZlgrZSC#t1&>e7_1?bj?(T}uukN1SzW)CH24-$KpB)<> z9_|piJrDv1h z*QWlM7d%7dwbXO9)f?Eer=JwH3%{MPUv>Yz`IhU}Wu4Ex_D6nYw)iezy$=VUh%|?u m{BIdidftHN@Zdq_hvK)rG4n{X6)FV!n!(f6&t;ucLK6VW1#h_k literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/datepicker/datepicker-header-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/datepicker/datepicker-header-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..ee316fbb2363a8dbaff6b072e83e466685dda514 GIT binary patch literal 1860 zcmZ?wbhEHbOrGdwmfI@&FvE_LI?#>L0`70l%%JU1=zWYGv-6?1Zv>M0h3>%uS`@#!b8@r#IaY^eE?KWF8Ubt`leJ<`ZPC2M7O>cBuGWH8S64@D&RWa0VDXLoOZfB!%;x4hq;9UmW`n5-RtZqLro&o3E-r|0|c-}m?TkI%2~pWpxgO#_2904^$QiU0rr literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/datepicker/datepicker-header-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/datepicker/datepicker-header-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..45d74d7e3bd91be836654132cc24fe93423cc864 GIT binary patch literal 309 zcmeAS@N?(olHy`uVBq!ia0vp^{0t1tRvc_VR$Qm#Ng%~i?Bp530R%N1DIGvQXMsm# zF#`j)FbFd;%$g$s6uj=~;uumf=k4W#oDB{z{tPzWPQXm)!T(} zl1HTlQ>B$RHCvyw)cv`B?&rLO;Jt^f>Sx}0HRrNi@~x2S$U_D^hX)N>-zwj4X_6JX S{)`yViwvHwelF{r5}E*Fp<>4X literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/dd/drop-add.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/dd/drop-add.gif new file mode 100644 index 0000000000000000000000000000000000000000..b22cd1448efa13c47ad6d3b75bdea8b4031c31e9 GIT binary patch literal 1001 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 Q&Ma5+V#7h^qYVt!09Vf94*&oF literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..a16f169441fceb9a515ac134c3143a3cbd525fa4 GIT binary patch literal 1690 zcmZ?wbhEHbWMz(7rLpDvtPVx@JXB}~ zA+lpZ!a)HJVXc@G8x)JxOrA&{|| zlg&ZIVMF2}_7;8#4~Gf{=Jv^&&H)OY28UUA`S}_Q3>q2Py5v;~9;`gT?8L#NB-5}U V(Sd=Lmo0|jp`sH*7b7EsH30G#+lK%E literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..bd64f328877e6dd3a7e7cc7f5b11dc1f2a4c67c9 GIT binary patch literal 1647 zcmZ?wbhEHb4Dos5zl2Nl0i$4P1EsCno@ab>G7$?h1Ysk3a6c$Zo4Dos5zl2Nl0i$4P1EsCno@ab>G7$?h1Ysk3a6c$ZoiedU|?(etsf6f+si5mrP-pS8AO_YNJeWr&4gHRCB0Sc&uG;qG5BSVs)lucBN-{ zr)YYrYkjM3f2vi6qg#TrcZREXlf8SEzf`8xUbgpty4+{EW4iZg!1r~=_j$(o ze8~BNf`W#IhKh=cjgF3yk&%^^m6@5Do}QkInY)acx{R8>ke$7up`oUxrl_c>uCA`G zv$?Ucv9-0evbVgnxxKl$xwyN(y}iAHo57Nw!Gfd7i>JzfyWN$c!=0zVo~g)}vCx~l z*?_*{qprxNvCXNp&#$=8rMA(ay4Rw-*{QqMyS~A`zre7$(YC(Txxdha#ps92?ux_X zfz0`e(D;ne_?E}xmeKH#)cKs$@txKDo!I)a$ltrd)vMF$qS^bZ+ViU2`?t;Gvf1yy z+wHgC^|9amt>FBz;rq1W`?ccyx8?l2;PboW`@q1#!o$SE#KgtL#m2|T#>mRW$<4^f z$jZyi%*@Qh%ihb*)XC4?%+S`+(b3h_)zQ@1)!5wH+S}RN-P+vV+}+;A+Uw8M;>+Lf z+~4BBY>io~@_|EM8-r?ij;px)l^493{)9m@t z?)}v4`PAck%;pOh<=jiC@ z>Few4>+J09?d|I9^6l>N zio1&#GrFT9WSYm1Ag2j&p{u0Hle%2EV#l(jOLnd-hM7q-Oc_2KJ3iUT^9d9}B1s|{ zN)!nbCMj3Gd>PYS7*$YJy@EvxRL*HnE@{2Ai4!NFBXuEJM0OD*NRpZ)UD~o;yQWW7 zv3ey7SG7@Bvuf??sTWwGWzkB)q*f(cw{GFirAqCZHdJ}J^6k|tQBbjF(PGM^$;n!m zh!Hm>18WvFZQQzbb9EJp*S^D&C4+RCiDpfGdl~x7E_CRoXK-EH*4r(u)_sFLlg3H6srOVndaq^Bq(PIE6uVpPZ!L!U z&MxCM^5;P#&N&1Ib6FFd^fC-I;fNECC-wQJQB$Y55=&#-aI=jzR~Z6HCZ3!}-7uFq zQ3xZFc*09C!SE7cXcJnbkwzSaWMfz;p`?<8F&5+_M+yZw(nCb5MA4Bk{aBEYK^95m zHBd$=Wt1{%B#%57)o9~7@tAX2j><#>OiI_V<f4Fm8jp3{iK`JFg0Earxg+)mYCQO1u3wt1= zNVcA`12DI}s#44gFvze2mgAjUOaw5CFb_G;k`zcSD5%iF4d?(9Nwy*b9B{9sc$0+; zGx&k!e>EE74G%D@0na%GhNXltMX=BU9^fEj3D6tz*Ak(p#8QkFT(r~8h8=2x%@07l z^UN|NhP4DDw-}MeIKJ%vk_*u6Y(w0cRl0K}jU9PpPCQ+LgrhFMIMd88Cvj>fs7eyV zq(V+UH09?|X0G|>3w7QQ=${vk(cxEZ+4$opg*m3>mlIl$7gBIw##L4H-n$r4U?57J zBz0iC@l}M70T_OkY0C4^hXRTz?AZRr^fEaKUKU0XJ51*)?MW`SK zGl&5d7??m8#=tu>fIQxXc$Y@BlAdKmu1l0~Q!KKT}XKhBEYm874ph3SgiWsMuYNz+eUi z7;*uvI7JD=LO}>XKmr#Cq!(OBMJhtCdKT$|C_vE1D*zG=SGj^HGGNFkB+?9*34s|r zAOQ(fVH9Wpg9|}%$4e5b3l#)G2v8vkQG6nlVmN>XG|&oKqTw=8xWX7d0D@7NVGIl8 r6!btbJzExzbr{joG#1ymk324NldBw{Y9~5_knSL+J00qz6c7MAhD0lK literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/clear-trigger.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/clear-trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..da78d45b3214480842c62514af524f4aebb66124 GIT binary patch literal 1988 zcmdth=~t5n8U^q-VGC;mBm0hsV8ubLEt_Ll8<8_(J7+8+GN29vjM%!ALxG`*vV;KaE8sA!@Y z4L3~1jhLAW4>!Ua947Tqg?%((Kh;b$Ko$&=1w*rGb*ec?N^AxVXqe@UN>0 z891^{u56v7+E|jCmSrZke1FwUW#X##SBxOn2(GSyLZMKlQmNHyjYgx@YWd;~fq0Ft z+7v0*1j;R;!o*jZMDlHsa!;f+iM1w)YEP=(muf+oW=p08<(hqkW|zMX3O7KpZcnTO zrMf+lxo?0HvrSO0Hz^EedrHHu(zqvI1C{Hb+PJIP0JWQ-Y#UT;feI6-)9Lhjy}@8G z8jZTOUH$s*&hGy1-ahdEdx6`Q=5Zi!^uxptKLNl%;1tXUNoYe@!v1h1gG9hjRlyIY zT+i)opRVyJ$m^OWcFfcd!goE+KKq624@2~*{(Gx41$X#rT_Vu?_+4{kc3!~LZ@o|e@KE%NaSqqM2CdnRrfg1wYE_n>MZsu=aYxhs@ zZYg1(SHAI5{)vrY3S>+Sr2G5!}cb)=Lak{l#IcWFsP=h z54sOE<$IwK0i|U>!mQGuh`69u9r$a%T`NxXx|!$| z=ac7y%X=&#XG<+_jk=4wnhTGFb+y-lKaBeiK%tbtM}APdfB|~CqPsh#af)y^(trRQ zEp@1acO7D$So@a(lTLRcQP%+{D$xQ)D?;t7^o`EZs~jG0R~!KcEY9V= zMfruL`9PuG*Qsdx+dj=Ii`&E0II=PwOPulj+Tj@q29JB~T2{m(hfi&|!E zBM$OTv98=N_;e}11gu55UTB%9W)-L))9jWO$gpd{tFfCL@43sLIsT;NS-D3u+AQ2N zWr!%TS6ADl-D$@0q>qlSMI`y2eiHE9u3$58=)j+XZx;IBIT;=;f85a*t?a9*L%6-} zN85P+E0<{PUGyX_R!^ME+)_z>Mape4XM92w`b7;YV!insg9^+qDfzUevNmaJNM0}502MlVmsU>iV}`Lr`6`Bb{t@C#l~>;SXe`ck9;fs%svkL zUAe$-+haTd`enn-;A=LHa#CU?4rl5R1@d8MkEOU&)s-HE(zl)`8NRsxz3AFuDKdp$ U;ezY9-WkTkP-6N%4gg~Q2Qp;nKmY&$ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/date-trigger.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/date-trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..25ef7b3ae73c0918e97b5fd9c3e0cc5c69bcc14b GIT binary patch literal 1603 zcmeH`>o?nX0EfSlh?LXSh6Gchb&K0_)}2tjEVIrf*mT-cZDZJ(tUK`vtS)2>N?|+Q73~jaWl`R5gD__+)uHa6pc+;!AnYA{)io;j^$zK-;1hccV zLZMJ363x%gFT6y&EEbCw7Z)WGiBu|`_EpHn+pf<~!qL)+^@kuX9ddA!|~^bJ3jxY7!i&- zO}gJ$d>WVTX%pGG&aZ`i7E(VkK4Ja9tTI%PI|;LlFAd7J6{u?I^lr=khW z9L7j`^i6YIRU?auTO!iU9LH=Gd5-vUS@FpVMr|<;$*%?ORm3```@bRaKQttiW@oLK zmS&$sxRipjURP}nFmq^A<(b)H=?}HU|zxLk6-(l-GH&)mfGWY^u;&^?qN?-hXLw=_HM)?_LTNA4G zsBw*La}A2CNin%bUxA;Rs<;hKb&}+dDT+tWQ+v$u1E@hHKBpB6^8%*UNu>T}-V;&` zC)e$p#G(TZQwN5F$c;GFx)QO>SxZu0WlrpuDN!QAjdPFE9)D zX+dDf+Hw?@?*Qw!SL6F*9ldlz)&-T?0ZI@{H{w9Ms2xORiTlP}%9An%vH3|!!`=mn z+mo)9C;F$}SxC~4;*|UK@Qb@@{fx)jZ~6(JsBZmC$gX$Cbhxna%csHaMO1!ZFu79z z3#m5DMw~mOPFziF?gW8O;fA?Uh7T7`rp4$Nu#bHRbCESg+@)Jxo5rcMcd>>5 g-MOq(pFXLdRU~2PX6q%R;{Do7>GCKGOG|L!Kl0xUxBvhE literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/error-tip-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/error-tip-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..6ea4c3838768c0ec3b5dab8e789333593295c15c GIT binary patch literal 4183 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 BA5{PV literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/exclamation.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/exclamation.gif new file mode 100644 index 0000000000000000000000000000000000000000..ea31a3060a36a625cb5cfdf4fdc5cb4fa5c3b239 GIT binary patch literal 996 zcmZ?wbhEHb6krfwXlGz>`0sGY+vu>b$x(l^!y&e3LT!$PJ06d9I~VJ7A=2?olFzvm zzpDxE7n6N1CI(zd3A#}bd9NVyZb9tbn*6)9`43}*9>oVgP7HaP6#6VR?0I_l!meOY(6|dTBUw78N>aBj$UH@iM{ilZ1FAYgw8_pbc0Z{x51oBkf&`s?Q9|Ns9pjDkTQ0*XIbm_d%z0TG})!N75lfssSTW5a@j z7VZsy6h0k$;Gk@@Yl-LKR#u*NrzJaX3aNBVGqZFP(Gfc8+b>uAY)8hyXKfvg1xYiW zY*bF=5>dbAA)s8qF(=rm< znzH#Wl@*DQugyk|h0s(J9u~z4MZR499ryhC^~?K*w-=e{wl~-nv>Egj1cL7gguBx% zT)Zq@NE=-Nt6g4JyGT~9fVo?Mjr%bh_W%^(#8yHO+#|w*$V3wYFrM_Cf1JV+84je7 z9ROpGU-)jyX(BU$6nbeLjSW4@*$~LtaEfn9=b%FPo5J`zLU_AExy0xc;4Ihg&$RuV zvJGs78Rz*%p2AAl3(x<8lzp}-|FX4l%|7EfIvgRBjB8tSQLP1VZWEF#ywdLj z>2hyD&Cz7(vFsX(us-NkLs+sfDkV2EMfeY2cqXqlT3nl0R8N;Z551!ZFX)PvHbvg; zPAF=Ql@G){8oW?FobYU%-aQi8(syOzQ{37bFFif|+O^~xchYiY*TsbylHyFUEVrOS zC@mHh+?B~>#g(;XRrU9uJgcg0tgWkKmA77d(0=`qGNYy=^WpQ%CrV+BN>bPLw6R6f z(sR2_!|q(n>iQ^DjS2e4MK5Qv`<8AFEsF-0Btwh&iZ>0-?TxLUQpLzh z&8rU$BjfVd`o|+*kbdR$!ncucOIodVe0*G|(@jlJ&&BTL3F4!sWQKrZSsrbm`jlswPRiNw~ox#)EssIi3K_U?mR$7V-IC9eE}g* z5#SHoR>a6~NhI<=Q;WTt%?}Qu9NUN;+@wtJJS0y=!z59V(h!KT_cmHu5NujLLCxE9 z_QU0%P-;FGb5tI6*gk|&C@tm`|9+v*B6nv=lO}$S+iOD$Mn~aW%lOvrmnW;VvcjwTy1x_M|Vx7g?UOR%A{vxR1=O9xx`_0#)mAz z#O%%n@__a?l=898*N7xDAiI1b<_~Z{nslUk?g_Dey!Eax#h5@k{{; z%`faJ5{8R)QaC;cQD8x5`VzNXi1Wqp3x`c^8P{6P{gaVWuFtYe7c(1?zIg}q~%W>VJ1sc%Av?5s&yuiMsG8Vvph~HOnJjUP7z}R9x z!{}s!KCBJ0F`$WM&Ver~;K&ocSHW(s6Mh)nO&1ErxjYUP9z|fJI2_q7U~QAux`?+R z3gs}A84lrf=7C(=X6VrsYzT(A2H$czA`b%`i`+&{!uU_X)(G<^EyNUO6=M{u;y53QM-q4Y5!fjNf2B$c3=RvJnhbNor$)h(^K&^hwf=q`1g%>cIxsnNp85qN`tNhU3jbmaN?09D@dd_WcK8kleih literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/search-trigger.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/search-trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..db8802beb370d7554d5319c0e0d5c4ecb8da2c5b GIT binary patch literal 2182 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 ZkbiNJBLYFXC1qVT#6abhSh5fT06W`UZ>azP literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/spinner.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..1e323bf0b68433bf86df2bd885c11a607a0c8b9b GIT binary patch literal 1975 zcmeH``%_bQ8i!8^kRZ?+paC^F0TB@qxoJ}n8&DxEbjIiwT<^AsG*V28QY%%#&=3#{ zREOex2AqnAPZYLx;C+EBHN9=EX<}=ScKfg0?d_o-U zv*T$H8Cry(&^=een8o4D;)s1$w=V6US1;5`F4jpd)k$*eB~8tLJ!8lC#>j`!51l&7e5>Kf6CXD@)##fWZLFvqEsZlI7 zh^59snPy0)5zCBX89Xf049c_vGQ*%uKOlpLWZGf5W=O6dmg|P5OmC)^yf~tmd#iv) zrs2`0DPf7yIHuG~l%_GIaa?H_QyIrprgtjC{QUgF!or7Tv>&v~%nYDnqrM6-kE10zcquDxV1+dvVzib<9v6(EW$zofypjNBZga8YI zS`eEB!K?^sLIHvxRs=Jnz=~oBYC}*AMNzX2peSas0jmulOKrn!%U}owPz=~GfMMWo z{!bV1vDo7v2tYy563agU5dq{$q%az!moE|B0uOa-g)i_c*R5qxnZB_+uTLWTx(AN$ z<`Z|sqED*-NZ9GWFRVrYmG%C5`AAQyLMY6?NsIOf&2vAA$A=y6aw+29%e%gw>3cY} zN%e($%6{4{?KS?J2VW>7T3ByNsvI`86?MuS3Pu~US9|9Q%j<~S@T2_nUXv*A;qjOM zj=pKit$2~!Z-2nuv7ur&YbN&Gn(u=TKRr|!f!hU%lj{$Xn@3xJD5%7Jm(9-R_;SWc z8Fmnnnxe}a2;R;m_qQ}1ZBJW43P|k=@fyltK1iEyp3kFpbNz6BP%cDI_=Pa=kopts z@u}3MAZzOU3TYdT4^Bp3Uch~jJo)}befgD~;1k5Hp7iv-oM7p`D@Xh9wQ{JCTUC6P z+(|$nL3T0TM3=XM_ZM+OCZ0>JARmFwxs3eA@rbM*JLk5yI@!aI@ho+^p?=wGP> z*5<~14{qQ6?jN~~s_C+XV2R=y6N5S^_O$!)Zg@MokU~f4?;U+ot5TuU3N4R?PbIZE zl53a+tFx{i3;4ZD_NR(<0dt}YxHV_(-Oe;^6jJw{*|@=*L1C(^3WE>4E8eQ%@YnAA z6ASH&7G{QtGr=j}P%&ZpYxI3wo;gOP|>-0KV+t}iCZ#?uV+SR*7n7?g~{hW|L zx8<3ib5er{?_SI9GvCgr{7XG(ZoD=Be3Smgrjd+?#epRhBQDglmEGp-{B3xRUHuqq z_`I+u+|jF5%Ja@_Ers76{@S(D!E?WuEJ<5a@aXNKoc`=lucW7&ACDbKeDcKq&V_7= z5(h~3H#4`9RFyFS%@D!wOrvT|G$WGk>BkNUyi@cGiy|-DIYtwdCSJ^SOHx$LQ1_qv z2Yqc)K>mM$UgkeuDI#^r(d|^$Q4r6|Kwv z-K3+sAi{Uv7>UWQo_ud#_N8YpMKgr6sXf+D~*JEhbc-#tI&Y%63>- z%qrlyfz0UkwBE5plBag)y$Uv6yHRqYIrbKr*5I(cw4JRGa0!p8pBuvkoFFfeQ?fRX zh2s)Mr9Ah6`!4Iyt1sKaZ@aGA;1rVY;}L)-26U|C-N?)P=&YLix?4nu8uod9J$QJv z!Jgz8ZST60TTPCj4HSOM*oAW&;BAQH@Ph;8&ZjHv1Jokkrx6_~Kl68m1#t>^)vLa4 zN~eTbg~jnnQ@C1UXH1jKB{?I1wXCfxpio!BGvleajd>2Jtd#!_@9SwHI9Akd_N|UB t9+NZTu$Z#)3}Xk~-$Ba8#=V)fUwM3XH!vlkF&BcO{s)2W&!4}4|NZ;_|3AYh7!85p p9s-I#S%6;r&!7YHC@4=ba0oCkvIrP7I50A^3uwfgFi>Ey1^^@>A+7)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/trigger-square.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/trigger-square.gif new file mode 100644 index 0000000000000000000000000000000000000000..3004ec589026c038e7d056e2b99e3a877d1ecd50 GIT binary patch literal 1810 zcmeH`=~I#k0Eb@@(r`m7uUt*s$}CGwv#`U(3p3rqV|JbGJ~p>wuw%A$t1UBIwalz( z+{&#$%ZT+L@5&Oi)(njo!2=aJUO-TkLqNb6-<{omV!!O~!}Il-d1iizNhCtlp<{qI zFbe>0K=r2)<>eaTOHke`M`}Tc$K&-w`Z;)h1NmlC>qos_ACXo(VMBP*8NSR=2g;eC zTse!>fe=?>)ai87)6-h5_EoP^AP~Uz`M$nBKA*3fwW+K~cv^AWkZNFHpqV2d92_)R z?LwiDBeg?jq*rY07MUBnWnJRA;o;%P^jikAjW3;mVK^eS*lI_(V=4h;GFfaNL{^bV zWP|59VCLdoYHQ)h*?r>{i-ixF%vSq=!rTU`t#k0} zUggI0TWvzs=P^~+(A0Wn8IQWMaOQ0fTZF_<#RVfdDJ| zU-P$Wo*?VVKr zv>QMX8JhcNpY6P}`bdd8lUmhVPVfpMuo|9opEw=-v~3MQ=RHRG1nv9Oc-)Z|m)zHr z)TI1eNurS+6-EBZuS;&Cc#vt;!iFD%gK}8SH6tyq?@1m&3uTYPa>Im(Gk9&3h6-_B zp3}k4Vn(P0zi~{h{VkGnsuu#lr^Ct719}PhhL} zwJTGMKb;z>Igsvlx}rs~`R#5PcR8;)iRvvM|Jk(+(lJoch!ov6ixFnDlj011>WQkv_op8RKJdoL^uEJJCSo!-%b_pjdzFFrJmJ5u%l|L{a0h$@c| zQG*K7nT$MuxPuq(trliLXcs$F;zO;`Hcjg#WrSFHN-C$kgd zQHVYJk}Y{TLeFA3E+FTQu8@r5a-tocYEMo=ei(-!z!|5@yEuY}*X6J=)3sNTi&Up} Wr&xDc=v65PKOA33bU>qlt$zauvnrPW literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/trigger-tpl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/trigger-tpl.gif new file mode 100644 index 0000000000000000000000000000000000000000..e3701a383107e090fe25d3fb8d63aaa9290435e9 GIT binary patch literal 1487 zcmeH`{ZrC+0DwPCBIojs3o|_0?P^-#Ox&%!R?e}@xx}{YYR;I~>N*jn-Qn&=-p-KA zeA(%=S((N$6_|l9fQC+Hxi9#N2luQwPBW3%=l!}^GELum-8=KbTwwF%Rj%DgphgD1_aTFbxxSbc_7 z*tiC}T&|Us6}Q{%@p#OB*cyNreCzg?@X|W$2*O^k*XQ%C`Tc=FAQ%j8?6A4LxwQ?$ zFnGh80{=sSgX_p0D-7aZyI(&6LSe8g^uSq3699<4vDu>uKv9OqBv(z-4-J(@5=c^c zCvT(%gPg*qb@7!*M7$td*%d>&myq6H6@|%BvEwc%rj<`}&sV>d68bLbzTg)ez92R{ zL%OWyA+pbMNDmz0eA2_8Du?G1p`W#a zi*2IW=5FT;Nm@-f=nK&Ju|GKH$G>G{YFkTqB2{y*&pLXG@cG}HCp8gjUV5YGKrX;c zKcN|~+$?$NF%5hJAHnq}74oAsZQo5Wi&P-SqG~)}Tn55ltvZdK`IT)rc<_XRg^Z+L zEoNSBGTq*jc(eqdQjVJMM2OG;fu#t{Wg$qSxg0~TkXJ<4QMskK7QwahebOaMWkPZx zRCQcO<&}om1lH;#2Gv?~f?O}Zn-ZB9UH!@7hU*~W__FO@Msfvo|59dNOf4yZWj)Bw z%xm6#wG3~s&!Wh#gS~vA{n3r&QHV_+#^*Lr;_-`|0`e>QZ$*LSBb*;mXnE6}$b132 z(DJsR0TJCw1C%R+wAP Mbv*YluxN1lKj3usvH$=8 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/trigger.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/form/trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..f6cba375ae3a96c87639a5b3034d204953d1db14 GIT binary patch literal 1816 zcmeH`_ft~`0DvC>l)V*M8qq2uh!jyON)b6kq!482iD+?8gcdhyFlbZ|=|RDBw1|nK zYy=g-LKp%@NJ7F0kj2X&VI?8&k(c$_{t^AH-#_r(eRtok-4Q`Qq@Dnl0SotmX1et2 znD}NDyN)jG6Qb30kilRKf(n0Ju2yFdDUimGJpp_36beNxUC5kJ*3g9v!Msd^{)2b{ zt)YWDy+JOQ)A*{nxjFfQrm0UnJ3HGlGWq@9yh#Kd7#LtOnJgA-XlMwAVF=L=4-dbm z3fXKnRiF=ye+a^8A5VqoQJqfL&C@akG8PEYxRXj))60QJM@IwV@*uUQp?9K-gJ^UH z4u_-FYMW@18U{!cz;a0asZU(Z0H>#?IrHd{2&N23`ni(|NYg@>b`8qZYBi$ODPSFh z7`jJhAVkyHJFzMLVGDbb%7s2qg)pKQKO~dc9tw(M&*S2TMv}O{ul| zX(hr_p*$X+#+A0Sq=O=OW@d&4Y7hhgA#_j(ixyB=hq5JVKA%tHNdpt|spDd)a$!U? z)5sF_^Hs10Wr_7%E*AvBz=Vf`lc;0?RY8zKjRwZ&(}g;vQppgb43Ta~iVm}RDwPWO zpZ~tVO2otn0PX`m|Em6d0x&}XXEXQ6TK?^DjDz>V9vskq*Um8{ZzSEb>&{ZYsD`$> zm)(zuOII)3T~F#=j=_{4?5+PUs&M0;zw%rhk5ixe#BCnweRnc8-_pj+BdVzUj`_L_ z?#D?-(@DGs1nWi=zJ{hbxhrf&%I9P;z^0j13zsoCgUyB!LQG$M=6Bn zEAz4?W0%OlXZ*aUKJ;U)pd(AW$gbc;9oStk74bN_sb181!*oCQpv$^Dw9=iqU&fOF zA~XHNGjV!qu8eunzbD^*Rqi>fhV#@l+mqU6##_(wB0iO=C7ZkUxySYgSDd!7KA4`t z06t~PYMpC;jw9vdJDi-&MA7~e!G~Qkj#U=LMSSMXfRx;YLuK16N&BjCr(TdvP5rdc zt{pce*VU*awki_c3{bJ8r)Ojoe=08|_7OJCv7kK{Qgd2!MVLiRi_8Mw-eFrw8P7v;1u9x z-}%LDSypYcB`tYg>w`BBcdlCOdCe)M zfedWoWIDv&Q{*sXo@UiMg$8V^0TPUXMplY3&fDl%31>0(Zc)nn!H}aK4fIu=z6)kv z-+Z?)QwhI?k0h;tqPxe!h}L*+mSyQBc8+_@CEm253L5eZ-+%~}u_Mh*3<*qT_XkyU<3LnMio0A;#iIPH2>?PU+mB(da-cCK;QqFvtUd_gzW zR3d9re%ms)ZMLbqzj@+o@P+O3jjpA7c>MCCZPR2MtU)a-vAv->;ui9GR8TT!P_r-l zp)l_j*PxyKbA^6(s&E5fn9Jqqg!@{l99z5`bkz(Dw>Ii+vxSa)plM$yeY@T53FcuX yYq-rg40qd+b;#6`NHN(^kZr9xY#!i+x4U-1Xsrs12{a3_fn)Cim5HGM5d1gxR!0f| literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/arrow-left-white.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/arrow-left-white.gif new file mode 100644 index 0000000000000000000000000000000000000000..63088f56e1c33fd23437ab00ef3e10570c4a57fa GIT binary patch literal 825 zcmZ?wbhEHbWMSZBXlGz>`0uc0#Y_e;`2YVugfU8vhQJ630mYvz%pkAofCx~YVBipA cVC0bDXlQU?ViVMIiI|XhxRH&WjfKG)0LI-8@c;k- literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/arrow-right-white.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/arrow-right-white.gif new file mode 100644 index 0000000000000000000000000000000000000000..e9e06789044eacb8a695cd1df46449bcb2b9aa07 GIT binary patch literal 825 zcmZ?wbhEHbWMSZBXlGz>`0uc0#Y_e;`2YVugfU8vhQJ630mYvz%pkAofCx~YVBipA cVB}zNNKj~OV&PY_IbpESp@o^1jfKG)0Ls}94FCWD literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/cell-special-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/cell-special-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..d76ffbccdc66ff52433560c893ae9f3130152a2c GIT binary patch literal 1636 zcmZ?wbhEHbG-qaH`2L^a#fulOUcLJA<;$l}pFVu}@b2BaH*enj9|fZ!Ffu|w@h1x- z0|PsQ4g(N?@13PQn3)hIR%euQ?tY7ai@E uFwVMjV&mfD{R+-qGM<~3oSdu?yej78rlqH+8zi5a2*=FiKfk`du4iLoYy1EIzwv>L6f@N#hBdp@_pFUkiUlfT N@O1TaS?83{1OR1r9kKub literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/cell-special-selected-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/cell-special-selected-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..f1da867ded3e87e53d6ac3823dd7fec84e4f3bd5 GIT binary patch literal 1640 zcmZ?wbhEHbG-qaH`2L^a)U6K}?tQrT?8}{JUv545as!ASeYy7N)0GFGF5UZd1}J;y z!?`;j{*Qvu5Ezajp!k!8k%57iL5BedKzX8lG)D}_cpmi=u_3_W%D~DY;V^-rk%^5@ z!=*vNv7wzuLL-1-!J?zx62@6~PHbF!ykEh&OU854l9Q7)f>*_y+_d!cbc5tmb38XM PJ3HH=_?3&K0E0CEWa1PZ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/cell-special-selected-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/cell-special-selected-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..500c3bddb2ff42b2235619190fe461989f81559b GIT binary patch literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^;y}#E!3HEvmzt^pDVAa<&kznEsNqQI0P;BtJR*x3 z7`TN&n2}-D90{PHmZytj2*=FiJ>UPl{{Nqchv)x)X9MQL^&HZA-{jAwB{Y0`_-RGf d!>WZz3|BlfrsWsL2Lg35c)I$ztaD0e0sylZCIkQg literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/checked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/checked.gif new file mode 100644 index 0000000000000000000000000000000000000000..fad5893727ee8a13f428aa777380ae97152adec8 GIT binary patch literal 959 zcmZ?wbhEHb6krfwXlGz>j-2EYIms=0ihImdkJxD*ann5GrhCOt_fD7*mN_@JU|~Yh zlH}5*DP>F3%9rQXt#bJ9P}a7(ufM;0=I)-EyC%%tyKeK&xyuhMUUy>sj`JIKUfjO_ z>dyTab{)LB=kT>-Cr%wbdG^%lGbhhnIDP)=+4C1qp1*tM!nLy(uU)-*?dpv?S8v|E zb?f%+J9qBfy?6e~qdWJX+*RNl{ef##~$B&;sfByLSi(wRuh5*qap!k!8nE{v; zbU->ld4hps4uc|xjK_ur2b)<{HDXQ_Japi6Q1W6iYUvPA5Rzlscwpk<4sO9XmXjI+ zi&_OWe7|@wG&BoL67X4M6R7Omz-DfcwPk^l8<#v6OGU!M%_;%{ss?XfI5Zp-5OGar zYW(QXz|GEX#*rx~s>CVD%q0^Mz{1hH&cW`(j0A>8wr;ZvZ4rjePOb7*MGqXL4LK$% TI;tJY@rY17bXb6iiNP8GS6tA5 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/col-move-bottom.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/col-move-bottom.gif new file mode 100644 index 0000000000000000000000000000000000000000..cc1e473ecc1a48f6d33d935f226588c495da4e05 GIT binary patch literal 868 zcmZ?wbhEHb( zLO{cVgpLOZ6Fwx&_)sw8LBWC#1q=Q+toSft!~X>b{xgh%(GVD#A)xq^g_(hYn?VQU zd{CZX;BaIR=ZFzVT;Rwl#vu{Yu%W4$ky$xng~3BdrVc>?i4_ctPK=BUEM^-R4mL70 a^J-WG2rw*VW@C5a%Q0YR@NEQ2S_1&+BRBT| literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/col-move-top.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/col-move-top.gif new file mode 100644 index 0000000000000000000000000000000000000000..58ff32cc8fa2aa1be310b03bb2af77c1b77abe93 GIT binary patch literal 869 zcmZ?wbhEHbG68wVGIhem=U(^LUb4h;c?We$u2%uEc{03e(}^8f$< literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/column-header-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/column-header-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..5895dbaa507b86b85517947bcb91879357dd045b GIT binary patch literal 1858 zcmZ?wbhEHb^U*yzT|&CAcTIW%+0zFM&2;$jbZjo4FLG+UMj zEcWVk*t+WKYN1V8cTbr%TwkAXm`TEW+nSr3GcK=+J-u!1?d=7RPtEn-zV7bsiqEg^ zp5DIx{{9ALZaJSF8y+6+5Y~=6vt#4q;}ev<=lSg1^z`%$vxOG+5TW|k$A4WHa+w!$M@3X z-^}~o-h9Je=%fFyM!WCr!8fAb5^aft20h&VflWEV-gbulkEuW}F?hQAxvXLCpIiR+|JMFF~?)$qNCjs##whxY+QW2U%|Oc#&gq> zlan=qSH+y%wDk0JgXB|lJU1^pJKLi8)t!@@m!F^S(99+4wPnS{#U7KjVoz;Zd3kxj zVz0SgTUT9O9kDsarV74J2yW+zreX$&Ue?A QmzP%rua28*uE1ao0O8YYqyPW_ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/column-header-over-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/column-header-over-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..3f206494db775af4dbed9a37fe52d74953c2451e GIT binary patch literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^{0t1tCLC-)R!VclP9Vin?Bp530R%N1DIGvQXMsm# zF#`j)FbFd;%$g$s6x{3S;uumf=j~ZbJ_Z2>2FD}+?X@m;T>8k)+I6#T)5a|u4<)`7 pIkdfSUF|;0!v;Kq3H@QdCwYQbb;bNWfk2Nic)I$ztaD0e0sy)ySg-&9 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/columns.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/columns.gif new file mode 100644 index 0000000000000000000000000000000000000000..2d3a82393e31768c22869778698613b2f5f2174a GIT binary patch literal 962 zcmZ?wbhEHb6krfwXlGyuEL<5_v@*CDh*pJ^t_~?(6IQl1ymDPc)rN@bjZrn5V(PZU z)NOSrd+hMvA+B+IeDltP)?JCMyOZ1ZrgZEJYkQj3eITRnaL%L?Ia5yNO*xf6?R5V1 zGX)b57R)?XH0ylvoQuVCFO|-_Qnuh~<)Ryvi*HsfxmC5~cGa>w)ywZpoH%jn)T#64 z&D*eH!>(Ps_U+r(Fz^e+YaA8aNxk9Lx+wXJ9gs4iBqReojG&n z?%lgL9)0`&|3AYh7!3i+LO}5+3nK#qAA=6a7*L*I;F!-K%OT^jVZp&>mh3YgjfYq| z1(lp?K5S5QW|J^Yxp3pe#^mFCnoeCZo|g`B%4>LkiP*V`#cPUi%)1K8vI{DjqJ*BN5r{ru+ zE8dX@@h1x-1A`ia4#-rHpBUIY93~fd=t%XSSW=X!RXD?mhh^5u1eqRJ zra}V|4(7yC6`@KS8NXveD>;rxe2zT3&O@bf;od_Jstz(SGPv+_sRXDB26XrI_Bk?G F0|2KMVH*Gd literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/dd-insert-arrow-left.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/dd-insert-arrow-left.png new file mode 100644 index 0000000000000000000000000000000000000000..5dc696781e6135d37b5bf2e98e46fd94f020c48d GIT binary patch literal 345 zcmV-f0jBq$gGR5;6H z{Qv(y10{fofkH6I3@AO3$p*x`Nil#0jeqs;pT9Ds7{CaN1)$9r#n~kE{`~pF@bLXZ zhF?E_GyM7i!oL`P0x_8Wj$ni2F7#hzWPxfvDaInaJo@X+Cm!COivwWT<1&XvJeYQNiErjd+Mbq870xT@Ntjs=&42%KF O-2R=tef=(u4AuZIk#dp% literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/dd-insert-arrow-right.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/dd-insert-arrow-right.png new file mode 100644 index 0000000000000000000000000000000000000000..b1a1819238c6de8f9e50988f4151261fa6ba64ea GIT binary patch literal 349 zcmV-j0iyniP)o>#A+qW*AYQLZl(!&BX$x7Ik;qO170ssEM z@$bKXf%rGW?|(r27bf-TSv zD}TdX0CM*JhkLO)8|Y^+n~Q^sK~hqR;q|N647YFGy>NTZJsWr!5CaSfwJm@a><8NX v2&h?|>lyj2t2o f3la`CGVn;rtSCr4)W)vpHOFJ)qNAORj11NQ63h`c literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/done.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/done.gif new file mode 100644 index 0000000000000000000000000000000000000000..a937cb22c84a2ac6ecfc12ae9681ab72ed83ca78 GIT binary patch literal 133 zcmZ?wbhEHb6krfwXl7towPL}p0*huu%~roJzC1V7qiQ)z(xVq;t8Q*e g@TwP&*%vbDj%DY0^FxMh_Sd^OqF)Bg*^}7&&A#5)LvkG7IyS zOnBJr%r7CL!Q$}XP&==XoWqO@51m;T- zPZpr7|1;=-+z!eU3>@+d`VlJv8V|8>3M$wXTxdAR#L6ikV-V2L(7?dJ#=^p24FK}3 BP__U7 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/grid-blue-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/grid-blue-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..862094e6803f522712e4d193c7becd8e9b857dd3 GIT binary patch literal 829 zcmZ?wbhEHbWMmL!XlGzJa`*r7`~Ocp_<#1%{|it4Uw-=k+VlT6U;e-I>i_*W{~x~l z|K$Du=O6#S`uzXxm;WEW{r~*q|F@t2fByde=kI?YU>F6XAuyCfK=CIF(E0xvbU>Z} m<=_zzU~q6?um%8<;zWG_ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/grid-blue-split.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/grid-blue-split.gif new file mode 100644 index 0000000000000000000000000000000000000000..5286f58f6f798184c3eeacba1352cfd39b9ae03e GIT binary patch literal 817 zcmZ?wbhEHbWMbfDXlG!Ub?iS7FpPrH5Ezjmp!kyo=M_wPS^_`om@~ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/grid-loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/grid-loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..d112c54013e1e4c2f606e848352f08958134c46f GIT binary patch literal 701 zcmZ?wbhEHb6krfw_{6~Q|NsBg$>(oA`P8%SHjuGk&%@0ppYOTwO7TCppKD04vtxj( zk)8oFBLf42;y+oZ(#)I^h4Rdj3>8V47nBGRLn+Q9-(eXZMC@T`q-A zfguTok_rhvuF+B}YGk&S-hZ1Y!QP;7UE)!jv*adK6)hob2AOf}GE&w)<#=MknJHoV zY^}*Md|xE}K6*MO&RAU_^MUKk=Djk=g^pDJi6uprK3M%`#IdVL zUEAw4e{ zmg0{~p6|Ie&p`6H%mYO|r)_gjg|As;$iv1hQk=MZgX#CFjEx2xI6HUG&(-w8Y7Wpj zcm93g6udbnGzoX) literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/grid-vista-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/grid-vista-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..d0972638e8305d32d4a2419b3dd317f3c8fd3fe2 GIT binary patch literal 829 zcmZ?wbhEHbWMmL!XlGzJe){5xGZ#;uy>#l_<(QpFT5;g3%Bd$|0cmlLhGf{|q`H nPk{0S1BVoYrq2Wc#zV~Pyb=r?3JDC2Ol*7#9t#p29T=29Ey>tSt{5 zHY{*#Vsg}oIT5h%K(m0QN{+|JM3-h^O`|Opf{7fxyq0BWID}eGbgMYd>zNVs*sDWV zoA1qwjZY3uXHRaM;~D(iZJx6IEfY?Wr2(@o4CQoZZdq`CwriwbsHEt#km;etaZ`6L zTz!3gENh*F_qI0?jS`nu#m){}(7wIk@jlUvh3oF_E@dsdaeDjvxJFSXZaJBV1#O2r zgyqE~6rDPbPjEKrQ!sFDJ262wU4TQ;rQ!Sn=9UHq#|Nzf3_+{e1Rfn?ZRD4$;FDGQ z#@r~Pu^>)X$(*&3x9Pl?tj&%CoF~dRyY`d67r$SB{>v~5Mnhoag@EEu7NDp9Gw6W44$2b@93l*? Z95Nmo7Bnz$2y4ZhC{SczU}R*l1^^j55kLR{ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/grid3-hrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/grid3-hrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..8d459a304e0b224f8c28d6b7b585da7019d28cce GIT binary patch literal 836 zcmZ?wbhEHbWMYtDXlG!!aN)x1H}BrOegF2|hj;HkzW?y)!^h7bKYjW6^C!b77!85p z9s-I#S%6;r&!7YHC@4=ba40eea>#gWNI1yM!7mYUVnf4WCKe8!85Rx=4Ga>@3=9GS G4Auam1ttan literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/grid3-rowheader.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/grid3-rowheader.gif new file mode 100644 index 0000000000000000000000000000000000000000..2799b45c6591f1db05c8c00bd1fd0c5c01f57614 GIT binary patch literal 43 scmZ?wbhEHbWMp7uXkcLY|NlP&1B2pE79h#MpaUX6G7L;iE{qJ;0LYaF_y7O^ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/group-by.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/group-by.gif new file mode 100644 index 0000000000000000000000000000000000000000..d6075bba2fd87519bce379df01d12cdbe67f255e GIT binary patch literal 917 zcmZ?wbhEHb6krfwXlGz>`0o(b_B3_s=d77u3+H|!r zfbs+bM-c-fhm6OD1qYj1`88rr6eKbU2cZFVdORzJ@!m~?8+%1KMTTg@3K$aq~=^PX>8{)(q7 acp2+dVHKAK1EYrP>l5}X$w&(@SOWm68Djnb literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/group-collapse.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/group-collapse.gif new file mode 100644 index 0000000000000000000000000000000000000000..495bb051dcee00b837a948af56f7a59e77b69aa5 GIT binary patch literal 881 zcmZ?wbhEHb}Lc00Z?nwEzGB literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/group-expand-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/group-expand-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..9c1653b48dbd2d4bb00886c379ba3a66813737c4 GIT binary patch literal 955 zcmZ?wbhEHbuiX3i z{QdXWpZ@~^!zdUHf#DSbia%Kx85kHDbU@w$?_tHlbAgvKT&29}T*1_wr_8B7v4Oad0D zH!!O=%UO7AS#fc($7HS8Q(IPEULLU6Yp&PURaaMg26lV0F?{M|skyG2(-{0TB%q{1$Bh!Jw8USBOURwYF literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/group-expand.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/group-expand.gif new file mode 100644 index 0000000000000000000000000000000000000000..a33ac30bd2b3758ab2e003f70ce638ab77eaf101 GIT binary patch literal 884 zcmZ?wbhEHbbN~|U;Bpe)@m>5|?LIe~TnPxDF-7pDQklw(o P-YjR~vE{{q1_o;Y#^^iR literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/hd-pop.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/hd-pop.gif new file mode 100644 index 0000000000000000000000000000000000000000..eb8ba79679eabb7811c3d9d1c86c43bcf67552cc GIT binary patch literal 839 zcmZ?wbhEHb_??HKjfkTCXkweD9 mfT4kbgI~?WW5NQ*7JhN9o*xBDE*)ahRw)@D7aeL~um%9t9ucMh literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/hmenu-asc.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/hmenu-asc.gif new file mode 100644 index 0000000000000000000000000000000000000000..8917e0eee0cdf7758e83c4cffa7a7239f72b8427 GIT binary patch literal 931 zcmeH`u}i~197Zo~Emb-ML>(No#i13!1{`|2)F4_jl^X=3LnUJzge<}>RZc~zP~kV; zB68w#pu>SnK&adpIt5*dn`7OIQ?33Dj(x+oeanNlwY^!!2PQI6AN?^vMGITlu?Sc$ zU>9uS*}igoaC}8PN`jCCnovooc75v7&|^Bl#h|GI2x(JLP!wWjlNOK|~-m_dM?T+-E!pI0dd^5l}(d@Glq_swQ5Q<6ypk{;!;VaqFyLusAH|W zI_^hNH}3WaBSr@P!$9skWgujrrQZ^Mn?RWcN@fn{AM5KVovc^P{B4D$=SroI5_&zI zNSF`DRwb35%9fAbth<-%@nxq_$~TO}IN9OvPh(dz1*g;6JvytHv(;6&xjkRcOr!mB r{VRFNa;Pe5osHT>5@ibIb~{3g+0C%lYO~3O6<&R=-|w9m23q?84YkzM literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/hmenu-desc.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/hmenu-desc.gif new file mode 100644 index 0000000000000000000000000000000000000000..f26b7c2fc5836850958f7f2b1fafd3988a988d7a GIT binary patch literal 930 zcmeH`u}cC`9LIl>nH9kiSwcv;h)RPe4nCSX#PT4JtLbR)IJcwe#y6z#3aSf)9!+l$ z;%yxW@kSwnZWM)ZydeVHiWX}!?QdxG!)N_2ANcN;ig{#6Ai)s+7(q%#GE!y5mQ{jO zj5MrhrlNCIcT|&WCe|#b*{*J3-4-SmmeaOT%60^HIHrQgae`8gf*j^igs3uBp{hnT zopO)5V>`?=nQ1YLFxzIBGSTNY=9rB4oG{nnt~U^b3F->w3Rehk(B^L2>$m$u&+|JS zzvF-O{o!cJw7~xri2now00G#VJYn()2%o@AE8lw!UPJ@SiC{BRyCfUg+)-YByjskr zv+Ug{Ji~hAw(%`jAsUlHdvfpXd_GaEWO`qB`!@?~^gbD{hpr>BT&DZEGYhLy?xoZ; n!ca~nNw;=d4=v4s)H*Z{&Ndrqrwj#{39jU-m51Y}8o>51Tocwt literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/hmenu-lock.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/hmenu-lock.gif new file mode 100644 index 0000000000000000000000000000000000000000..1596126108fd99fc56226b412c6749c55ad5402b GIT binary patch literal 955 zcmZ?wbhEHb6krfwXlG#X4~ou+bjZoeOV2FG$|=q-C@C(jDlf0eD{N@b6W`Inv#*zP ze=o<1{(yu1+=nJ`ADhB`dOG8|nG9#s|^2dGCVn`{Pc*@>k~$=Pg%ddVgCO)!~fR||KBnE z|HJVAKg0iLR{x*dJ-;0I|GC%y_pblnMF0Qq{Qtk(|NlOXjV)~*Jzd>>6DCZaK7IO( z88c?ioVjUP%kt&RSFKvLYv;-0XzkU1m_xG3of4~3u@#FvBAOHXT`19w_f1o=? z!B7qX#h)z93=CNeIv`Jg@&p6N42G*5G9DWiIGRQ-bEs^3`rv@RCy$K9p(kC=rd|^` zST-*?>B_{iQlwx7E2E<(Ghbe(62oy`Y27&t0f`^nn;9J1SUxr?H8M5pwCs2h(8SWt zC8Qv+=HXHgep#c0o(mriDDdjJR6ObU=;Xr2&gPqN_0-kZOwH=MQtsX=WoB-cUnB8y dW3n5EfMAf!nn#R>TRBB^*6i?z@O5CY1_0nG4B-F( literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/hmenu-lock.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/hmenu-lock.png new file mode 100644 index 0000000000000000000000000000000000000000..8b81e7ff284100752e155dff383c18bd00107eee GIT binary patch literal 648 zcmV;30(bq1P)WdKHUATcr^L}hv)GB7YRATlyKF)%tYH6SZ6F)%P+<{wS~000McNliru z(*hb477vONgHQkf010qNS#tmY3h)2`3h)6!tTdPa000DMK}|sb0I`n?{9y$E00H1h zL_t(|+NDy@YZE~f{$`WrhuKPySQAA=4|-5UL@Ysj^nd8hiS;2Kdj#HUllo z8f~>&*KFH9Nwz?Ckui3oR;%3`NI(gPUDtho|G}f2_3e8bT8ASerBbE5)1bTYdcFQ| zZM?C8k+I47`6u~>51*b--wCz*ER>uRr zeV-UkHLH%}72i$a+1i|RAKlWyIlu9^60fuoN4rrzunmYfG3Rj9y^HEzZv5(CEO81y zUYkzkSk-KQ`3%0SF=Q~vI7Aru=z0O7P{Z@#ja`PhX$8v2D-^Gzc;YIGcnR19E(0MI z;kZD@0aiO(XrN-PsAlqHZzKK#l1tJ_)zheV5(%VKYS5UK?$7C;0+>qp-G76P-YrWc z5ZrIlD9FnLDKc3)8S0<dA!cTgY+CR4-a*;u;!NrNF3LWTlP5a1_; iES|Z7@j-3=)A|j?vD&^)Yn&Va00007>1uYXA>3Qh}beSb(Ur!W`$ZoRvwlh8h#GSA{v3P9MZmob1&N}#H|)3 ziyhJ(U{)KHf*@)Iy5?}L)|RKuO{O%cx#h;IvM2X1`q0Jo18y$3o31q0)ZQR~04YGX zfXCOw7l;j1uOz`;`%xPF|1H(H=TQ-Al80O7c-*kEIp@ZM``Ch}Whn7a@ zEo{qiRYg+i%R z4h#&aR4TPvt$O^~PNy46p*I)|Mx)VWGFdDZtJOL&G4XSL3{j3aZnxWK zXJ;3eLR8p^IE^@iXhU=a0)b#Kw7t0&jYea!SUet2Boc@bilUOqB;u|J|M|xX6jAAP z03n=6?Mi(Dm?nrZ^SKu7#oi7Bm%1nSA1H5qaf|0_D`c0ZeXQSbMRJ}Wp^ujFWEojX z(Y1{1lBcW8em3h3o6B)FgQ$TZv?6jQ8yMxx;o>^&qx~ghy5ef_6fHB&ac3`cuq8MD zSbdMbr>J*|b@#!#g0h@qxe*x=qGVcHY literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/hmenu-unlock.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/hmenu-unlock.png new file mode 100644 index 0000000000000000000000000000000000000000..9dd5df34b70b94b708e862053ef4a634246acc8d GIT binary patch literal 697 zcmV;q0!ICbP)WdKHUATcr^L}hv)GB7YRATlyKF)%tYH6SZ6F)%P+<{wS~000McNliru z(*g|-5GqRX(wr!towOa3bz1}%hRS$Ze*UVXl27U>F*+kf-M;&k-s!`fDVCrZezlf>dy^3`BTW$z=L>EIW zO>?T0B!*En2q>u<@}12dniz6|2?Qm9qx{jpBiX~P{FQ(#@rTzxF``)#1i>x@j&6Pg z`g9}R!YZ+#Bpq}r3e{~P5}$S=h*)1OVUmx@SN9wqKg;4@^1P3fXJWAV73+q9*IOoT f&)vjR{Ezq!d`RXXnklE900000NkvXXu0mjfw|6I- literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/invalid_line.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/invalid_line.gif new file mode 100644 index 0000000000000000000000000000000000000000..fb7e0f34d6231868ed2f80b6067be837e70cac44 GIT binary patch literal 815 zcmZ?wbhEHbWMN=tXlGzx_z#4mU^E0qXb33&WMKq(T?a&f@&p4150I4La9D7liGhiU G!5RR1hX@}4 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..e846e1d6c58796558015ffee1fdec546bc207ee8 GIT binary patch literal 771 zcmZ?wbhEHb6krfw*v!MQYQ=(yeQk4RPu{+D?cCXuwr^cCp}%d_ius2R?!0jBXnAQ) zOH<|l|Nj|aK=D7fpKD04vtxj(k)8oFBT!uNCkrbB0}q1^NDatX1{VJbCr|b)oWWMT zS%hVC ~NwO_yO%;SvZ5MdNYf|QNy-I*%yJaj+uTdt+qbZ z4E`Fzb8m}I&!N8OKmWEcCmrLs^Hs&3i)mt@hQVdcqghkaBs*D}tG_lKew4?rTjzIZ z9tSone1TS+TR7tu^CunG)Y7Jg#sw#)sG9C!c0I%LEzP)9;hqRf&)s$D8d5Db{TBs% zgl0~5QQ91luq4Q9tJgt4QLbaxZvAaKeCM9!oy85dg4k>TdBSVqjHub_PG=PO&J-rx z7oYTuF+kH|tG-UK+EkUhDjYx?zW?T|lx>+aOQm zzL$v$zBLo4Cj=G&tw{H}dW?tlTkS)SY4<#NS92z*EY-MMB6Ftp`R=*=*Ev7cS+X%W zMCur^FdlokL}1Y+&aasU2J4#EOuNlnb9CmqgLCGTSY!1BD42pkHY^XidQ5=>YQx%` z*%Pm9D!CkBu&tMWm(%-ejACVWGS2RX5=QOJ$1*tr7F}F+*-OA+Ly&Isg|AEuUYicA z#%IG6kPXkHt{zk2M6zK@Vu^4Q(1zE$?yY6M!^&jQ+2^E?!p7{g*|X6}vuRC3p@jk0 W117c83?+LXEZI4G$p&LV25SKE>nb+@ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/mso-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/mso-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..669f3cf089a61580a9d1c7632a5b1309f8d0439a GIT binary patch literal 875 zcmZ?wbhEHbWMYtKXlGzpd-4Cei~rYO`oH1Q|BaXbZ@T<{^OgTwuKwS8_5ZeO|94#b zzw`S4UDyBbzVUz0&HsCE{@-`&|NdM558VEL!C+hQ;zA>HJFm1! z#)%1x%x&D_IuR=Z8kt%-g@N({4h;>A%p3w50S6iynb`#tJSI3aHnDO`7-U>H(Adn* Pui(%j;MmmCz+epk$!Kdz literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/nowait.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/nowait.gif new file mode 100644 index 0000000000000000000000000000000000000000..4c5862cd554d78f20683709d0b450b67f81bd24d GIT binary patch literal 884 zcmZ?wbhEHb6k-r!XlGz>`0sG^=;33>fanOrC>RZa5f%c9KUtVTUe*B-pgh6A5y-&E zA>*-O!NDdb7MYkC1`iK4@=0rzWCSQRbnt4Ywd@dF=+rMIANR*%(jvDmG5%#TnwOp& kU}SchrxH17*#QO%<_$5P0_ncfbgjEYUKG8!(7<2~0Pia+WB>pF literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/page-first-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/page-first-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..1e02c419f5e73fc1ba5770df0448d44adf856288 GIT binary patch literal 925 zcmZ?wbhEHb6krfwXlGzZPfyRu$tfx-s;H=_udjFb@6g=b+}hgO*4EbE-rn8a-P_yS z*VotI-#=;6q{)*fPnj}h=FFM1XV0EDZ{Ga*^A|2$xOnm6B}gPhY%v@z$+dw{PFR zd-v{x2M-uV!Dt8!L;Mq+#E6<8x|aFW_O4e+3))3Q*|Q=94?bWMk!6jGP<+(r$fM>Xwqe7gmNr&4?FkK$jz>EMMFb>zJ~*Z~ zvMU=|C?p6pu`gocw@ENKkig96%Ptk5a9{xwcPOV4M}k2k%Q{v@i4+D0okN>5F7xql HFjxZs_zi%( literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/page-first.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/page-first.gif new file mode 100644 index 0000000000000000000000000000000000000000..d84f41a91fca3a0ccc1107a78ffbf7b62c527afb GIT binary patch literal 925 zcmZ?wbhEHb6krfwXlGzh@tC0DJ54uuo^j+di-h&|8QW#kzUrr(*H68ylXk-(>4ag{ zZHv4+cEz{tOYf>=ebOm>XHxXSuI{Hx{sE`lD_*51{Hrf`RNeQhe(3PuA-LgMaLe7$ z)_W1{_x-!R`FH*eYuz6C>RX^ z>V<&fPZnkd21y1TkddG~!N5_)V9X)ov0=f%X7nX_llo;Ppa!i5VLFJ8Q4$&%&Em#6pV(z;0OW5pDfG_ z46F<~Am@Pc1OrC}12>0^$A$$5o7t@;-Y_UNJMxKf6&W}lT+k*Y$eyJjc<@21kdg?` z9)m}X2f37ODg+`IICZeGskVGL@ZdlLlaQT?!H)&bz6?zAIR*(A8e5nhSgkHN9C*OQ m>dC5ipkT8?(+Va*AAy7q4&fY(0%9#)p=)k#W@Tbxum%8@3U^Ha literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/page-last.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/page-last.gif new file mode 100644 index 0000000000000000000000000000000000000000..3df5c2ba50b143fca7d168d5acbcc4404b903ee8 GIT binary patch literal 923 zcmZ?wbhEHb6krfwXlGzh@tC0DJ54uuo^j+di-h&|8QW#kzUrr(*H68ylXk-(>4ag{ zZHv4+cEz{tOYf>=ebOm>XHxXSuI{Hx{sE`lD_*51{Hrf`RNeQhe(3PuA-LgMaLe7$ z)_W1{_x-!R`FH*eYuz6C>RX^ z>V<&fPZnkd21y1TkddG~!N5_$V9X)ov0=f%X7)sh7DeV(M==$yO&0_YC2+|IvM<}Q z@ZbVY8B+}&lf=VK2L;XIwg}8jWa;H%bG(qjsCck}M+|z`(?y z1M&eVPcU$JFtBpScx+g3u$hC^!6V}XBXb*zY)A!1phGj4Fjq*7gQ62lFOR54M?r!E kLmQ{U6cz@-#wJD`MJWvdVWq}d0_-7oPHt8|*uY>70KTb0MF0Q* literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/page-next.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/page-next.gif new file mode 100644 index 0000000000000000000000000000000000000000..960163530132545abe690cb8e49c5fef0f923344 GIT binary patch literal 875 zcmZ?wbhEHb6krfwXlGzh@tC0DJ54uuo^j+di-h&|8QW#kzUrr(*H68ylXk-(>4ag{ zZHv4+cEz{tOYf>=ebOm>XHxXSuI{Hx{sE`lD_*51{Hrf`RNeQhe(3PuA-LgMaLe7$ z)_W1{_x-!R`FH*eYuz6C>RX^ z>V<&fPZnkd21y1TkddG~!NB3cV9X)ov0=f%W)9;69vKr@Ionu*A5?G{Hgn3DYJ|un wK6d5q<#D`_!KiqUp-ntt3Jb$U#ts%8MWY1*!jGC}2?&SWIk{Q=U;~3S0KQg&YXATM literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/page-prev-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/page-prev-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..37154d62406ddc064dba311b95f554e49ad38003 GIT binary patch literal 879 zcmZ?wbhEHb6krfwXlGzZPfyRu$tfx-s;H=_udjFb@6g=b+}hgO*4EbD-QC;U+t=4O zY0{+0lPAxdIdk5;dGqJbU$}7L;>C-XELpN*#fp_HSMJ!cW9QDDr%#{0ef##^yLTBz z!Dt8!oe)s`$->OQz{;Qlaxy4SFmU)VaC69bY*=uxnSOV literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/page-prev.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/page-prev.gif new file mode 100644 index 0000000000000000000000000000000000000000..eb70cf8f6a3b7f524bbeb3656d875a823b27fd7c GIT binary patch literal 879 zcmZ?wbhEHb6krfwXlGzh@tC0DJ54uuo^j+di-h&|8QW#kzUrr(*H68ylXk-(>4ag{ zZHv4+cEz{tOYf>=ebOm>XHxXSuI{Hx{sE`lD_*51{Hrf`RNeQhe(3PuA-LgMaLe7$ z)_W1{_x-!R`FH*eYuz6C>RX^ z>V<&fPZnkd21y1TkddG~!NB3eV9X)ov0=f%W)AK)kBA8^Y;DZmPc|?ZI=9Q{X*oQZ zkbJD2lgIqQijPiCj2*mD6%7sx9yN0CvxS^laG;@KrlbJNftid9=jS`{vav8&0{~Hw Bh1385 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/pick-button.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/pick-button.gif new file mode 100644 index 0000000000000000000000000000000000000000..6957924a8bf01f24f6930aa0213d794a3f56924d GIT binary patch literal 1036 zcmZ?wbhEHbA}e@6f*BUeEG-{mbu9UVeYtn)@A#A9pQ#+`IB&@5(0= zRzH}y`r(9CPbRH>G-dUZ>1!TLU-xM0+NU$tJ)FJ%!HkVh=4^U8ck{CaTb?f6`F!=h zms^g%-go-h&Rf5C-u=Dz!SB6~|L%M6=kVF*ht9t`fBVhRyMGQn`g7pPpQDfe9DDTl z(5wGPUi>@u`u~ZCzfU~=ed^KQvyc9qee&n@+yCcY{k`z?&xIF%F1`GB>D9kWZ~k3* z`RB^(KUZJ||Ns8~&oBx`LjW}d6o0ZXGcYhR=zxSld4hrCB?B{ujK>Cr zPF^XagaZi+ome=9Dmm#SD}7El7CSA;=KXekY^RG>e-{ zuuVYm(pR@|5zQ!{2@Y3s!WlFkEt+xRKzr=&*z_|U*@qgNWbB##KVWn?)_GXn$>4`} z#Rk5^9iqw$CMLJ{owi8Xkg$-crJaR6?!tz^#b0>Dw8Q57c+l9;Af%gcqV6G6E2r=p gYaW5X0}L(q1$Yc3_9+}>;A5Sv9e-|5r2~UC0H_cnr~m)} literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/property-cell-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/property-cell-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..7890cf9f887ca6dcd09f0106c97b44b6bd032304 GIT binary patch literal 155 zcmZ?wbhEHblwc5Gc+AOg;lhR2Z{EFm`~K~_5AWW8eE;FohmW5>e){tB=gdaSrM&Udw>$^!;7jFpfiJKq0dh%|O{FRAsr%cJ6cQeymfr-Hy05I5B@&Et; literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/property-cell-selected-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/property-cell-selected-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..1dfe9a69eae133929f3835ffcfd108959539b9e5 GIT binary patch literal 843 zcmZ?wbhEHblwe?DXlGzpb>`cJ$GN zbN|hshj0HpdiUqa`#(?L|9SS|&x?Tku;-OBz~m8F^(Xxn=WLtiN>a=Bx$F zE?m8F;nLL!Q)l&0o9h!C(=%n(wOe=Z-ha4p+phfwkEZ5Vc1)PQY|Z9dx9>(KWnH~~ z>(S$RNmD?mv9-+Rg2I4_CJIHMaG% zPnb4+&ceq}p0)H%FR85Wo;q*Ux=pFMWe1L)nlNk8yoJkV&R?=-^RCpKQa9hQwEXgn z!pip_KJM6ec>m#J*KXY2f8^w`6Q^e`TG`P(@#U-6IYpHfO+D3(9i5ZsY}~%Lv1{Uq zvlkaGS=HV7gkm^w5Q~jme)4VU$mmSscZUz74w#^?wB~^=g*%RMb(8> z&7BjcKYH@~{)0!8XDuwKZoPH){;G{T7>EOkKUo+V7>XHmK*~XJ!oWVSp}48JrL|2t z%F8=3u&p`0Ak5C8$Vs=)FN>E?AUn<7Baf4*MT)W6--OM=GeE4bSy-LLSvqt>F{7&i zgQ&TE6Th`WhFXr2Y&0`7J9}^ww@;xYgOHm>TsTuQk6BY}E(5EeV_RmksUj;&zVVJ? zqex9(HbbrEkeHTKIc+_OAiWO?j?WH@yUQHepwOi1&dIu?>P1B(15azY1T!OpH2`<~ B4eI~^ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/refresh.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/refresh.gif new file mode 100644 index 0000000000000000000000000000000000000000..110f6844b63f04ee495cb6260aadccc5c91f3245 GIT binary patch literal 977 zcmZ?wbhEHb6krfwXlGy$h}b9*vsWVToJh$rg~Ib{73bBfFRNEyRjIzARe8a@{G?U= zS=*`;&XtFqYK{lh9g^y}Bh~OmX2K7phHF|4mvmY#YBk-m>AI%V{Zwn}AFb*CO}Zah zE&Ol0{J&TG39p`WUhP-C+HU)IUUQmo-)qvfh`zI76Yqx1zV0&XfzSMxLGvGbFMQ~+ z=(Y3m{~l}q`>*>SwD@7vl2_py{zq>5pE~<)_MEHvb8Z#%9?x5TCvVmLlErrtmc7Ye z^(1@q`{eEa%QikQ+y0|u-~Un|+W)`u;QzYA|67+{YhHeP%Er5`D<5=iecZe0VgIfd z6ZSoyyYE@Yq4%wa{&t-D-*@u=lr#UQo%uiG{Quc!{>?l8fByOZOAkC-cNm zdAaJ$n+2EuFS_`D;g$bOF8yC{^Z%AJuQpuyyy5=;?RWm~z4m$Iga5mp{NMZF|DH$x z_dNZ7J^Oa?<^NmHzCC{Z^XcdR&%XSB{pru! zuYbP%{{Q3WpTGb9|NHkJ2pC4ez=eR~PZnkdh6V;5kP|?8f`MZl10$!5$A$$5)il%s zei$5ka6nGTs361eNrP~El!A@oXXa)eCC+CvI2;iHZM67s#E^NJN1wTgOT&i;3Ec;TOAjTi zTyP{|exu5jn1!2~IsF{O7w}9FI^s0Dv3!z%j9{}Lqr9=eiw8w24r1-;JbMZ*Iy$pR TTfCj3pwPfLY5NRjCI)K&rUX|l literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/row-check-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/row-check-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..610116465e7e34fe6ec137d674a5a65eb44f3313 GIT binary patch literal 1083 zcmZ?wbhEHbG-BXmXlGz>j-2EYIms=0ihImdkJxD*ann5GrhCOt_fD7*mN_@JU|~Yh zlH}5*DP>F3%9rQXt#bJ9;Pl_AtZj8)e}DJP-90mRO_;lP-R7O^x9r-qeb1Jidw1;K zKX>_o#p_P2-*JBTzJq)AAKI|<;`aSlckaKi>)_Qrhp!zxeDu(fW5aL2&AYd5-M(@A-tF6WZr{0c>(2e#ckkc1d++>}M|bZ(ymSA_y$28PKYDua;miAv zUOssE@WI2!4<9{x_~`M2N6#KTe)9Oq(zkK@q?aP-hU%!6+_U+q`A3uKn{Q2YOFNRSt)Ivb< zCkrzJgCK(r$l;(o!NBpKL779wW5a@j%^bpFa}I1+c({#=)o#uSgQOPDOrxwjGt!z| zdt@$e$lSc_@o^LJpjAf}JZwJMArZPP=b&Sgps8HqqLPD`kM_zs`Roai*qqK|#L3VT zF?sR}KXId?9~w-oM=!LvF0}h7u%L13YL4V{2NpVaOx6sKXt0%-%sxprU4%n}F=ee| zk7OB3V$o4<2?NtNdOnMp+}aIPI1Cb!oedm&q`N#WDjn;2s@TV#Wb?^^L6Du@WzE4m zBH2;`fg2hOC%gI1Qk$u|ta4(CLnAZyojrZEhG#jire0bj>DOw0Oe9%D!a<-Z<>RHq z%WD>VO!l0r8@nULP;YPhBrdTFH4+!k**uiX3i z{QdXWpZ@~^!zdUHf#DSbia%Kx85kHDbU@w$^aLtQ^>)SRb9SKCQ``Jr`=eVAz{OT z183VTy}$iASS#R nB^X?DXxtttx-R#(S?*zGzsXrO9p?HCdj*-f<$NLv92l$th`d^G literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/row-over.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/row-over.gif new file mode 100644 index 0000000000000000000000000000000000000000..b288e38739ad9914b73eb32837303a11a37f354a GIT binary patch literal 823 zcmV-71IYYGNk%w1VF3Ug0EYko000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LV00930EC2ui0096U000OS0Po$iSC8I2dGX-ATgb4XLx%wY06VC` Bj$r@* literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/row-sel.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/row-sel.gif new file mode 100644 index 0000000000000000000000000000000000000000..98209e6e7f1ea8cf1ae6c1d61c49e775a37a246c GIT binary patch literal 823 zcmZ?wbhEHbWMq(KXlG!!`QrEOm%s16{{7(1pGR;1JbC};*@r(bKmL9F`S1V#{~1QX wXb24J5K#Qd0`%X11|5(uL3x6KLxe$C!6IP+Ln9*-6GOy_4GW#y85tR@0bQ{sTL1t6 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/sort-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/sort-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..45e545f74423d274d5ba7fd942349e9b6e377787 GIT binary patch literal 1473 zcmeH`Yfn-E06_1O8OuKCZ05?;9y0{yY?;~WgRMsR$~K$2`D~d1@}bQ#*KE^FOzmNr zk4h0m5xA%*2nq5&mj9jr&@R9m?MLJ@ z28+?&*i;q2X{glmbaXwjt9hit_dI1))x{ir6L_uMFRHs`tO}FBO&#lQRo8}|J5?7Y zU`>9C$Th8w3EHL`Ba086h!(PEnZzn=+PIK2*LI5;-9YgM=D}nEMKj(5E_P-Pm7jo~EXPhgm4T&wVplL(D->;y1`B0^KR=R4S}*a1vj)fV>NEY1mB8Uq&zYI6Q%t`{**z!J+Vr;E@5~g9*=aqW{3>u}nt)+%y z;;>ng6u?b5{(;L^(y<6nxNxiv6hU01L$+fA6FPrm&HQ1X9CMc{2sC$3gd=9b3;|~m zeo4%+^eknA7SU=RVi9X;xUJr+UX-mqm<4W0%pzn`0voy-@k72&h=Y%ZQ8zP%g((!cJJT4@8F*OhYlV-dg#cp zW5-XNI(_EM*|Vq5Up;&A+S!ZOuUxr$qNpFDl?^y$-QVDS9;ix)3mg1{>fcnt(^ zUcUi>w{PFRfB*i&hYz1Vefsj{%h#`8zkU10FbYOPfHonZ_>+YhWU>y30Obh=jxGj9 z4jGRP3l283GHb+~D0p~)!9>Yxj)(FAXDKG5ESZ1@4oAD0WI9R=9v*6Ak!N+{dHKMR zl}FY^$AdFLm4!>ptVN@75u5?#BR20ya;KC(goN;9V qqtnW!)kYaNB(j|}n>i$H<|I5^)XKF~L^CSn=7x7MEgZ~D4AuZjXTU80 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/wait.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/grid/wait.gif new file mode 100644 index 0000000000000000000000000000000000000000..471c1a4f93f2cabf0b3a85c3ff8e0a8aadefc548 GIT binary patch literal 1100 zcmZwFZA@EL90u^)S14;kcS~P51JcqXyBK7YjR|$m*3qt)1nqFnf*+(nyIT_zZIrbc zP70+hE$ePOAcE2K4FU;V;KM+=xUiQtnG(k(Qx;;(oQVNl47kM11c$9(j7iV=cuw*= z&;L26aeaM*8AVX!4nUmF3luezO5JukyN8Fbj*JY)E9#Hd|0*@ZIv{eO*Nb# z12yCIrOhLLJlbn33DTB}t(F_b2bV4~y*j=}%v9m90(t13QX1^b_==P$D+H{5*5Mu? z8gKY>BXXf^7@!+sCzFj+>XgJsqfc(1Ya(r=#J=3 zlZtj9{~(p*xA$9X2mMtN6e0bM#^36uHAhJ9Q&;+@HQ_ThCJ=yPPcaaStzMs1DHP_0 zvw_E92pgO+s83$0SnZp{u*pvQ$A3#Rftg(VD(=52XCTzUftd4T-22$PQrgIR*gHx4 z{43C_yk?5j?(i$Mual4dFf?{<9Wn}qfaB%>iNwkdu&q!m&h2IcZ$2Th!C8}<*_&Pr zyKl`OZw8N)3D^4?RK}UoD=o00gbKYHy=yv32mZ9Dl8aIS8x^Z$2?NwcBLzFmZOtoW zzN62&u*QDIz{Fy}^YAXY&Txmg7ATSAhAr8K5fZbFZ*SFa$_qE2L|VVFHOI{wKE8B_ zGXV2p-56OO`rc4Z7g3zbj)2_3YjK$((`OUqD%*mgvS`YELYsVW1or1)YW%;)D$oE>#r zQ3z|D(W$Eg`c?NY^+fD&+nctrc25@u47U__J8-QW7NqK!$T9C@*SpuaHyFRRpIGae rj_Lao#za}+eaj_<`F9!mRdtBiaY8;Hc6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zFlAunknz~C;9xU5Gl#^14GRyqF(|p!cuZW_z#t(WR-;k)_;9y`aa9RNLW=VQMPsFy Kokpn+4AubBJRUOu literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/layout/mini-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/layout/mini-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..99f7993f260b374440c5c8baa41a600eca99d74d GIT binary patch literal 871 zcmZ?wbhEHbWMxohXlGz>c6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zaA9EP;893e(9p!fE+S&!pm?~AUD|4jgy5sYono4CYdSV2yD|teHi#$`Jzc6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zaAja+k&tj`IMB$%CgZbW!-Ix)HhHZSi@+q84iWvZBN>K^-5Dep8%#8W7*0-Pa>$EW bxpC?7J_E~BDJKIG4z;p#3-JgDFjxZsq+}v; literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/layout/mini-top.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/layout/mini-top.gif new file mode 100644 index 0000000000000000000000000000000000000000..a4ca2bb20aad89264b9022fee88ee29154dfb192 GIT binary patch literal 856 zcmZ?wbhEHbRAyjhXlGz>c6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zFlAuo;89qx;9xU{u$s(?fCCNf0?JM-3L76eGxBgot>IYk*sW87)#{JM#>MWF#5uKM LPHswdV6X-Nu*4oA literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/menu/checked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/menu/checked.gif new file mode 100644 index 0000000000000000000000000000000000000000..fad5893727ee8a13f428aa777380ae97152adec8 GIT binary patch literal 959 zcmZ?wbhEHb6krfwXlGz>j-2EYIms=0ihImdkJxD*ann5GrhCOt_fD7*mN_@JU|~Yh zlH}5*DP>F3%9rQXt#bJ9P}a7(ufM;0=I)-EyC%%tyKeK&xyuhMUUy>sj`JIKUfjO_ z>dyTab{)LB=kT>-Cr%wbdG^%lGbhhnIDP)=+4C1qp1*tM!nLy(uU)-*?dpv?S8v|E zb?f%+J9qBfy?6e~qdWJX+*RNl{ef##~$B&;sfByLSi(wRuh5*qap!k!8nE{v; zbU->ld4hps4uc|xjK_ur2b)<{HDXQ_Japi6Q1W6iYUvPA5Rzlscwpk<4sO9XmXjI+ zi&_OWe7|@wG&BoL67X4M6R7Omz-DfcwPk^l8<#v6OGU!M%_;%{ss?XfI5Zp-5OGar zYW(QXz|GEX#*rx~s>CVD%q0^Mz{1hH&cW`(j0A>8wr;ZvZ4rjePOb7*MGqXL4LK$% TI;tJY@rY17bXb6iiNP8GS6tA5 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/menu/group-checked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/menu/group-checked.gif new file mode 100644 index 0000000000000000000000000000000000000000..d30b3e5a8f138bfbbfea3d1d6d5631a81268fe26 GIT binary patch literal 891 zcmZ?wbhEHb6krfwXlGzxGAUp-FJv++Vzw-1u&!ctt7CJoDF4C-YI>17M;4q>erj}J#1 znRLYtaeQ=iW)bC#?NNBB=*-HhDWD|4xae>zCoh|V$$>=XHZB1n7Kal~O{`q}VgeQu b3s{-ixj1G-bT~0I2=PqTialkbz+epkbq-F$ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/menu/item-over.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/menu/item-over.gif new file mode 100644 index 0000000000000000000000000000000000000000..da1f289fc9d80d11f57ea8e69f8f5c738c5c0f71 GIT binary patch literal 47 zcmZ?wbhEHbWMYtFSjfz<>dd#BFMhxN{P+L=|2hmn01{_l;+WFEQt~aovJQha0J+!^ ACIA2c literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/menu/menu-item-active-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/menu/menu-item-active-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..afb0225751dd52de8c6cb1e9fbb5ef44e2949c11 GIT binary patch literal 1833 zcmZ?wbhEHb*-O z!NF!GagCT08x}UU3n+Wd@%X6N)GcA0rE_58;^X}a&P6^Bo0goM%o4OJ=44UB>FEZ^ zr{=u;)NppTMKRlrlbe^HpYKp^CgHVZMIf8UWUW}P1uHKv4_NFq*K6yltE(e6XWc!u zb@lc235UC6y|=BoxjEzVs@T)p*52M;@c7hR@9pdE?ymU!>h9_7>+kPxVCI(d*|Fi_ z;SOQ#xHCI8K0ZD{*?XSP&P`8G&oIuucV_42=jRtVcgy+i+Vb-9is038XLoIVeSJgn z>3P1px4pf+qxki`v%9yyzki^aTi$Qaj*pK|OxBJ+w`b?)=NA@x&-dHA>+9)V<$U*5d?aOS~}V|RW$dH3tmqaR0Z{n&Nw z$F3_sEydh_eXvtJM1{JQhv z*NqpyEkAD0g1*0J_yh1?nCkrD313!Zf0}z1nMEhut7+x_v>KoERfa5;{ zql`oaLxV#To3MsY!i5HBW?p%z5Qo6VgG>_KF=sLa8r@mgI6G7l3K~u_s`^W%9GGU|Y}j)lx*GVZPf$vDm7RjNnE7ldVFfrfObY9lY7; z=&sP!SJox$@7nrmYEH!F+Q(ef58D@%mJ3 zNZi{bC>~a0u|D}gucGn1KNf{gk4{&Po;GKu(ev}Oos-#YqqaP|w8DS&x13p}S=U!v zpH`EdZT9B&=IG~jdv|ZkyS=xNS^nQ{i~L8&dw=_#tJzun@YF){>HlnYls>t-G5CI+ zZPoXe_cvDuU6-3@{qytV%gyflOQz{a2h@&qVP zFmM<%@JmQ|Y*@g^%E=?8;=tJG)Wo9VlknjJLnFJO0!M|%0mo(rQBEC(fQyeBCb4lX KFcA=7um%9T95sFb literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/menu/menu.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/menu/menu.gif new file mode 100644 index 0000000000000000000000000000000000000000..30a2c4b6c0458751f85126e8bbca6ef2ccc2ff00 GIT binary patch literal 834 zcmZ?wbhEHb{Kde?(9Xc{=<(wZA3ps5|DRzLjE2C-3jxKSEI?2HXV3w89h4^+IOG|a lIb=LGEI8Q6z#`0voy-@k72&h=Y%ZQ8zP%g((!cJJT4@8F*OhYlV-dg#cp zW5-XNI(_EM*|Vq5Up;&A+S!ZOuUxr$qNpFDl?^y$-QVDS9;ix)3mg1{>fcnt(^ zUcUi>w{PFRfB*i&hYz1Vefsj{%h#`8zkU10FbYOPfHonZ_>+YhWU>y30Obh=jxGj9 z4jGRP3l283GHb+~D0p~)!9>Yxj)(FAXDKG5ESZ1@4oAD0WI9R=9v*6Ak!N+{dHKMR zl}FY^$AdFLm4!>ptVN@75u5?#BR20ya;KC(goN;9V qqtnW!)kYaNB(j|}n>i$H<|I5^)XKF~L^CSn=7x7MEgZ~D4AuZjXTU80 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-bottom-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-bottom-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..408066bfba107a3da8a8198d63140e3114b9e303 GIT binary patch literal 1862 zcmZ?wbhEHbo_)FT$>vfkU)+}xaTc~$J`ZEJ6DFL-=v zuJ`tJcXwBOes%Zs_VxGoH!yR{`Rv&6@NkE)cHEgA8y_E^pzJ-*XXmD;r)L;v|Fc@K z`T6+;&fV`~7HoNWc}4JQz1#&`UtixKdSagM?rm>xZxVlT@9ggKruzq)x!E1|?D+Ut zWRiCLxtgZW&o3-?pW(N6*VorKmV4hgw|Dn<_6LW%mF4d**z@!Ai_5F^-!Itv`}+sQ a6Z8G|+cp3G@%gp-f&Kgc|7T=mum%8ZOq&J( literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..ad2113f3b3cf8d5dae45f7e0b4055d1e72cef99f GIT binary patch literal 1839 zcmZ?wbhEHbo_)FTj*a_P~R3lD(k)46+}j@nBcl$2A+jHsNj&tv}oqP9x6pV(zum}OgpDc_F3_=V#3_t+N6YZlpVpv4% zs3*t_0gnF+%p5Wv8x|aF<`CA3Ik92k;dTLKuQ?tY7ai@EFwVMjV&mfD{R+-qGM<~3 zoSdu?yej78rlqH+8zi5aWIx*cTa6yeSLkx;VxP4ZEJ3B&bYiP_Vl*3x3?EOJ~h{S`?|ZkD?Y!v zdwTo&`}-T1x#fIzY&4jI;k)E!h10`~v6hcRmZY zyu7?3c(q>af~~KwZ{R&K&v*B>x3@P5zPNXGcX`YG1I^s*4tsWde9SvZJO13Bou8lZ qFY=!6cenBD>l>T(Z=Bn^yPWmG;cg!J`3v^^{QTnbYJGVD25SJ(yNW3Q literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..f4380faf23f5ebca25bf6d15eca8704ff6923b86 GIT binary patch literal 1648 zcmZ?wbhEHbWMPnC`2L?^#-0}!?!23~@5QWrFK#^ha^uODV>dqBd-dbaiyzmXd^vaT z)0Q*u794mn@4$;W`(B*5_36Z&ck52PIdtvasXL!GoO-kE+`DJ*emr>f!qsJPH}w*x8h1HW)ZIHE>H<6htT- YP-J5iHj!D-@Q{I-gGcKG4+n!a06`!CZ~y=R literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2f5557f99b9fb4c1109af6c850123f1d4a6a7bed GIT binary patch literal 2015 zcmZ?wbhEHb(Q5zP`3Jetp(ju4!u`)~D^Bc2p|t?ai&pH<#slm#>T6 zS@HOl>+I?8<95_BGt2$iw&C{S(%(XEHQ(1iJklqrU3VwK;OWUp%Ff&7%>4Z9=zRU` zbv(1SWSn1SJ^h$W)Yq3+7e_A7^R3>NdvizfYqzv>;SVU|WJYyEIe6WmJ V#85$ysBcIM0gj&x%p5Wv z8x|aF<`CA3Ik92k;dTLKuQ?tY7ai@EFwVMjV&mfD{R+-qGM<~3oSdu?yej78rlqH+ z8zi5aWIx* zcTa6yeSLkx;VxP4ZEJ3B&bYiP_Vl*3x3?EOJ~h{S`?|ZkD?Y!vdwTo&`}-T1x#fIz zY&4jI+zM7i@lhegS)jobRqJFE20RUJ-Y8*Vg9i z8w9N+Z-0M>r-@tMucq JdN~0GYXF`kewhFO literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..8328b0535e6f82e0175f0ebac83d0dbf0dc16121 GIT binary patch literal 1667 zcmZ?wbhEHbWMPnC`2L?^#-0}!?!4P_=FOaaFCM-5aqhvlV>dp0`u69^n;&;x{J8h( z$Bidnww!r)=-Rt&=iZ&T^KRC@7uTMBo44=9iCdrM9e8o-&ZjRw{ycm4dmuvzyAIEcjDH!|D#|u1O`nADE?$& zWMEKZ&|v@qP@ZTX%@Knpaz-6803pDUz`)4C@?c@}K~@g&l!zGz8=RSimHak1Ts-8! zpyrh$5#Z3w#KI&Z5Ml7Zp@oOp%*3Ekp^;6PJId&Uz{7@?Ny0oi0R;=4m^mf*W*8iF ZU^>FgtkvV8@Th@_mtVs|LP~(a8UT$m{(=Ai literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..59d140b6328d2f0dd667b94c71361d7720d6220c GIT binary patch literal 1998 zcmZ?wbhEHbyZ7nHjSq*eeK-I_ zS3c~!^ls0kce^gU+i~vQwsY_PkAl$<7%m~8_>+Z^fkBW#hXDvcd7^zZM+}#^9rXt} zA;9sUfl+|N!GM90fr(qn#bU#QgDrfLS~WK&C>-q+Qg+%hW8&jut@8R=Yd9t?@#t5x zo_0hc=;_I+%8|=*Jd2n4&a_B=X@13{%qTD`*7)RA-9_E>mMHJlhm%e6JhZ5n9!Q-YpDAXAE(gCJ9eQbF1*c2*V!YXE>W!nOba literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..73a97fdfb20f3818f7a992d017e6f0bd5af3d978 GIT binary patch literal 1634 zcmZ?wbhEHbG+<_A`2L?^)v-5M9(}p==*xu%K=kR{y-#QEeL8aE!=Y;*4qW-L=fb;v zSKjTp^lsOMcRS9#`#%asLtuD?fZ|UUMg|6c1|0?<0Og7H(Ht?nVtCXyq=f*7Jp;dt z!-Ry!CN@3>5e)-}h6V-!Wv@9N8y6kzmN3q`b7JG-x%cVZy-!DOd^mLN z!+|Rw_FZ|m=hC}97vAl<@NUPscmGGhXb23K5K#Qd!pOiN$e_aj1fV?8KAIzjOWcn7 zgPaiH_|L$|A>*-O!NFz@VXc@G8x|gJ7f|+^7z|n~Xz%Lqh{Y!r?Ai?`>;tZqB&8D)#iYwYRqyJU%tod;7Y(yDL7wx_f&2 z`uqDEn7QSAb{NF23|X6W_0-kX506h!_MYdnbJNq)GmNwEo!M!eawK$p+TB}US3keJ zB6xM&*cmPD7&fWX8=fb;v zSKjTp^lsOMcRS9#`#%asLtuD?fZ|UUMg|6c1|0?<0Og7H(Ht?nVtCXyq=f*7Jp(g` zjK_ur2b(#BwPH?eSa`TyK-p`K$HqlRyCsaX?wr`T_;|m9bC-30dAIG{yBklwY&!F9-hmf$_Psc9>)Wv#AJ&|BGjHFE1qWVSd-Cnhvu}^y z{CM^0*M?JXZan+;;MI>$-~QZs_U+b-ZyQd$dGO}Pmv4W*{P^?l-@pH(U^D~yfq{uxgwIBUae+e%pFD$#!-@$D z8~7A>JeKSbXlUW#Fjsq{vCy$WSV@~nVd2B3rYW+9ITsEvsvTyQ_3+s6Qc#6;9xq4B x1&czJ!wiCaE;_3|wJ`Bn&n!FgQ<3RBpRwYHKMx)*-O!NFz@VXc@G8x|gJ7f|+^Y|grSYU}Fj>k|%l$$D>Fb8~aXcmPD74qW-L>%zM| zm)`BW^lrzwciYar`#%asLtuD?fZ|UUMg|6c1|0?<0Og7H(Ht?nVtCXyq=f*-F9vQ7 z8IKJM4mNWLOGTX6u<$UmfU?&dj|Gd4c1sv%t$DFv@$r5I#ts?JO-q_4YXq-~Ir-^H z({zL6Qz;Icmz|x>S@i18$>4_b^BtPmB)qn)xVYG3vR3S=Eh{fC4_NFq*K6yltE(e6 zXWc!ub@lc235UC6y|=BoxjEzVs@T)p*52M;@c7hR@9pdE?ymU!>h9_7>+kPxVCI(d z*|Fi_;SOQ#xHCI8K0ZD{*?XSP&P`8G&oIuucV_42=jRtVcgy+i+Vb-9is038XLoIV zeSJgn>3P1px4pf+qxki`v%9yyzki^aTi$Qaj*pK|OxBJ+w`b?)=NA@x&-dHA>+9dp$`ta-4i*GlceY^JT z+o?OB&fWWT=H90hAZ70kU3<6f+`Cyo#ZSI0IPhZ5z8CWjyf|^|)4CIHzI^-h=+%!q zKwVG1ow)Vw#*;6fzWurN?AxnPzaG8$@#M{q4X56G`SIu9zkmNn!Dt8!ju24%$->CM zpw6Jf00f{s(LS0Z21m?{x?*5LfFqHCk%J{*Q9>sRhp+Z^fkBW#hXDvcd7^zZM+}#^9rXt} zA;9sUfl-y@D&24wBwylm>pL%dnZ1pzX$Zh#|XZ3oQuZ!JU^zqu&>g%iSudlz% z)^=NbL*l`9&d;$n7Wt3&_H!%GTVrAL_(-3j^EI8FM$b=AF>b$Svukt4`K6AF<7#)A zW?ow#JG;-fdRy+*O@-I5)!yFp{`~%6_V&BdI|?5j@BAERXH)+9?)h%z`Ri<~K0i6P z(fPXGUaRk~uWW8#f8TE3?uz$M4=#?c-)CF-?fu=^{r>g)YQKK^c>Q|){aydx|6eMu zQ1h2DV?hJE(24s^%+IbrsN)ywc+kS-b|RsPFNtGen^4$^hpi%M5|7%H%QP0Xt2T8! z>Qdk4q13IvD1P$Y2cs(>ubE literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..ff78a2bab3834ee4e573d02245cfff88bfaf3815 GIT binary patch literal 1638 zcmZ?wbhEHbG-hUG`2L?^)v-4>o_)FT zB6idhWQG8TGlQf?z=i{k%p8IYG9Cd942_J;JS;OjHZD5aEn%E>=fuXv$NLqWyJS2! hEjc+^BY0KJ$xTa7Pd7+DHOF)Fva_=-{MlF-tO4)V4D|p2 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..bb487a5209f1fa0017fd7fc6a19da2a88ca94509 GIT binary patch literal 1669 zcmZ?wbhEHb^0w vsN&Pc#g}u!Vsat_BfHW!mIDV5Ffp1lo|q#sIXP&m;N)p3C#NJjFjxZsWVs75 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..14f4971fff9a4dff13ea935604fe1310a485bdc1 GIT binary patch literal 1841 zcmZ?wbhEHbG-l>t`2L?^#-0~9o_)FTdGzJN10ecz?%t;} z_dXrD@!`<54+pM%*mvdKo=flcTzI$Z!n+;k-u)j1qaiTFLqPE-3nK%A2!jp-5PT|n7uj>pDDN4q7Av+kVOxcGR# zf^(OQ=cXkmC#!R=h&j1w>FMbP$*1OcZeDhFwng!)J0~|UKR@50nM>Ad%ZiJOJtk|# zp4zhV@^XJkgNz3c7+E-l*)#$g4m30}vvRRWcyC*Cb92V!Rk5eHt-Zay;PI)s-rLvR z-Cgnd)!ozE*WcgYz|1Y@vtz@l}M- x&(6=!FD&++@3(i?*Vi{TXUBJL+Wr0ggTvi?^8Wkw{QUgl^6L2WbqNj()&NHFgyjGL literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..df72cd36f41beb9255d24ec9afd3706bc01358bf GIT binary patch literal 1639 zcmZ?wbhEHbG-hUG`2L?^)v-6H?tD6N>(j9tAI{wSbmh^POOL)>cmPD7&fWWT|X z*FGG$@?p<~cl)lq+jHsNt_$yWoO}0w6pV(zum}OgpDc_F3_=V#3_t+N6YZlpVpv4% zs3*t_0S*@iW)2yT4GRu7a|mn2oY=7NaJzuA*Bpt`2L?^#-10a?tD6N>(i=ZZ!SFe^ySB&3lF|rdGzJdqc3OfeL8pV z)3F;Lj@+Z^fkA{phXDvc zd7^zZM-1^O9d$lMA;9sUfssSTW5a@j%^bp7F()=GJlrmz>@~+@$PRY#l;?z zwPH_gS$TQ6KeNYNudS=Du8!E8b@$ZP)z{Z29PX0!-nQoE=8Vg$Voz^ddwYAq<5P3J zx39aqJC#)@;lP4MW_AH3ABhPLjEu}2d@=`4@7VbG_ylF|c|JQgJv}|cI6H04^!4!v znmDE1)>LeMd3ibSGJw!Xf;A+r44Z}Sfi4z&yG_nqCn{r&v|&D`>SF+bj%-{$%} zjA!f4&(AL`_MY#zch}d~H#TSAKUb@I>ivVm-GcJ|`}X|&{NnQJ`1AYr{%&MsWUvMR DRaJyH literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..810660c9a65e0928fba21330be6d47429ec4692a GIT binary patch literal 1842 zcmZ?wbhEHb(j9tAI{zTbmh^POOL)>cmPD7j@B9t_$z>U3$0Y(z_k!-fcVg?*Awl4S``10*XIb7#SFZ7<3qb0F)=%M{~rmh}cn2 zkQo9T{~5SBWIQ%3IM~b~EEREL!@|SN0?J-Q}pW2$>7HG^BtPiB)qn)xX9=+Su6I`7R?~WfW=;O zr53EZx;kQW*4d)u0un=>x2iaot;?d|Oak5A3@-oEbc?uyT^?w;Ph z{{H?3W^Os39UC4V?hw|FJF{csdord-CPbwRc<20MVOu zC*GX8^J(6`7uTMAJ9qEXxd-2FJp1G_377_Z-2i0`19}I zzyG6PGz5lD2q^w!VPs&CX3${(0#Kf4AI%X%C-z2NO8pSv2xMU7V41KmfsKiSQzoL~ zK!Yy*jQwR WdORjPa&4DnaN+SXd~vja!5RP_CIL|Z literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..38b27559f10179cc9754e9ea11f198c79b983b48 GIT binary patch literal 2019 zcmZ?wbhEHb(i=ZZ_eHO^ySB&E04Zhdi3SO10ecz?8b*9 zH$EJ?_Tc~!UHP!@(z`vE-tD^ZZrizcJI=lPKMF=eV2Fo+;!hSv1_luZ9R?r(<%#yu z95KYBbkzA2g#gEY21XGBhYJpj3{2coE*2XeI5x5?$yG!!G`g~gaAv4XC{%XkR8S3& zaVTOq%Auh=$H!B!$(ut&{zQ$##YSIt5y=-R4uy^9Sw%!SLIp}RTp2xB19%RY9JsX1 zf2LdMsSTQ;jbY2P)^bf<9kM>0JB4+(XmA zJ3K#rU&((iJ|7AFgu~5(;%cXNwxV%32cpUHSuQ}JZ6<@!n8(p4%Z%aKlzn_eG!Q;ad#nsR5DgAu=e64=D zpKMj>%Tt@(?f2PMet&uGaPoow>;77mf4+CIS$_S#JwHCbzkEENfBxT^@83ROzpo!( zU;ppRU-g6rmPhOh8kvM$zpN0*|UhpeMYZtDEFKE(@2@%@`z)}L}#T)l}?{+ zH=gwR|Jt!+a)?vp(kWhPl20c_tKED$C9JLU>GY_$lS^mDE#iDOBWs%GvzhtJB%jYJ U*krkUcGo_)FY zB6idhWQG8TD+8xW!h!_{o7nke92gcb9Aso>W#bSKSg`15w}f%lof8`uAMaOi?vnA` kwB+Pujo?)=CpRrUJ>4Mr)Ev*v%g)ZWD1PN5DZpS20Nvyd1poj5 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-right-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-right-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..7240859e13665d79a0482ddd43d8addadcda83d2 GIT binary patch literal 1640 zcmZ?wbhEHbG-YOF`2L?^)v-6H?tD6N>(h}NA1*xj^ySB&OAo$Wdi3SmlP^~ueK~jU z)1hl04qW+g?8b*Zm)`BT@NU zB6idhWQG8TD+4o!jK_ur2b(#BwPH?eSa`TyK-p`K$HqlRyCsaX?wr`T_;|m9bC-bz{t!l@IpsGfWaC77rY9# literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-top-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/panel-header/panel-header-default-top-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..df8ba358077bb37d84e98ed89c48e8bba76318d3 GIT binary patch literal 1863 zcmZ?wbhEHb(h}NAI{zT^ySB&YfrvhdGzJVlP{MZeYy1D z%Z(>rEU3vF^6pV(zP!0jbpDc_F45AD= z3_t+N6YZlpVkpPwsM{$G0gnF++#E6<8y++@a|mmh9N4h%aJzuAk&VN~MMt|OjDvg* zY+QW2pU0_7#&c4`$;leQt71-WQf-)SkbG*2!{%jYXA2j-x^vRF>HK_$W-i%RlbbFs z_LyuJacaxTVD^B;UURJ$th%~7VsqA7u7#_wuTNm@koDe{)37+Z^fkA{phXDvc zd7^zZM-1^O9d$lMA;96nz|J8fuwcQ#W)5K~8H)xcRt^RYl>`9>rlSlDJWL%A3>=zS nM7ZQ8EHF$y$id6yWg~E4A|cZ`pK5Vw1|r z$#Q{SAuA1+o}Q{7eQ1v6<}~+N=DB@6GdDl?n`2+vC6hHNJz%~|q>?U|$;!axzB9R| z?h1K%adp7*sIyUDHAC0L?`*m&wN2;d=D3S)p{q^T-rkyj`_NqN?Rnw5%HQ_&&ffk$ UZcqK!F4>%E`3d_On3x!>0UPc`5C8xG literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/progress/progress-default-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/progress/progress-default-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..a19c88cb1b39e521b2c8261d331698204565ea13 GIT binary patch literal 1837 zcmZ?wbhEHbdQ)6o0ZXGB5}-=r8~QC{MJH=7`}Ex1;_b zCj>bDGq7^Vcx-sk(99vMrE*}y!o%&XN?vn3E;bzPmN1sPabn|QcNPWbE}5ANmYkfd zA-W>wm|~3ak0l_wun<(Rt7T!EcTk~ zwRP3i)e)Ps?w;DZ`uh5W!(Fo8+t%FNoN;+o?CEW5Z*MPnd}^-u_H}o6SA2eT_w@Gl z_xCq2bIbYc*zoXhhp=|snH?J+AD^J?Jy@ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/blue-loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/blue-loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..3bbf639efae54ae59e83067121a5283ca34fc319 GIT binary patch literal 3236 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 JpNE6N8UT=&&-wrW literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/glass-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/glass-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..26fbbae3bc6d2510832a5ed709f0cb029c2c1170 GIT binary patch literal 873 zcmZ?wbhEHbWMpt*XlGzJe&g*4AiDYX)q+w@6G_xop)#NygPUI-MM=} z^!_{$-T!dm{)dbAKU@Mb9(=g)@WaK2A1*!oaQVT<%a1-@ehfsPt~~sB_0h*Gk3U^| z^yxZ~`{dJA5c+)e>E~-e^z6&^=U;C;`E>K?=UY!d-+uP_&hsxfUVOdx;_KT_KNv>A zXb8|f1QdU=0PXzGpaZfQlqVQC+!&%a1WaT)$|)>om2)9Mk%@&tK#^^Rgu{V`ZWgW# wlLCgu<17lIIuQpJG%~aEtN6@tSlD!$TihV!!H0*;9Rf;j6Erp|DKJJSK2bm`zya0vPFVPO+Hzo=EoiUW<# zt-R7&85aT+o!hu13_^AkENo)sW?~Im5RiDNg-b{!q(fjK6AOo^oXv^{2OL}3c(n`? z0um24adC-+cuZKp#Ka=XC$l2qfI}-2tCoO5K;nT0E+&=`4uJ(sK-Uz9X;c_IJk-Xo z?6;=E@bR%edFMWzN~5Qzrs*f2TT>bQ{@gtKWw+(i!R!IjKB)<%j$y1Z!Zof6-y9;DGq~5NJ}7gDVJu-S5NBXy HWUvMRItY+| literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/icon-error.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/icon-error.gif new file mode 100644 index 0000000000000000000000000000000000000000..397b655ab83e5362fdc7eb0d18cf361c6f86bd9d GIT binary patch literal 1669 zcmV;02738NNk%w1VITk?0QUd@0|NsJ0|X2J00{{R5ds1i7Z(~66B`>G9v&Vb001Kp z5h)oOFaQ8I0021w0Y3o&E-fxEFEBACCN(uSJUcx_0Rc|{08I)CQ~&^5003P90ZlnN zZ2HgaR#tRYR&iNbdS75? zU|?otXJ=+;Yin(FU|@V`YIb#ZeSCg?et>}h0EGYmiU0tO0055<5Rm`?kOl^o005Z) z0GmN+?~005%|1f>7~rUeD5005~41+4%8tpx?M0RglK2)Y6SybBAy92~17B(5YS zt0^g|FE6h$GP@!ovpPDDN=%4PP>)+%g=J@gYio~fZHaSpjd*yLX=#~kY?O0znsITT ze0->1U$sL+wn#|6N=l(?ZKHd8zjAWJ0s_Pf3(Ero%L)p|939OP64C(y(FzLN0RhLMcRH8%DjAoeXS{Ujv)EG+gtJ^wQ^{W?3v zNJh*-LCQ@{#8XqnUth>oR?f~+Utj)HQ~z6A@Lyo#VPouQYVB}x>v?Q{t%gd(L*0R{xyxG~vlatYag2Jb&>V$^kk(2*{ zf&Yw*|C5vdnwsaLq~@lni75b z|Ns8}{@~x^A^8LW00930EC2ui03ZM$000R70RIUbNDv$>R;N^%GKK1uH+KXhN+gI) zQmI(8v}vO?E0!usk6NLdNb;LSjN7_}3)gKMEm^BfQ9=}oWJFkzOv$3fZRN_A+GfF& z32BcxoBv$pj74i3x2G;S3XK)B)FeoEmXWL#snn`jv}gsDrLa^fQ>tQ`viiu;6mb&4 zIih50RjgR4R9RKTR}rL1lO$0B9ElMiAmt)9>blUBj4Y5687efWvLQo=T3ms|nUS42 zGT05w#%K~HN|L}(qt>OeA3m=K#Zlp_nV3Y10NJUdgV?}Dj3P~n6lR(~fAPA&<^wy< z3SY;ip*i$tjvF;7)cwO(hY@E;pU(dEJAMvK96x^EuyA(#I4D2W)wt>4TNE8YjvOf} zG)mrhfAgFX#~WKj)1E)1@X?1HY^b3I4=}g`${ckFf(Rmn_^}B+|J5T5Fy|aN${TUW z0S6mQFhRr!;UgPsq@e^7N-V$&6Kb%bq#Sa*Vdfi^>~mm0dsJzqm1!)YL=j6Upi2{A zuE7S7XQmMhKT=kc#-N0zk;D-~AfZ4mcqp-i8dkz#<`P*@Bc(t0{IW!$Ngy$V5I-1@ zizZxdisc(i!~o5u$IbJ_rv6JTkwg(c{D4CNyI4a65=m^j#u6#8*Ipi;`17AUTJ(BE z5kdIy0|yB7l8z8W9HFeL2U?Ou5|`ZbpQ}X_F@z60{NTU@$Nckz5JFhX#WM$9V(qqN zczc{Zzy$F_4?N^RzzK;Blf(}}6cGhE|5-BcwnvOnPkU1IumcV|U{F8}13B@74?zS0 z#dwzlam2`nic7|EPvkH$4mJotfiVMJGlaxG_)rEWKMWD>&Oe?)03;wIQ58SrAhy#rm+eCjRSRuH))@dW!7dZ& zW5o_u2R%03bq^haWeql1000EIv_ld+Sb#9`4TvW`^x8Ju-~j^zOmNFONd2>m2p`;_ zHs5>m&A|f!9AH8(f>-{JI5cc`2#jD0Go}*+k21NqFv0{8KoG$M PBfNl1GVhQS5C8x>^BLCH literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/icon-info.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/icon-info.gif new file mode 100644 index 0000000000000000000000000000000000000000..58281c3067b309779f5cf949a7196170c8ca97b9 GIT binary patch literal 1586 zcmV-22F>|LNk%w1VITk?0QUd@002Ay07w84PX`%A3LHrS9ajJYWB>?a019mY3w!_= zeheW`4kS_$BTNt{R2C>w87x&AE?6EhTN5*F88u@cHent&Zy_^VB{*RwJ!T<2Ybrfu zEanAeNJ0@02_k<8;bxSjRY)#049Cl8e5Y1_tY3bkWN(XQaEfVlk7;?7 zZF!SzdY5*8mt2auc!8LDgq&lBt7(C!V~et7k-lw{yKsuMageiql(2i8y-tSTQHA4U zhskM;!F86%bDF?tGlSHx~QzWsjj`Ou)c+z$A_QDf}_NMrOt$@%8RPR zi>%9lsM?CJ)Qqyzkfy4!pytE%CW@Nu*TlB$=|re)xF5pzRlaC#O0*M=&Huzs>kT8$>*ZV^`Xr3 zq{{ZD&GV%F^A_)Y{V6-P_#W#@Xx7+U3jK?!?;j!ruDO*W%II z<s1(&F;b=Ka&^{@UjA-Rbn(?f%pA|J?Ea z-}(RG-{a%sWQF}}=T6!l(LfBVqwLzTzdz--gr zA>~JRUspdjz=SD#uW#3T=*1z15PotP*O<}1TXI=rW8fk~GqY79KP}1YrcVGlvzs zDl$nW+ZJ<7GW-rh3M7OOB8UkZSwRrC?KL;(Q+JJH=Ywg3PC literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/icon-question.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/icon-question.gif new file mode 100644 index 0000000000000000000000000000000000000000..08abd82ae86c9457172c7a4fdbc527641cf28e48 GIT binary patch literal 1607 zcmV-N2Dtf0Nk%w1VITk?0QUd@02fyP7F_@vT>uhh032%o9CQF5e-A8e03mY#BzglW zcL_0l6g7B5MoUafO-xQwNKjc)QdCG)VMGais%VD1YKp&Yk+f=&xOI)E zaEiQim9}=7y?K_jd6&3+oV;3t&|-(kYnQ@tj>UPC!+4gSZh?S#&mcD?Rw3D8!n4hVIpuCNxypy7?lBc|sslAz{ zv!1E8nykH`pQ59qrl_Z?tE#T5tFf-Ly0EXZv$D0gx4OH!y?~j^f}_NSpv#4+%#5bO zjit(rsl|+~%!H%Tg{shuuF;CD-i))_m#xK;uF0IQ!Je+okgwa9u*sgY$DOs#l(p29 zwb+%o+nKY|oV(kBuJ?(u=#RDcm$&DYyyKX=;G(m`qqxkgwZo{l%AmW~pu5Wy1~n_!_~3H*|^2hyUEtQ&D)~F!=r_S`L&GoF&_N~(Sv&!PL&+@j??Yq$Bv(odm+WouL^Ss^uzv2JK z#>vRX%gf5m#L3db&e_e*)63J`)6&(_)!NwC+uGXR!PV)++V9BJ>B`#d#N777-1y4d z^3d1g(%a?H-|XGp;>6+p%jEve=>OE=@803%+~e!f;quVt`_t+E+2!%y==0m`{@(Hb z;NRop*MI`>g(&|>+<34{Oa!Wf0xe!3Pge_@yBbqQDAy z^yqLDY^(Y`Bgb#Yy&t*SHt<)MmubQE= zM_%4K|K!o54GAF7UTBq*Ob!?g0o7_ijR4L$#5Cl7WQu5*Y1Gi(Bmg6D)2&N<*T z_(l=0(9+Fy7{;fLf+vi?iGtvWSYtTY0MiN@9f&f^H7LmFMINyXBrZBDyqCps^d=g7F3EF65lHnZVrI>UYlglJe zU~oq>afkv8HsRE$YQu zh#-bkqRKD4cwz`3RWxA(1Qnd&3}YuvgUT2`;GhH*Q&3SwBCD*Dh!i~7&_D!W@DWW; z1F;hgDs>bA#0Ei30Z1pS2x5T)7=Y0SG)EyV5IfR9lMEkstO3X(t9(I08OcCnvDYWD z6Ol7qAd-p~6!7sjC){4MV~P`tbU^{7d>1~=99ZDpN7scTEv^xRGv0Vk((EBd#a;&l F06QAMRrde@ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/icon-warning.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/icon-warning.gif new file mode 100644 index 0000000000000000000000000000000000000000..27ff98b4f787f776e24227da0227bc781e3b11e8 GIT binary patch literal 1483 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 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/left-btn.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/left-btn.gif new file mode 100644 index 0000000000000000000000000000000000000000..a0ddd9ee8203b9fc45eb5ee78ae6bcb7e57aed7b GIT binary patch literal 870 zcmZ?wbhEHbSKV^zd-BO3vC604f{{R1d4Yk$n}L-sZYVSj)zmI o(Q}fL|Dq=uMNdw3X~iE>$=vYlK$lteqcf2P3=A_Zn3))?0bn93t^fc4 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/loading-balls.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/loading-balls.gif new file mode 100644 index 0000000000000000000000000000000000000000..9ce214beb5cd4db00666778d371223c605874519 GIT binary patch literal 2118 zcmbW22~ZPf7=}Y29Kir0FmlXvp;AJNF@T|n3=l~OQNReX(lJsJSV$lTCK1p9Cy_(M zQm|OSsz3m3sz4Eyf*^8<#%d)Dpydoi0>~kDK!ll=ZaA%FI-`5dzq{YQ`#%5s?JSAx z1lbx&?h&&9gFi*>!1pzUs7{@wn9`hLm1fx>(Jl7@kz#sNtqbnGu~ zQe16TTxnMP)H3+<{h@2EL)RY+mC2N450&LIW#wqY$lA~nbxPa!&C zu$mg`OY>TK<}eSK12l%IF?DpG!V-0@d@BkYlXMMpg0lep88I%nH28pK5h2~o?kkh6 z2b2xQChiFj0eW(#g;VTwwMJ5_?EDvp>#4GK+r2+JC89@-_OzrTH4{qP8k0!hnWK}9 zap_c+yqJ92gY!};(l)Zfx*I7zMHm#j&@PQG;7HGJgfynxUXLv`)H1{Pg;t0}hNdo2 zEzCw6`;fZ{f2sO<=B5-4@O@rsqC&BzvE4Uy6nRmKzwG>WQa)|oDe}n~loonAD-5{> z?UL_)*}^8e6BlB4$-lNLQ?wCd`#X$Xp*I-B46&`*HeU)u(UfY42oW;RS(7rB(NZ(l zVXa9y3Fg@)|wdEu-^Mr$bM<2lcshb1_0+qU%7*YY5d4R}04b5q{6gDK#lN_Yz+3 zA)Yn+Y!&vbrDwhDx#Nq+`TkLUbU3j!TN`d7b-gn)W>MmQ_}fG`$z)HJCVV5zccWav z)VK6731;9=Y1sl!Lg@h;g8AmhLs23E}Fg8bsA}jW84be zJj3a&!EX+(#)=!^aPHuvE0%9D^z0oWQl`8qV(5Oxp*_o)rkOg&mhP%-u(0XS@f3?_`nfh@f|7!XJ# zk%OqjKq3JM^2G-d4?(;7)p&sbDCoC_x zFgMyk0aQ)fOAm{tLDLuoh6x2UK0R(bi$jkD1vEB~9?s%M(#YylM@%FuVp#;fssZ~@ e5vO$#&5sswUKi2&Xpx=kB8ZO`!7YivcK-uGv{KRl literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/right-btn.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/right-btn.gif new file mode 100644 index 0000000000000000000000000000000000000000..dee63e2113fcca680699455e8a56ee3eecc81c40 GIT binary patch literal 871 zcmZ?wbhEHbSKV^zd-BO3vC604f{{R1d4Yk$hk=zr!efJiBO@aVPsE804;fk*WxQe}6c#pgOBlzkIk8cxsZYUC>4${T q6OT!%mh)U@eo8sjryPH%CUe8H16^j>kIqCIFfh!NVPs)pum%9ETq}wI literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/shadow-c.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/shadow-c.png new file mode 100644 index 0000000000000000000000000000000000000000..d435f80aeaf38aa37a2afbea4363d7cf8706205b GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1G5}q!OAr-fhQW6q2Bsehp@I)}QHZd@=F-Y_=I0esbe+N{< N;OXk;vd$@?2>@aO9`*nL literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/shadow-lr.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/shadow-lr.png new file mode 100644 index 0000000000000000000000000000000000000000..bb88b6f2be887650f28b16726e470c09459b9c86 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CG!3HG1zpHNqQj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>JiZnf4978H@C8Z=JJZMPDQ+U>TNx_ce55uGN4u2%Q{wE|U g2=cJ=GBC0+@aVFNEX<$33#f^~)78&qol`;+0F-4Xf&c&j literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/shadow.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..75c0eba3e101e3f32cef8bde7bae7383d849e935 GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^Y(Q+l0V0jwbN>KRk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XZhE>nhE&`-GTD~D$v~hjI>0gT@Uw(Rj}ARr(#+ZY|Nr|R ztz576{))TQsGN9FjsN;R=N;cX_7>}LNxZmoT3OARN%FUXp-|AVh0k3k3m;=qQcOOgc@EIAyfV(r;i((zEeg z`}y44S?ng!NoE&wcK=*_2F$s1%jHel(|yj_4>tF9g$FFYCZ&0@DQ;=K_|9xe0dH@S zX*Z%4Z8@@VyGFIRewDnzd#yOua)FIqa}4Vg?=kT(Xhpeh(=cjy2J|F@r>mdKI;Vst E09T24*8l(j literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/warning.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/shared/warning.gif new file mode 100644 index 0000000000000000000000000000000000000000..806d4bc09385a98ef1ac19d25e30a21310964e7e GIT binary patch literal 960 zcmZ?wbhEHb6krfwXlDR{f&hVn2muENhm@owhyM-@5dsqm1SVuCOej#8P@%A(LSO-q zY!KMcp>SY^z=a6{7Zxa7SYhyB1;c|43=ehyk-&!?1`l=wJUAfm;Do@30|Fm_AFI_r#;p+LTS5IEMaRKbDQDQU%2#0{;PZnkd237_gkWx^dVBna` zz|A4!v0=eMCPx*A6NM8NOc1gSve|KQ1H(iiYYu@O7ZQ#gR8*}I_~Dqq(8*@R^@`(W z@)HIIWfz?e!wVeVa#HbKFBUvx;Axbo`SPIg5jz8ey-mRe1I2~|N`gTPEE1a-8hE@l zIU)=NI+%skoc{dSsL0&PpvCnl!Qs*I)AH$&GFuihv|L@Lt98xe!$KzpaZ%Pw4hauj N9~|!BW@BNn1^{&szCZu~ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/e-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/e-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..b5486c1a95bcc0f39a88c15c10c04ef7c3c561dd GIT binary patch literal 1062 zcmZ?wbhEHb#gW zSa7hJLs%>3#D;~3+Xa-p=6GyebhKN-IP1=djf;=>D>!$_cy3y9a}Xwye0g*kiI*?5Qm)FE0;R>^0YG>#D1(BQ|H< zJ+*c9_4NsdyJWq$t+}~5+bHZ`26bb>Fw+9?{8q{mh;)M z;o;#9VePmxJJK5%IOMqVHRPj^sIT3W`5a^n+Y$P=Sr`RJG*P^>+2hm zPtWt+z3uJo9mTKjo!!0t{rv;Y-12^Vc6@w%VzPGpxjj2SKfkcpd%oY^U0+|{*qnX; T+}_>a-#<9q&HP*pKCAv-hK1$|Ns9CqhK@yMn(uI{$v4q z^gn|R$h)9C!NBpKfm=XAL80MbGZUwri^YZqhZs0z^?H5?BpvP&kx!db5t!`W$7S2b zqB-%Q$7EIBJeSUo%H9(-b?1e=ob=3RreXN4Gm*mSr)OK$9{O`qIOF^RkA5xFQ(IO9 zFA8Y)Qk9(g>dN%6%}IB6ZPp537_~c2R9fuK^(DT0C)w`)@-kv`_TxiyyRYTm+?Dlm z+u82#x%YQh|7ByF6IPITsO+X(*qn%W@yBY|oz3n@jiJwDpWpD!D2@#*RM zbouaqd#t{`KC@K){5zTIFYoRwZ~uS)Uu;d~r?Y35yRVo1RrUSt+WvO_e>SyWKknT> zJ%9fHy1zfqK96ts%NTLLo=K|Xej|%gL_(8*oyNju5wi@%W(mC&iq(=uJ08}`wQ)S^ zU@r4m)TA`+$HFenMHNXcqO(ps>K2aMv8dblS;yl(gIhO}`i(wCBu{X-7xARuS!$-r zBtxy6DwFLl{a7+3@KuG%R2RL@rISOsESFA=YWlf!dTg9#+RVgBGoQ{#TXpj3tc*=F z(`J{P%UnLE;@C>{IW_xUs!yq9`t^KTlbF|wh3RZvD`vN;S*=*yYqTq4ZlxC2%O&OS zey&(Dz3kM>?LPQFywyoHAYVDT0ajVyEf83S5 zYUk}~v)}G~z3g<}j<=J3>+SdwC9S{f)2`L|`~Ez7{eCaQVeNvw_itHmILNZPy5Jy> z_M8uUINa|T91(v1`~4w4?>U7>|FZqra8xea=i@Pz{v4wd67%mAp3VHu<2 zhTV5Ioz;IFV|>wdeI5}aFh%{jYv+pP@iy=AuwcHjMWHRrml`Q7q*+i$mvZu8$Qzn3`O RcKf}i-@V(HGcqz*0{{svxFG-l literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/ne-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/ne-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..04e5ecf7d3837aec9510f5467282c10f158a5563 GIT binary patch literal 839 zcmZ?wbhEHb+Yh5$94ZWq95Nmo l794Em;N}uwNKib;z{ui|Vj-Z!(9Iz$HK#)0@qq>gYXJ2^5-b1! literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/ne-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/ne-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..09405c7ac7b321b3eb9170b1584167448819a071 GIT binary patch literal 854 zcmZ?wbhEHbc63}qqP#3eHjE2L+1SS?XB|ZfS0S0RTeD^Ni literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/nw-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/nw-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e49d6967c08db2c02a3aeb9c1f3cacb9c8665f6 GIT binary patch literal 839 zcmZ?wbhEHb+Yh5$94ZWq95Nmo l794Em5abeINJw;KWMp#S2{2G%=w_Cco6{kn+|a;a4FKuB5a0j+ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/nw-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/nw-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..2fcea8a9285dc74626ba9374055b25ab77e53a08 GIT binary patch literal 853 zcmZ?wbhEHb#gW zSa7hJLs%>3#D;~3+Xa-p=6GyebhKN-IP1=djf;=>D>!$_cy3y9a}Xwye0g*kiI*?5UEB1_q}2ZmnDnS(jHwY|grS zYU}Fj>k|%l$$D>Fb8~aX+fl6@9wVn{Oa!M?d$LFZ(!z@^VzW> zaVFC%HL)EM4v!B{Q1+hZvvbqa(=&{-@15DX`T6+;&fRjpySBW%ydrpY+}T}QUtiyl ze0rYm?rm>x?*pKCAv-hK1$|Ns9CqhK@yMn(uI{$v4q z^gn|R$h)9C!NBpKfty3dW5a@j%^bp7F()=GJlrmz>@~+@*_y+_d!cbc5tmb38XMJ3HH=_|=`0o0p%T&eFss>$PRY#l;?zwPH_g zS$TPRz+$htURzgPT^+GG>+Y$otFNz5INT-cy=~3S%^8FMbi#@YAI?A-kP`~v50 zIp1AdUS3`iygKgeuC1@HZ%95pZ|#k>jf~q0nRm>cz3u(|1I^s>etUL&e0*ZEcKo?L zJ3n7!TI4<7Z||eAWv;!(H3F^$JPCf70^_gXw#@wm_C+l$Bj4s4oFCb)=Y zKAGsDw(`j&AG4QFCI`4_KAjR0micsQMB2)y(_+eAKAoP>rul3}%CyX9Gc%U0d^Rg* z+skLO3yx_%pHp%z^ZDG0XDgr2tNHfw`TPbptrrVg#Ijy2>`+_vVo{ITs~3wWxM{sy zG9@hQ<LuU0IXmi21oie;-_ty;6~)vMJTjxl$oIxtuR03tF% AKmY&$ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/se-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/se-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..c4c1087868afab5b5bfd329f52d9907eb1c0061a GIT binary patch literal 838 zcmZ?wbhEHb+YZ5$9Lfxg96SOJ k3mltSSY>Q9925^Vv52er?AV~l(9La}b>~E3vIB!P0N;ZWjQ{`u literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/se-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/se-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..972055e7b297a702ab9aa2d799d133b94ac92315 GIT binary patch literal 853 zcmZ?wbhEHb{~M&wt%~@%zrJ-wdN* zGz5lq2q^w!0s8MhgAT}-pgh6AVaveCA>$E{(A3N!$mMciL!xsdyOP%wjSCG&yTw_> nZk(97*nvsGxlP1k!4l8OOsp$nb_OLhOgBgro5QJ~z+epkjJq?f literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/sw-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/sw-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..77224b0c06f1666685286c5322fb02b4cd2204bc GIT binary patch literal 839 zcmZ?wbhEHb+Yh5$94ZWq93m15 l2M#ndammSOI2<_C%q421Gvk7Sb33nm)}0d@l^YrutN|0L6o3E# literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/sw-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/sizer/sw-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..3ca0ed96df2059fe283c1d65fa1032a777e1ff97 GIT binary patch literal 855 zcmZ?wbhEHb_F_q!3HE}A3wtbq*&4&eH|GXHuiJ>Nn~YUV3x~t zb`J1#c2)=|%1_J8No8QDU~CP!pM5z%pKTcrzf+GR}4O9?JiK}KQU6w@P04YHl8Q~ZV%Q(n$q`&^(mcb25z#hR{r@|Lv)J@e{@B!Rx#qQchktv&e=X{IS~=;%>n(D`^nj5%7>4X2ih}xI5qXjq-Z>t=){vaEBVN(A3kD|N?uDYWtN0gZnC&$tucAp zTN(F?lkt2z;>5m2Z`$$g!S8u@Rj>E$5p6xXeesRJw_6)u?%E_gOS--^ap~f`hvqw< z&X&$y&CL<`uj}bXkGRxR{!M|`OU<552%i3@l>5BVly|CSLJ>T>)_jQjp_Rks-zt7+ z`u-~?&fQxpc)Fob$8Pn!;Iqfxs9y59^g3n7{;sc1$0UAEFm#TZyHCY;PM77UTLIka zY~@X_pFN7vzs^2y_nFv-zjku0)hkl&J0$+qwMOy7KI46M@!Rt|5|`iJcRA(tV#BD{ zyDv}NwP<72l>Xc5-)#F<2}^F;xNl=!7>D+jMafxSn@ju|m{oKArhjIg{9dqyyQX8E zZfF1Mr0@y;+FbcFdE%z?c&_)jskgzp|1I;j;A^qZGUJOaKWi1dl>U48wVrt>Tb$&9 zi^Y243ye#jaBirH(|Ij=Ti#~g_J)bpx0Bb}<|gjywhLQ*yF@Qqj&V2t>Z|k5uey5o z`ICC?ip77}Rw{E{JG3y~2$*v?3p^r=85sBufiR<}hF1dv17mS!NJL45ua8x7ey(0( zN`6wRUPW#JP<3jaZfGzAgH44Mke{1clBiITo0C^;Rbi_HR%QicgM{^!6u?SKvTcyou+33T=(vHhlRkj=$%I7^@978MwlmGnxZ_liE zpv9X>#cqpAWSD+z%jLy7L9^H__MTEYdAcoFC|_ZN&Hq2#%l)Rwzn}MbN{Wo)#wPP0 zZ4*_vHI{vUck}E2yQjq^CZ4OP_lS6FaGZUql0(;0MW@O z{~_qa=l>9N{q=tcy7uQk1U>!vAC5l%`_I6@pqH4FS4l#`mm0ptP!BO`=nfYDGc zgC3A!#9+c;#&BU%hyX}7U<-u4uocSR4(0EF(274+9@xY{TI+E|xQA&vBjfJ{=sA$#UVM0!whb#JzhgH*aM! z$V&*l5PEo%CG6hQmoHvlWV!!dp6ln&&nLg$d-3$kTj6m1xlIjBKY5iCJ}B&KVUbq4 zvV4R1;ffEBLXSLsA8lDJVRq~l$EA5ELQXf-CaUorF-kY^-=pu=`*F^>IX5>s$;rK%mHE!r zP$h3lZ zsu&tSJM$EgWSu@k&1X2N$vNfP1r2#P<>bx>9-HY>X?dzQ`iE=Wlw;RNCAE=}lB(Zo z<6gMZclprm#8~&$>T1JWM}M<~-Ml+E|D-6_*cxWgU-Z?i6ust)nk;MoNq#u7uv;l^ zc%Sp4FTSFge0_U;M2mWF(hez^x65SwD7r47cs}l{u%vZ=dWdj%&y6Bm@aZmsp732n z`nJSRY5d(iFV7q)Zw^u^L<>z!SwVOYYiDTWE^70(u!`A86P*2iZai9?pV48-{yUCV9Ec?o@;sUjk=1>cAm88uY+&dR!6>c{!;b@zv}ZnqTHCISIq3j zrmRZR!4J?JEO}MEgUxOYRO$OSzfMm1HjkLN%MA;yI5!rveWW!)Se@qKRd$^E(bb#N7V}{^+|z`)6% z1Cj)p!NB5da8lFJaRtYz>P<7A^-dCCk$%}2xhiPQk07@MnHN0qYweEe$zBM5c(TSh gNhp)&+_Xb#AC*;S@t8j6{w%jXPw*+ z6yhxKh%9Dc;5!7ujG`J|4M0JbbVpxD28NCO+UBR8*c(lVeoYIb6Mw<&;$UDTwkjI literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/slider/slider-v-thumb.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/slider/slider-v-thumb.gif new file mode 100644 index 0000000000000000000000000000000000000000..58afe96aae0b9c6401d8c9991922d2cec6a86171 GIT binary patch literal 533 zcmZ?wbh9u|)Me0OxXQp#xA{%uvfIm#z6GKsSN;Lfo~!S6T>lS6FaGZUql0(;0MW@O z{~_qa=l>9N{q=tcy7uQk1U>!vAC5l%`_DjQp!k!8k%2*hK?h_H$WIJx{~abcI_OBT zvP~#DnPWBobmG!aEBwrF@C%)KtH(M!^Q+<7l&$x^2!9CZ2??R|XC)#}obq9jK70Pcr2=`DtKQdd z-a4Cp|AE4zb6i}vFTZ$sh1sl literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/slider/slider-v-thumb.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/slider/slider-v-thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..7b3d7258ada4c81c6fc060bd5eea69524f0ddd65 GIT binary patch literal 883 zcmWkrX-ty`0R50E#}rYbBu=wW5C%9+p|mz^KUyf-HiDg2qsADUdFzy5J(6V!F6ux{ zaM+2OO$`xO3Uq)R3W!vwP+G1+0l{9h^wh2t1P1Ecw;%7wOWvRN3Pjo4mW8hgCkSGh zfX~}W=_U$Ep}`bKs$wE3`9_+#SDKM~L?S(L_6#XL@#7IfeEd9_vW3i&r8Rg-rR1}uO-*=86B3}KEpj8RNJSwCe z<7ROQqPp;lkCMd%5%jZYyEu~r&Z91X zf9j@W8dR9k4|L3<$&YFmJnu7Kt{FYwd>r5Rl|w2Y#50Oj3~YoXAgst?bG&}PJ#5B*LU z{dhi%PAi5yumtc_57k?YzK3lZCO;fAuuj1>3uQ0r2GKeOg9r8x@cfIq0W`lshXs93 zIA`IVN8>P>-au=Idk*gx@Nx_tR`fbB@($(zCT8GUfYt`J8SN(MT~J+7{6rlSB;A?4 zi{Lm$j#55Vz~hQ9js9@RB1tFCELoIyqu@p3lls?9n^{Tg3m@givo8E|x9G0ECUCv$ zW>S2Nc)=b`i+*yoGx z#+_e9u4`NQ<+fT+t3SUpVSIPU;$N@*R&qb?%B_=I<2M+#S1hId9!oIRt6i-(mIr+o zmUzJ$m2>{w#i(h~Zhb8&|6|8ij!3;n-D6VqYdY^0h8ofXcZ&8bNx3$};+3(67|G0C z237+ptgBK!Xd(M@Vq?UoRC)CgD-;F^C*wA|I6wb-VmZG|v7&PSfrH%d3oaQ}7UiZq zmftCgdwjomxq$gFHJCdQ+PZ_EoJLm54s(eZpwg8szLd;) zE0(OwSuK=zMkpZnzJ-dQ@B9A;j_J8?dE4Z1e}l&z!+950Oxai+vHr#zW~Uid3uD?V z-gL}3ne^_vwA*a<^i8+4KWsbx%;CTpe_^49MxYf>(V^3$$dK68QT0^6kZh;!-ur(qY<@lj!Smw@%R%QGe< zyH8^BbxU&T^k3>Sjak2o<%i&sqci1lw-uihNVA#8R;x8dGw6l&0^#f?mswg8szLd;) z8j5RkUaxzly*VrSe#N~N0q_4ic=)<+`Pg(~Uf01KtNA_2Mjj0g>(9PQKK-^zK2&Gh zD~;L88Jn$mM0*so*sCV=g$w_vVPd%O{A5u^1|wr>T6tY{O=m+>b4wdvM_0|%+Nw}) zZo!thb2DafPoB19hQO>j^X4sBBv83zYTeA)tL6(X3}xH3n{DczU7Pz>wr<}cuzy$0 z3ARu!u0s<9&t2Ymg6Z@b0gl_Zi!<)rxq9P7=!3iWpK*k;zIprZJ?qn#pKrhZ@cqrF zFE79S_z=p@#3keL!NI=%9fMem#0P~#H3AYwB|icdx-^LhM(xosSiHYihS#a$2cL?2 z{|_I}IG0NQr7qL{E496`n3Q5YT{!zzk9zU46LSS>&8}n$KX;m;T7AxCRzRl5GV{6f jRJ<-_IIeJPO?s;NMLl4(#LBQKyMorZZ4z>3V6X-NW`ERP literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab-bar/tab-bar-default-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab-bar/tab-bar-default-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..5b01cf9064c88bcc2c6e0402adac913b8dcee7c0 GIT binary patch literal 1829 zcmZ?wbhEHb*+@ zp|P1mSS#klhlIv<0cEc_9vc@OWtK3`x^rTqvKzC4bC-$P>&)zuN3v+kbS zy88P1gu`93-rLsP+?;WFRqW|)Yj1BaczkNE_x5#ncUOFVb@%l4_4oHTFmucK?AY+| zaEGvV+?gF4A0MBf>^;wC=ccEpXBcPSJF|21^YaUwyXAa$ZFzZlMeyplv%9vwzP=&( z^gQ3)+uq*ZQT+Pe+1=aU-#^gIE$_Ey$H&JfCTqu^+q3iY^9zf;=lkv5_4W0Q&Dr^w z=R{${@qPtoHVMy7OHNMK2woL)a?{e&(+!eO&GFp4?Cfld;#YT0ZeD(VzC$yYtk;$m z7Z-a>)`~r~W##4N0gJundTm{Gb#=t%th=YSuD-rL;c%C%_qH`RH)mX46?=Ny+S}U; z9-o@)y?x!?-4&l--95d1{r&w7%-nK5J2pH#+##$TcV@@N$Hylqd(ZRPx#{WY8OGW7 x&g|U${QLsvZaLpwTV7sX5xhF??5?e^uWv{`JuSLv*+2qEAOW4c(Uc(hiSW>%-Zwp-@kwVN5N+|z#zh)!vF-J zJkdUyBZhdCjyj*B5a4iOVCInV*pSe`#38J-=D-G~hIR%HrWFbWNv>UN%oZX$0+k!s nMFor;3>Gr5a&l+|ELf0m@DK;9nnFSVqa!mHzrq?G4hCxgZK44< literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-active-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-active-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..5110be98b6cefc2bca336b010e866b434a88a0cf GIT binary patch literal 1982 zcmZ?wbhEHb*wP3_t+N6YZlpVgy9{s26dD0LOm@MimK%0tY4rCT=MgiwzGBw(v=6)!dk% zaI{lM*=fs+iI0!9GVyoVI9zP-WESCGq2plKaGF6k{#c2nu-f72W~`6aocz4ZXTC|} zGoKB?8UAzaC$fcFZPB>A*k!U?tku?)A;J3m_Zxn(o`|per^vCOiAn6lgGLrLiHA+XW*Q5d zMV&exwuzT{D7MR2Wh8c}^kpn+Q(6?Us7qby#iM5ZGzsMn-9s6Rd(1DLc+_XS?8f6R y`)eJKCs?taOzyK&;#@MxN$lj4i7slAPbUSNX)c`{>eTskT6mdfY9b>egEatH%*9~< literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..5e2b3bfc07fb548146a8594491678b81d1d566da GIT binary patch literal 1789 zcmZ?wbhEHb#tCpIoV-oxnBCF3d7aB{Ln@T!=To0guQZjgLxj_2lOXJ=a!zq)gB^YZia9h$jh zy|%2lxY%Q|R_v)QD=#k(SnM^|YwN13t0OjN-95E+_4V}$hr49Gx2?IkIpgxG*wfqA z-ripD_|#nQ?d$IDuK4`w?&vEkw24q@%MGdnguK0ZO&d!EnEO;1nH zFwVYrX6NST=NCA4%lYow^78VE;MH+wcWr%reM9o;dA_^1y}iAo`1QTBySL}>Vq|2n F1^}9Ycgp|( literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..5cae8ae41d59cddbd6ae2cc4b7b09e4266b31f37 GIT binary patch literal 1648 zcmZ?wbhEHbWMPnC`2L@vXVar6Z+^_!^J3bLCr{q}xbfoGnqzP7z4>$N$**Vceoff+ zID^Gs>`}gn9zkeUT{rNu% zMnhmog@EEu7DfgJDFz(|AOPiw_R$CX!w`tax3hd=*E!DtAKm=I9>$->CMz{a4% z00f{s(LS0ZMoi?7dK60ta6D#U<&g2%u;5@bhp<-6jDm*4?E=bPb6!knINB{?oOLH- zW5e-&1!p!1&rM5CPSyxs6_Y8{aC*8y@~JtVo0pxPZBhK{&dJTo&(C*g=92Z=vf|=m zkI7oGr?#xTygXpB*IciytFEq&*qn9u)YjG4*C!nAlJ(xU=H}*%%d28fZ(DnNd%@#V zbG^5(ySuyM^Q*h3x39myzk!)s&S%Glhle|awd2n0*!cMP1ZD4eK07x(Jw3xX``($I zo1dRw;M^_eyKBqK%PWFc$DQ4^_4V})$*1S}?%wwH_KxD$_s;I#{{H@fW^Q@EJv%-g JWn^Tq1^`N7el`FA literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..396aad7828d3e66c0b69102f5901a40c5ed6d5aa GIT binary patch literal 1648 zcmZ?wbhEHbWMPnC`2L?^#-0~X-u>Eh<-@K^@7{g+_2}Kd2XB78`t;|_y)XN&eAsv8 z-J>_Z?!5VN>dvPJuYO&4@a4dj50BpcI``nqoo7EjeEIY5-@k7^{(SlI=l>`e4S^vT z0*XIb7#Vz(Iz2BJ^{@IP7SOa8W9`~j7*JO5(YLN8x$N`Sr~N$90D30n0Pql Kj_`0WSOWmcj|c() literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..f5e887f180fbfd32548fd932bfbab9749c528eb8 GIT binary patch literal 1984 zcmZ?wbhEHbRZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gnF+j4BEa6C9Wrn7E}}EH*qi*up2NRWoBj z!%-#?{iKwP1&bNG0(vw*r=FQ@M^z}PJ5+7Ux%y@-QD%n%j|W;=G5(rVpnf_ zdwp}>;bpbf;d;@#%HJMadP+Peen-XkU$Q(A`40}a3IAWa+af>tV5_|Hv^6sfl27*; zI`5N-{G4)rs&)4>AFIz9mzSC^j$6Cy>+{R&oR`Misn`6LgmSA*(+%Yw zi+3*`PjGl8@noW#+Rx-(?`JobOmMa9Tr$N==;V^Aeo359rv_$OE}b4KCMLjO4FE&q B&Jq9s literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..bd751fdce155cde6dce6f395271df759ed89f18f GIT binary patch literal 1791 zcmZ?wbhEHbEE*t|DJsK_vqcf2XFrU9|fZ!Ffu|w@h1x- z0|PsQ4g(N?@eeyYuSbhEwl8ef#&~!>?!Wem!~j zYtptSx1Ri(vg65)3-5MZ_^{>7ha1oSTzmHG-@kviUI5XbJFk9y`tk4oC>RZaAs7OR zKUo+VfLTF@0SG{OqJ1<+48dp|bu!gLfWw1Goe51&%p80o2MibvvhYaAm;_iPK5JzWP*agO@QLwE1A{dH DrUe8F literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-bottom-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..3864ac96fb1400ba5e93d2e7d04fd44546a66551 GIT binary patch literal 1985 zcmZ?wbhEHbWpTA`nma5 z*=&0)rz~fh@7nlHWY?68;Kd&EwQNsKSrxoGV71#(tJ2lsYZKPjiAtMk-`t#bxlDJr zSZ?%I&&OUdj0>s^}pXRzL?kW<869EJ{dKz~a-owm%F`1n{W6L*J>!^eh`%&PuDA_syPjsmmJo*ql#G~by#$&W-rmotWeQkZ%-Zs|m(ls|XW$c_3 zT0Jc{YDvN3V|T5>-$d`Mc=>GW>uvdWx7Ocg+qZhV!Tp1E-G3Iw@zd7qEPi%=nr%Bp$ z_48`0o_tt*{JvfMpX#4KUOwOceqa6Hum87-KdAjBdg6Y=zqjlQnwX3{9yIc)WjtsS zHj8-JEaFtLutlnD#=~~8DhZ_yiN1`aPK_duMP2HfW+*ioxJf*2Gw%AasK?^cjK#fr z-y$A&*>970(rYDl^6><_cN|M5IT?9AndqmM`D9YCS>)5nAx@P`r$m*_d^$Z$PE>%w F8UPA-&fow5 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-close.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-close.gif new file mode 100644 index 0000000000000000000000000000000000000000..e699878484183bf770efe1e9376a6d0d36b5f1fa GIT binary patch literal 896 zcmZ?wbhEHbJ?|=UP{`(&Y7)HTp2n_uYQ2fcl%)r3Npab#>C{HkO#4<3m zSU7BWz}U#Fsu82{@Bt$ykATIDjt0lW%z^?U8V?ebn>bh$O%xm^r7&}_$QvXWEO>f~ vokdbbz+rM46PqC~1H*!Z<&1OKC3FlnEYJv?!yK*^TN$w6U=tHF6N5DXg62z6 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-active-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-active-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..aee1957beb2f8c0a27cb9458d2de065d1bed035e GIT binary patch literal 1775 zcmZ?wbhEHb))3j|2};C^Xk)||D#|u1V&5)`~r~W##4N0gJundTm{Gb#=t%th=YSuD-rL;c%C%_qH`RH)mX46?=Ny+S}U; z9-o@)y?x!?-4&l--95d1{r&w7%-nK5J2pH#+##$TcV@@N$Hylqd(ZRPx#{WY8OGW7 m&g|U${QLsvZaLpwTV7sX5xhF??5?e^uWv{`Eha6%U=09$-*4{# literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-active-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-active-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..e4ee0d9a89c9d2284e0f338974268eed6f881110 GIT binary patch literal 1640 zcmZ?wbhEHbWMPnC`2L@vXVas5Z~k0)^XJBkUoSrW`t|4Ek6-_uef#t7%ddBze!cnh zYtptSo6fwOvg65tYwz}4dN*U&lUaM7{rmUt|0oy@fuSD)ia%Kx85o2abQpjDlqcFp zbHvb()lnai9|9b%42&Es4ht1pnK*=%cn)k>c(|QW%_m_)0uu|1h@8TNfCUE+GI2|I mENM_U)WRerV&UMikkPSCpZN&OhY3t)8O$V~wMYsuSOWm?6$e=W literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-active-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-active-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..0aa990b9a0ca4e6cbdcd0614e3fa20702cd6eb1d GIT binary patch literal 1962 zcmZ?wbhEHb*wP3_t+N6YZlpVgy9{s26dD0LOm@Mim8z2@XsQOx#i~GY&L3GqbbG&8SdF zVq%nFjo>+8c;Hx{yk*;$6C0F08`a!b>2OY3>M>nicuC7np;YhL`h~~ltlYfp%xwE& zw!55Do(If#n=BTq6_Ode%w@h;ua~H1$m-yYVM|YLO~1Z4es11ZFR`4+jZv4|_U7rWWy_iAn2*LNkkQLo-3j>kP#*EAmY d+CP(c(&zBWVoAT7TI7>SPFgopycro8tO2bYzTE%- literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..47fbdacd564945295666b79e00fb9ec93b57ca42 GIT binary patch literal 1775 zcmZ?wbhEHbd&oLe{Q_^b?w=&D^Gs>9|fZ!Ffu|w@h1x- z0|PsQ4g(N?@vEkw24q@%MGdnguK0ZO&d!EnEO;1nH pFwVYrX6NST=NCA4%lYow^78VE;MH+wcWr%reM9nTF=+t?YXB3SZIb{1 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..3cccd3afd7cdab25685c54d9dab55e14f132b597 GIT binary patch literal 1648 zcmZ?wbhEHbWMPnC`2L@vXVaq_FMiF~^J3DrC(qvfSaa;nl{bGTYbj|-2!U3v23-@ku<{{8##<SU7|oA~+5< z9&Q(q<(i@4(9FilY@%?$V4*`BmjIj31c9K&qns=P84Ups4>EBGsqrYhn6Qj_HiL%M R9fpK-e|8&9CJqh;YXHFl0|Ed5 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-disabled-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-disabled-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..1e50a8cf07757db219dbff22fe1af21f716bc04e GIT binary patch literal 1794 zcmZ?wbhEHb$->CMz{a4% z00f{s(LS0ZMoi?7dK60taNK8L}Xwye0g z*kiI*?5Qm)FE0;R>^0YG>#D1(BQ|H+bHZ`26bb>Fw+9?{8q{mh;)M;o;#9VePmxJ2pN(K0(=gp3lxrPfyP<&c1hM z=jP|<7dUsz`R>~C^74w{)p2KcZGC-xL-Of)zPq=*y}hIO^}VyZx4*xCpqX1f&RT)N F8UU%4d;0(Y literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2eccc81e48acd7ac7f1e41c3afc96d92e7811e3f GIT binary patch literal 1649 zcmZ?wbhEHbWMPnC`2L?^#-0~X-u>El<-@K^@7{g+_3YE12XB78`t;|_y)Or@eAsj4 z!=pF9ZoT?->dvPJAO2jp_vz8QUmw2w`SK6_P=jDP@xH2}0$ B38w%6 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..641602a61d072c563f8ad3e1640e1a683f3f47b0 GIT binary patch literal 1979 zcmZ?wbhEHbCdA#zyAIE_u|8!XCMANdH3u8C>RZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gnF+j4Bci1rAIMOx#i~GafV?W@cx#YdLYD z!IfE1IOa&i$E0IS3fwh3GXonu8CCt$cn%mHI5kZ_@>t2q4XVD4X6diia86$CGv8eJ z3Ck|wbpOTn6WL@}ZCP<)vHxVZSgxrrLzaha4!f%rnjO9_WPca0x0rUs=H!dhR8MWo zyuCVq@48ZN@x0ibS)Y&D?l#Z8zq5?_@!!?o_2LiL2{OyA*|Fil;eKKFIG&jwQ;ttF z4!@@pS)6`uihVbquat4d<;8*1)z0iHe0_So?fNob>9X9LtBQ}??X@m_e{);&<9};^ zo8>>=H<4L>-JTsE9-p7=9?v)TXUX$xo5Szx#a5TUyRyG~2EV_Yb;ak$7pJSA+gJJf z_4~c+%l+l+YJa}^eB6G&eeM6B-&i~D*Z;bEe179UMUDpzTw)pz8u`^E9ySRWSuAW8 zON)5eCX{tUv0bE2BdJ3riDOZx@}dZ(Mjf*ok6QJsb}Z^PITW$DN9&oy<4)^kHy-zx uv2{M~x4L&?@kBc%&Lj_u$RHdvE^z9|fZ!Ffu|w@h1x- z0|PsQ4g(N?@<=W^zPTR z9nWq&`?KxbyD2-KY&!Ms#*1G&F1)+(=Fh)>|8BkbbL+*wJFouz9|fZ!Ff>Cz@h1x- z1A{n&4g(N?@1}0`v9UlpY3yHo==8OR)9gGbA^I58bSOf$Z FtN}Fv1L*(& literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..b88406a322b95a52a5fe01b4479f07739f671a94 GIT binary patch literal 1963 zcmZ?wbhEHbpZ-1j@bAv6e?ai$!@o!G{@r`?@4=gY|3|@S2n_cS zQ2fcl$iTqKpu+$Jpghq&nj?mLoR9hsUkGsgXJFKja42YCVqoIeuqg;w(Adr5-ee#xVUpfLD-6t{m_r*j8rFu`$cRl8kDU{|l+cfpwm6?;5ot|q~ z`0ve0p^U&q#{GP;T3a;zm-)|S>-8#K6}mKNW7yRy)0N?i<0m%BYH!oIvM%L(QLJ=W z?(H@C+mE?si{(Y_E`56M>g?(3Ztt!8`0wp$v4X@y#r*tnIy(&GkM+y4_xV(AN*eI{W@u)*-8b@Ng%DfW~yA)U5NNUs1lThwbJ2Ycauj#3Z#eJ5SUOeiv ed-Nl@Uxz7DWumd1<&#NHW+#;=8?mx5SOWlg&$s6Q literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tab/tab-default-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..f545916db21541418bf7b7c52e17e4018a252cc5 GIT binary patch literal 1962 zcmZ?wbhEHb5RPWjPg~#Ts+`R0} zZ2MxiyPQ*=2h4YyEEcO3k{P_rWxiLhm#AjQ>fnuGOHXc1zrHwrZr)cfv7E?_QJ35H z?lQ~1y)o_aqT1EpbfS0XeLOUG_4ajlcGrJqyT?7_eZu}WVevSfh{EJ!E%M%dK9Yth zrzabRFFU<6|M}thviaY9q)IX`&I)edx5ujZ^~Gh$i|f|@GReNZuJG`@wY#^yxxK%b z{XXxU?*;ddO%{*Wi>WMrc4WSHzn`pS$?MA-!TAUr^7c7V)5oN$Z9}GmD)@VvC3p z$HG?OqzJ`YnQzx0Hp*M=SlF)86tSp7YMI2NR_(MKk2=(jbv)|Uns;JRuihh$$30fp gG#>ZbKa+UU=kUp5Nxz#~Tq|o89z@dqOk4xdi4h08hR&Egs4h{xu0Gdww Axc~qF literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tip/tip-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tip/tip-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..cf4c2f62a036eb8d2924f88eb7a761f7296eeebc GIT binary patch literal 1623 zcmZ?wbhEHbWMfcb`2L@vZ`HXMpZ@(H1*0J_B11s&CkrD30~3P|0}z1nMEhut7?BBK z)YH%q;4ooeWRZ|yXmDs^;}o;8Fi>=A;}*5b;V4Wx(k`T(b>@WNV)rgt$GSZln^aCt O77NaknQ5fJU=0A~&kg|q literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/toolbar/more.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/toolbar/more.gif new file mode 100644 index 0000000000000000000000000000000000000000..02c2509fee0fb4555df61072d8e8daac8dc7430e GIT binary patch literal 845 zcmZ?wbhEHb_??HKjfkTUdnM1~7 r!-9j&9Ku>L9YCQ*K7KbIgN+Z4bP31@U9tF}++`ynz+epkzXub1 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/toolbar/scroll-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/toolbar/scroll-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..2db8cf5cacdeedff17ce269eed74d98624bb1f67 GIT binary patch literal 1861 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 aAvIb&vGk?1#~7_f{bJ2zyB-JxsQnl3W4iMI literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tools/tools-sprites-trans.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tools/tools-sprites-trans.gif new file mode 100644 index 0000000000000000000000000000000000000000..ead931ef617ac8520a24a263abb456ebc1bcd54e GIT binary patch literal 2843 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 P{CU^aTq0!FVcq`#CX}cg literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/drop-above.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/drop-above.gif new file mode 100644 index 0000000000000000000000000000000000000000..30d1ca7107816233884d23239dd76fce79237fe5 GIT binary patch literal 911 zcmZ?wbhEHb6krfwXlGzB^-Oj%*Y>c~334!T+I5ReJa7x*DTyS#YWmWQ8@*yChwS&o6 zrsT(mM-FYgx*h@@4;QobG08Hm@c7Wg%*HKZQ}Uv~iG_ooBg3QNK|^B;FB^}5K!V!o j#pA)jmQU~$dc{RCEH^Pc0?BK zj4s|4Q@Ag_Y)yK_x{UHY2^CvX>NjQ8>`JNKlUBPgy>f3}?ar*)o!Rv}a|;e8R~}5M zI+k5?IJ@p(X5I1prmcC+Tl3ns7k2C@@7Z0}wX?EwUq$b}>dE`-8_$%sovdm*S<`y9 zvg=S~|DoE>6ZKu^Yp3pS>N(xmcc!K9QuCyv4O0&^O+Vf`{Y>lRvmG-|x6L@yKI2T+ z?1R&1ADl7ea@VxWol~!LO}o-P{c88ji`{c?Oj>eo%Chs*mR*>(;O5i?H>WMVJ$u!a zxvQ_tS$1N<@{-~Tgx`xUa|S^%B{CoY`?W?%iUF5@2}Z*cg>Eg z>v!B;zx&SmUDr15xw>=vgZ29!ZQJ`~+mSmvj^5pQ^4^hC_l_QYap3f`!)G2GJNw}H zxtAxeygq;Z-KCo^FW&ihj$;hsoH8C8796zp$T+b>@c4oQ4ptl9{CxcUY?nYS7uzPr^nkf~ zF-KnfWK`sLl+9v^jSOlzC8As$;v$iu&bdH0ut_86$zxX@GwwqiGMCbLCdz4)g$X=7 zcxoaWQ~HIKhmx0vy2>O}Xevx#ky5l?_wGr-qtgtHrgJ}!+;FF#5#6#i2*%nh> zyAFx!#AZoGf3_x%!Zyuz9to2P8w(l~A)jmQU~$dc{RCEH^Pc0?BK zj4s|4Q@Ag_Y)yK_x{UHY2^CvX>NjQ8>`JNKlUBPgy>f3}?ar*)o!Rv}a|;e8R~}5M zI+k5?IJ@p(X5I1prmcC+Tl3ns7k2C@@7Z0}wX?EwUq$b}>dE`-8_$%sovdm*S<`y9 zvg=S~|DoE>6ZKu^Yp3pS>N(xmcc!K9QuCyv4O0&^O+Vf`{Y>lRvmG-|x6L@yKI2T+ z?1R&1ADl7ea@VxWol~!LO}o-P{c88ji`{c?Oj>eo%Chs*mR*>(;O5i?H>WMVJ$u!a zxvQ_tS$1N<@{-~Tgx`xUa|S^%B{CoY`?W?%iUF5@2}Z*cg>Eg z>v!B;zx&SmUDr15xw>=vgZ29!ZQJ`~+mSmvj^5pQ^4^hC_l_QYap3f`!)G2GJNw}H zxtAxeygq;Z-KCo^FW&ihj$;hsoH8C8796zp$T+b>@c4oQ4ptl9{CxcUY?nYS7uzPr^nkf~ zF-KnfWK`sLl+9v^jSOlzC8As$;v$iu&bdH0ut_86$zxX@GwwqiGMCbLCdz4)g$X=7 zcxoaWQ~HIKhmx0vy2>O}Xevx#ky5l?_wGr-qtgtHrgJ}!+;FF#5#6#i2*%nh> zyAFx!#AZoGf3_x%!Zyuz9to2P8w(l~c~334eSRT}sa)VS__s8w&@Y zgu;q|!z~;Fasmw<8xA%wGBG*Ccx+O2Y*vXZDtTe_=t!5iao(F9ACgZ@)bm{w(wUgh k*e9SZBf7&RvvH|ppWc*{Usi^4=^EOswG7BU)WBd303hyMjsO4v literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/drop-between.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/drop-between.gif new file mode 100644 index 0000000000000000000000000000000000000000..5c6c09d987cf7cee99cf1baec891f85e7477cc02 GIT binary patch literal 907 zcmZ?wbhEHb6krfwXlGzB^-Oj%*Y>c~334oIij5|Ns9CqhK@yhFS=VTXXjp>_!!i-ZjhjBP9&d=d&P1P-@w z2*?REbZj`-z{teJvFE@96*ex`7^N1;;s=LXIk{il(fr(WZkkH%E}e=3)qp;}RJS=1 ZACr#t%8J+VSOzWgoT4>ViN zU%dGJ;lrOVU;h61@&EsShEXsY0)sdN6o0Y+UH6|s2joUjo?zgZ#9+@MbEA=|m5*7N zuP1?_;V=Wcmd2kAjEoFSyb3l63JeWQEzG)l4<-aOJF{^!n#_11;LyO$#4EyJxnXG= zBd1*n!vlvz??xWBngt9APKV|*$upc#SeW74&N(&d!GU0fOO1}n=k{oQNISc~334!T+I5ReJa7x*DTyS#YWmWQ8@*yChwS&o6 zrsT(mM-FYgx*h@@4;QobG08Hm@c7Wg%*HKZQ}Uv~iG_ooBg3QNK|^B;FB^}5K!V!o j#pc~334eSRT}sa)VS__s8w&@Y zgu;q|!z~;Fasmw<8xA%wGBG*Ccx+O2Y*vXZDtTe_=t!5iao(F9ACgZ@)bm{w(wUgh k*e9SZBf7&RvvH|ppWc*{Usi^4=^EOswG7BU)WBd303hyMjsO4v literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/drop-yes.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/drop-yes.gif new file mode 100644 index 0000000000000000000000000000000000000000..8aacb307e89d690f46853e01f5c4726bd5d94e31 GIT binary patch literal 1016 zcmZ?wbhEHb6krfwXlGzhFH%vfSJo_7)vQuAsWC9EH&km;*6LR^?KiYxFJMjooS=wa?sdwqwu&r?{0KDI0upwuR+x56{~g zkq<(VSvvztwnvw2k15z6Ua%vwaA$PU&gkM@F@^i$%l9PIZcnS(l~TJWt#)5}{f^9- z1J*HzZPSi=W*zp-IqIEx!mH#^WYOu+{6mTPhZFOT08vuj(d7JNDFp|U3y&lh98WDi zo>p==rRYRP$%%~86B%VEGs{k8RUS;KJD6E_Jiqc}cGa2O`cnnX`*Pb46}28MZ8%lj zaHgpFTzUJ+%FZKY-6tw0oU5O>vwy;#zG=ssCm!gZcDil)nbs*M`lp@kn035;#_6_M zr`l(nX`gwvYwo%3nHRffUg(*1rFZuAiSsW_n15;F+#8b?UYok``qahOr>(v;d-dhn ztL{u+dw=%2>kHRkU$E}Z()D+iZN9m5#o~d_ub#R;qm;f57%vfxPJS?4f`H%+y8jS!N=PUJlT2r&He)i4xD~_ z;M%)OH{V=&_T};0@2@}p{P5-1r$2vx|NZy(|Ns9CqkyasQ2fcl%)rpgpaaqk$`cG6 zR~e)^Wjr=4aC9<_3F%-wzQDoVIAhB~=k&AfoLyW-Re?t*%+d(FBC_aGf`Fq$D3_+D zkjse)Dz(dOBqZEh6jdE-UYxkdEGT3zv4dmE!Dl=ZWi9e%{1g;@!G-s^!P$| z8==@$AR3<{5^GPA?~^>Pma%d|c$9FpHozQ?Xjg>udUpBYwxjRJ5N111_ak$-+1`( z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|<-opRJB_vEXSch-q28ikEr8>dQ*& zr*1lvbmi&;28RdllqNhC>tgCx%Fvy_p*nG)g9O)&r%wdl%(Hp0p+cvVfx#L8`j$#l literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-end-minus.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-end-minus.gif new file mode 100644 index 0000000000000000000000000000000000000000..55d8a0fa27324b7f4e38c26336106ea63a8d20c3 GIT binary patch literal 157 zcmZ?wbhEHb6krfxc+AIO=#}jB-)YLyy>ozQ?Xjg>udUpBYwxjRJ5N111_ak$-+1`( z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|>%&P+;k_2G)3^V>tM0{}$k(hOBl&Po{$U2) zHzzoHcN%V%*me2~~eL65ZFb1$}72{STS F0{~EqN}K=y literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-end-plus-nl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-end-plus-nl.gif new file mode 100644 index 0000000000000000000000000000000000000000..96f8d723942d4f0c5e23e2fdf9f64d5d414870f7 GIT binary patch literal 152 zcmZ?wbhEHb6krfxc+AIO=#}jB-)YLyy>ozQ?Xjg>udUpBYwxjRTTeVb1_YO$U%B`3 z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|^}|We)q5>opRJB_vEXSch-q28ikEqT_64o= zQ&%x;mMAr~Xh@h)E@%82Bw2LM$6iowpm(o>{suv@X_;DVz34Pv!F%; literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-end-plus.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-end-plus.gif new file mode 100644 index 0000000000000000000000000000000000000000..a5c62fab32adca39a885e19ab9230d21a9cb804d GIT binary patch literal 159 zcmZ?wbhEHb6krfxc+AIO=#}jB-)YLyy>ozQ?Xjg>udUpBYwxjRTTeVb1_YO$U%B`3 z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|=fg=&;k_2G)3^V>tM0{}$k(hOBl&Po{$U1P zo)cWXJM|Cfu-#34z#!4Oq3H+cw0Y|6j{uQT)d^~>^T<( G25SI?qe(ab literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-end.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-end.gif new file mode 100644 index 0000000000000000000000000000000000000000..406a88dff55195c8f8fbb65c37a10280e9689e25 GIT binary patch literal 70 zcmZ?wbhEHb6krfxSjfcS^xx^&v19+iK=CIFBLfiVfC!L01Cw}5e&gx43+Bx!j0#)d SwtMyY(nlWCo>_`ASOWlykQ)2| literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-line.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-line.gif new file mode 100644 index 0000000000000000000000000000000000000000..e25ed03fb6cebb2a0f891c0730f50977246ddace GIT binary patch literal 72 zcmZ?wbhEHb6krfxSjfcS^xx^&v19+iK=CIFBLfiVfC!L01CwM+e&gx43+Bx!j0#)d Tw)?qX<1KZol+K0jj11NQyrLT7 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-minus-nl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-minus-nl.gif new file mode 100644 index 0000000000000000000000000000000000000000..f50bd40ae3db3333f583681ae0b875e2a83cadaa GIT binary patch literal 151 zcmZ?wbhEHb6krfxc+AIO=#}jB-)YLyy>ozQ?Xjg>udUpBYwxjRJ5N111_ak$-+1`( z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|<-opRJB_vEXSch-q28ikEr8>dQ*& zr*1lvbmi&;28RdllqNhC>tgCx%Fvy_p*nG)g9O)&r%wdl%(Hp0p+cvVfx#L8`j$#l literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-minus.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-minus.gif new file mode 100644 index 0000000000000000000000000000000000000000..a7287961bd3f1eb0269c1ac04f18176dc92e9722 GIT binary patch literal 159 zcmZ?wbhEHb6krfxc+AIO=#}jB-)YLyy>ozQ?Xjg>udUpBYwxjRJ5N111_ak$-+1`( z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|=fg=&;k_2G)3^V>tM0{}$k(hOBl&Po{$U2) zHzzoHcN%V%*me2~~eL65Xvw}qcA*DiBm HV6X-N=kiOC literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-plus-nl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-plus-nl.gif new file mode 100644 index 0000000000000000000000000000000000000000..96f8d723942d4f0c5e23e2fdf9f64d5d414870f7 GIT binary patch literal 152 zcmZ?wbhEHb6krfxc+AIO=#}jB-)YLyy>ozQ?Xjg>udUpBYwxjRTTeVb1_YO$U%B`3 z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|^}|We)q5>opRJB_vEXSch-q28ikEqT_64o= zQ&%x;mMAr~Xh@h)E@%82Bw2LM$6iowpm(o>{suv@X_;DVz34Pv!F%; literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-plus.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow-plus.gif new file mode 100644 index 0000000000000000000000000000000000000000..ae41983cca2f762abffb8638a43869859a276e44 GIT binary patch literal 160 zcmZ?wbhEHb6krfxc+AIO=#}jB-)YLyy>ozQ?Xjg>udUpBYwxjRTTeVb1_YO$U%B`3 z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|_rpm|;k_2G)3^V>tM0{}$k(hOBl&Po{$U1P zo)cWXJM|Cfu-#34z#!4Oq3H+cw0Y|6j{uQTpXw|H*T}0 HAcHjk$M;B$ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/elbow.gif new file mode 100644 index 0000000000000000000000000000000000000000..201c413e388369bf82b1a1289baf47fa3cc06f40 GIT binary patch literal 73 zcmZ?wbhEHb6krfxSjfcS^xx^&v19+iK=CIFBLfiVfC!L01Cvxse&gx43+Bx!j0#)d UwtMyYQa?4X6w5`|G{qRK0oEWJ9RL6T literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/folder-open.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/folder-open.gif new file mode 100644 index 0000000000000000000000000000000000000000..361e1be3e4b28bf8fc4e39b60f66dc805c5b7835 GIT binary patch literal 356 zcmV-q0h|6uNk%w1VGsZi0Hr+uF-l`X|3aB(0h(w6oN5G~YzCli2%>Nbqj3wQatx(& z4X1Svta=o%ei*ZX8?}NRw}cF z*SJ91zii^OL*l_u{nc>)+ja2ddjI5ql%>6#rMxBRBiTCh{|M-*t|C#^)od5r&#KgqK#l_9d&C$`(#@6fD;qmA1_v`cj`uqI<|NsC0 z|NsC0A^8LW002J#EC2ui01yBW000Joz@KnPED|#r%*A3n_MSXmrTNSBWLRuZ5`jD% z4I$>5%|4%u+wanYx!-WvqBg19@AXd$L7T+NWicHSECzjlaBng%6CedNKYlKgl#??W z9t4nnG9#X!BQqQu1CWt1A*rgVA`}8OLK6zJvk3#~t CowKL_ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/folder.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/folder.gif new file mode 100644 index 0000000000000000000000000000000000000000..b2fd81a12d520bb45ce681ad14801a3e9d2ffedb GIT binary patch literal 351 zcmZ?wbhEHb6krfwSZc;#=#}jB-)Uw#uSU{)Jbe^l-}ATyS+tzSG&^QF4Y6Q8i)F|j!x1&K1Kh;RD+Y#3{TH6J~Pwg z_V%FL+YA3+$^U=5^#7CkDNFax0iw0XmTtYaa__CZ$Bykh_2mEi&i_9q|NlSp|NlAv z|L;0*;K1qAr_Y=@bNTY+YuBzFyY~9V!;jD3e}Db?KYpP2lZBCi!Ja{f0SG{TVqmK| zFu%YrY|>(@5!KS@?CREHtr5{um^68c7E6t=mi+8FbG4XjgtX+AEM2C>RBRv5 f$IH#d!Oq6Y!lY~9Y@oM$&)yv&2M)SAGFSru#-z0M literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/leaf.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/leaf.gif new file mode 100644 index 0000000000000000000000000000000000000000..445769d3f863fff85bf8dae9e50ca2fbdd2d580f GIT binary patch literal 945 zcmZ?wbhEHb6krfwXlDQcQ_o~GuN3{H6Nag0EsGx6l|6PSd+b*I#H;qP!+!_A#wTHI zPb1o&CiOkbneseu`t#JOpR;CuEt~zKYW~Z@xnJuSzARt#t#2GZdv-WZP}~tRj*oB|LorIYr@vw({}!uwfFDhO(&LbJ2U^lzeR`sUwH800T8|T z00#d*{P_PLi2nZvyK9sf4FQ^mfZ|UUW(Ec>1|5)1pgh6A(Z?XlA>*-O!NF!$M-7&b z2M@Kd^GWGABrIrf5YP;mqG0Ic!oef1<ENsed*j@4Yk?RR_1qN#Xfm)wA literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..e846e1d6c58796558015ffee1fdec546bc207ee8 GIT binary patch literal 771 zcmZ?wbhEHb6krfw*v!MQYQ=(yeQk4RPu{+D?cCXuwr^cCp}%d_ius2R?!0jBXnAQ) zOH<|l|Nj|aK=D7fpKD04vtxj(k)8oFBT!uNCkrbB0}q1^NDatX1{VJbCr|b)oWWMT zS%hVC ~NwO_yO%;SvZ5MdNYf|QNy-I*%yJaj+uTdt+qbZ z4E`Fzb8m}I&!N8OKmWEcCmrLs^Hs&3i)mt@hQVdcqghkaBs*D}tG_lKew4?rTjzIZ z9tSone1TS+TR7tu^CunG)Y7Jg#sw#)sG9C!c0I%LEzP)9;hqRf&)s$D8d5Db{TBs% zgl0~5QQ91luq4Q9tJgt4QLbaxZvAaKeCM9!oy85dg4k>TdBSVqjHub_PG=PO&J-rx z7oYTuF+kH|tG-UK+EkUhDjYx?zW?T|lx>+aOQm zzL$v$zBLo4Cj=G&tw{H}dW?tlTkS)SY4<#NS92z*EY-MMB6Ftp`R=*=*Ev7cS+X%W zMCur^FdlokL}1Y+&aasU2J4#EOuNlnb9CmqgLCGTSY!1BD42pkHY^XidQ5=>YQx%` z*%Pm9D!CkBu&tMWm(%-ejACVWGS2RX5=QOJ$1*tr7F}F+*-OA+Ly&Isg|AEuUYicA z#%IG6kPXkHt{zk2M6zK@Vu^4Q(1zE$?yY6M!^&jQ+2^E?!p7{g*|X6}vuRC3p@jk0 W117c83?+LXEZI4G$p&LV25SKE>nb+@ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/s.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/tree/s.gif new file mode 100644 index 0000000000000000000000000000000000000000..1d11fa9ada9e93505b3d736acb204083f45d5fbf GIT binary patch literal 43 scmZ?wbhEHbWMp7uX!y@?;J^U}1_s5SEQ~;kK?g*DWEhy3To@Uw0n;G|I{*Lx literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/util/splitter/mini-bottom.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/util/splitter/mini-bottom.gif new file mode 100644 index 0000000000000000000000000000000000000000..c18f9e34ac1f4d06525592c5ec25783921e7ab1c GIT binary patch literal 856 zcmZ?wbhEHbRAyjhXlGz>c6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zFlAunknz~C;9xU5Gl#^14GRyqF(|p!cuZW_z#t(WR-;k)_;9y`aa9RNLW=VQMPsFy Kokpn+4AubBJRUOu literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/util/splitter/mini-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/util/splitter/mini-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..99f7993f260b374440c5c8baa41a600eca99d74d GIT binary patch literal 871 zcmZ?wbhEHbWMxohXlGz>c6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zaA9EP;893e(9p!fE+S&!pm?~AUD|4jgy5sYono4CYdSV2yD|teHi#$`Jzc6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zaAja+k&tj`IMB$%CgZbW!-Ix)HhHZSi@+q84iWvZBN>K^-5Dep8%#8W7*0-Pa>$EW bxpC?7J_E~BDJKIG4z;p#3-JgDFjxZsq+}v; literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/util/splitter/mini-top.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/util/splitter/mini-top.gif new file mode 100644 index 0000000000000000000000000000000000000000..a4ca2bb20aad89264b9022fee88ee29154dfb192 GIT binary patch literal 856 zcmZ?wbhEHbRAyjhXlGz>c6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zFlAuo;89qx;9xU{u$s(?fCCNf0?JM-3L76eGxBgot>IYk*sW87)#{JM#>MWF#5uKM LPHswdV6X-Nu*4oA literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..5daef146a980bce2254ac6cabf837233a67c1911 GIT binary patch literal 1664 zcmZ?wbhEHbWMz%Yl4xGEU<-ny)`z~xcaAC`#OB?oGdiCMgjYscx9lN&c#EmDfzC3#M<<+NO|3|@S z2n@9lQ2fcl$iN`Upu+$Jpghq&nj?l<9FDq|njydu%fQGXBC%k>!DbF&t&ofbiH92n z6r~I}5|R#fiRiL*WL#iq=#%HJVzE5H(AdPKqoAR|(8S2XVib^(aL}QRhe<|9!{fk# ea}2_KE(!(*9he!}_)JzzNOWXjG-qaFum%88(Ez&u literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..5188482551e034a7ac068cd4346c1c4c6e47c11e GIT binary patch literal 1624 zcmZ?wbhEHbDT{JFd70QF9Z~SvM@3*Ff-^d00AgZw2$V9 zk(UZaeT)bJ4pRn34i1M63m6!fxTRby0umdVIc1%4Run8c+|HvPHD$)c TlODKD6!BbUB3YE^z+epkDl89i literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..99eeb6d09dcb919f19af410dadfcc86ec07f676d GIT binary patch literal 213 zcmZ?wbhEHbWMzvwBg9P8_y1%ySHf5v2(Xx{QLLs&8J_FUVORn;N5|9ch>DY zw`9|?1Ly8-IdEyyz6+ZUT-b8x(uRGPUVZp=_wVs#R{c`yPEaJoO>)LZZQhMgcDFMJ5IU9bAoP5*h>SSXvmB wG<^B`gbr@dkYhfW=y2ipT`93z>% literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..5188482551e034a7ac068cd4346c1c4c6e47c11e GIT binary patch literal 1624 zcmZ?wbhEHbDT{JFd70QF9Z~SvM@3*Ff-^d00AgZw2$V9 zk(UZaeT)bJ4pRn34i1M63m6!fxTRby0umdVIc1%4Run8c+|HvPHD$)c TlODKD6!BbUB3YE^z+epkDl89i literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-left-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-left-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..3b81c20367d57dd5d8016763bbf32aa9ee7ab92a GIT binary patch literal 211 zcmZ?wbhEHbWMzqRiYY*NXICXE+ zz6(n>9XoLD&Xz-0*6lmD<7Mmeqi+5up7~EhS|5pU9D3a3z{|z**x5llMqv^^ vV_*kIK*uR2R}F){lLt0P2>fZ1Ke^69SVtm8Kg@b97uQseDH{{&oEWSDl3;g# literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-left-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-left-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..931428d5531ff2cc1a2a3942d105843588d9643e GIT binary patch literal 70 zcmZ?wbhEHbWM>d!Sjfz(r%w-%lsbR`99XoLD-j)NGHtoBx>A;08hc0c{cj@21e{Vkgdh+VajYscx9lN&c#EnOFz7pZV1tCfpQfF$jcOGJJK}VloHm58vbHdPPV|@|ugG8x E0FjAxP5=M^ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-right-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-right-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..b2b6b79db4b3b9b27c8e9c931a81dfb21962e63e GIT binary patch literal 70 zcmZ?wbhEHbWM>d!Sjfz=|)OPB5 XK$MYL)%`1CN#|>$Rm+my#2Bmrbw?NL literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..8886bde6e34411760067ded4e416c94c87fd390f GIT binary patch literal 215 zcmZ?wbhEHbWMzMDQctJys*^$%Bpz)6#7Z;n7u#Hp{hfP7PfSy1XL(u{oX?`zxMFwjC DF=22W literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..5188482551e034a7ac068cd4346c1c4c6e47c11e GIT binary patch literal 1624 zcmZ?wbhEHbDT{JFd70QF9Z~SvM@3*Ff-^d00AgZw2$V9 zk(UZaeT)bJ4pRn34i1M63m6!fxTRby0umdVIc1%4Run8c+|HvPHD$)c TlODKD6!BbUB3YE^z+epkDl89i literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-left-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-left-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..3c5f24235d9504f739fb96552f783848c43556ff GIT binary patch literal 1655 zcmZ?wbhEHbWMz(Q$(JC5CW^6Ja~Q7{?;Lofss zf3h$#Fi0@yFaQB4PqdHbh#?q_qfVw;2ylcjFmi}QEJ!%Wz#*&^b7F&{Q!^_&*O3Ot zgUyT*Iub%7 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-left-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-left-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..8c0c187a97dd03b5c2a342ecfa8747351936d79b GIT binary patch literal 1610 zcmZ?wbhEHbWMdFw`2L?^(S{@EZajPQ>DT{JFd70QF9Z~SvM@3*Ff-^d00AgZw2$V9 zk(UZaeT)bJ4s`}b4h{!_28Sj_9zLCl2@emo@G9DcbWB)uxJyvi>xhNn;^Te7%uEc{ E0ACOa6951J literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-right-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-right-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..853c3134ff52baf893227d1e8f67dee127111070 GIT binary patch literal 1656 zcmZ?wbhEHbWMzc z`_3)dbnL*nds_}%+O+S&rUMtY9J;h&-=%;5{=NC|>&dGxHy*v)b?n-%6E_~c`tpAi zjE2CF3IWBREQ|~cQVco_Kmf`U?V~wjNJZeNW2qbh9H9)193l}55)LwO2y4Zh*r4dt z%*yUHg+s8xshiVKNoIpX0~;@^mdlO>jSfvrd@KrECOl+xVq%rZ;4#>o=Gv*Byv{|T Xv4M386PH3kgCjFDr<^GZ3xhQP)CK*u literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-right-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-right-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..0a31ccd83678ba6fd18ed3b02c3f4fa3a1540311 GIT binary patch literal 1610 zcmZ?wbhEHbWMdFw`2L?^(S{@EZajPQ>DT{JFd70QF9Z~SvM@3*Ff-^d00AgZw2$V9 zk(UZaeT)bJ4s`}b76}c828Sj#b~cTQf<&hlUP-Mf9EFdZ+XeN5j${}vKHewB%*0>~ E05VqyN&o-= literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..0f634a6c2883627e8d19606dda6e075b78a96670 GIT binary patch literal 199 zcmZ?wbhEHbWMz6uJT;*)mqG%eme6=)0x&r^u^}mQxi4xp|nTHVAZZH}W*i n)UadeOjL4+<>MDQctOG;DDH!}sM_J635-#_Uh5N^1sJRWU+`}K literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window-header/window-header-default-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..5188482551e034a7ac068cd4346c1c4c6e47c11e GIT binary patch literal 1624 zcmZ?wbhEHbDT{JFd70QF9Z~SvM@3*Ff-^d00AgZw2$V9 zk(UZaeT)bJ4pRn34i1M63m6!fxTRby0umdVIc1%4Run8c+|HvPHD$)c TlODKD6!BbUB3YE^z+epkDl89i literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window/window-default-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window/window-default-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..efae7da9c1ddc8cc43f3fb86aa8f5f51c6555384 GIT binary patch literal 1686 zcmZ?wbhEHbWMzG z_3786S6|+I`t|SMzfA`&Y&mr4|0oy@fk7Msia%Kx85k58bQpjDlqcFpbHpHyu2HAa zJOnt385lW4PAp6~$iN}26?0;PqEj;~I~NOM5+gHpxTt}hvm&ZP>H!lQ X7mMB%kp+y088{V$0t6fk6&S1m4nO=6 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window/window-default-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/default/window/window-default-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..39edc88d118607eca8e572dc8af68748af6979e5 GIT binary patch literal 1776 zcmZ?wbhEHbS~+CNvc_RPqTbpPvn>9 Y7iW96>z%FIntgRc@aZ%gO9cjN0I9%XwEzGB literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/boundlist/trigger-arrow.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/boundlist/trigger-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..11daac3da8202dec764b68145cb16d1693090e1a GIT binary patch literal 2869 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 TCTt#-00000NkvXXu0mjfpUP1v literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/box/corners-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/box/corners-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..fa419b50abe5030db04492578d5dfd39c02fb6ab GIT binary patch literal 1010 zcmZ?wbhEHbXlGzpbnMH9^WV;$J9qKo#mkp3U%h(u+O=ypZrr$e^X8p9ckbT3 zd+*-8gExOZc<|ui!-tO^J$n53@slS{o<4p0?Af#D&!4}1`SR7PSFc~ce)Hzd+qZAu zy?gim{reZ6{(SiG;p4}TpFVy1{Q2{jFJHcX{rc_Ox9{J-|M>Ca=g*(NfB*jT=g;52 zfB*ga_y7NYhEYJJ5ODbKKqZq#iZO~mS(q6ZW-;i1JPgVc3>@bfOgUvd3KTeaMcKM` zTmT9+Dym5^6eP5&35jyCL~LwoUdG4CQ1IlzMJEOhS7<|o6TkONJB|cJt&_qGY8j_CFdSfKOOVXz5IAt4 zV}p{G0>c6amIz;I6#<3?kJdQw@UbxnC^#-)=MmtuQ0WM8YMvo$(vtdt@jw$#qNfCh wKq7O5AQyweiU(yaTnsEKITutM85$V*3^XlGzJaNxkCA+uU@@+{rdHrH*em)ef#d+yZ7(kfB5j>g)|NZ;-|Nno6kqR9CJB(DX)7#&QKUtU= zfEhstWHBgDFmRk=;OCU_C{XAUlw(`PkjU7?)Tn7;VYmK z&r@KbvglBQu=1upg@udrDMSY z2FDg@ogF$0Oia(gUJntM;F*w7{y{XRIF%d;*fMw Ru}w*2KC@pnhK+^68UTSX)nNbt literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/box/l-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/box/l-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..5ed7f0043b6b0f956076e02583ca7d18a150e8f6 GIT binary patch literal 810 zcmZ?wbhEHbWMN=rXlGzpbnMHWJ9pl^dGqhzKZa2-8UiCM1QdU=0Db(QK?me-P@Z7m PU}s=uVK7ioV6X-NGaC=| literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/box/l.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/box/l.gif new file mode 100644 index 0000000000000000000000000000000000000000..0160f97fe75409f17ab6c3c91f7cbdc58afa8f8f GIT binary patch literal 810 zcmZ?wbhEHbWMN=rXlGzJc<|tzJ9pl^dGqhzKZa2-8UiCM1QdU=0Db(QK?me-P@Z7m PU}s=uVK7ioV6X-N<)RPU literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/box/r-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/box/r-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..3ea5cae3b7b571ec41ac2b5d38c8a675a1f66efc GIT binary patch literal 810 zcmZ?wbhEHbWMN=rXlGzpbnMHWJ9pl^dGr7Oe}+*o8UiCM1QdU=0Db(QK?me-P@Z7m PU}s=w;80LdV6X-NJSY$C literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/box/r.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/box/r.gif new file mode 100644 index 0000000000000000000000000000000000000000..34237f6292a7da6ac5d1b95d13ce76a7194dd596 GIT binary patch literal 810 zcmZ?wbhEHbWMN=rXlGzJc<|tzJ9pl^dGr7Oe}+*o8UiCM1QdU=0Db(QK?me-P@Z7m PU}s=w;80LdV6X-N?ynEj literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/box/tb-blue.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/box/tb-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..562fecca87176274af7bf13c419daaf93f169249 GIT binary patch literal 851 zcmZ?wbhEHbWMt4{XlGzpbnMHL<6oAa{JQeg*VSjft~>i}!})KUE_~a1@%#46-*;X4 zvFF;4eb;~7zJ2@P&7Vha|2%Q`=a~n;&OiEf>B+Ba&wkx{`TPEx-%p-AdGqGY@@87@w|Nk?Lg3%Bd$|0cmlLhGf{|q`H xPk{0S1BVKOBoBu|W0NBntB_a%g98I2m#~UU!-oTo%xv5uDh>q)92y%KtN|VsNKya* literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn-group/btn-group-default-framed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn-group/btn-group-default-framed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..70f2dd4df32e16c90d8ed55caaede6826a8b62d6 GIT binary patch literal 1598 zcmZ?wbhEHbWMbf9`2L?^+lgx@uD#fG>c)-}*Y3Ugbn3>79j9(RdiCYOt1l;RJbUos z%l}a@8Un*N1QdU=FfuT3Gw3h?0Vq$jkLHNs8{4BkBOC%8(hQ6Y77ia84lppW$Ouee TXk=vM5Ryc)-}*Y3Ugbn3>79j9(RdiCYOt1l;RJbUos z%l}a@8Un*N1QdU=FfuT3Gw3h?0Vq$jkLHNs8{4BkBOC%8(hQ6Y77ia84lppW$Ouee TXk=vM5Ry|z+UAje;)Ap|z+UAje;)Ap=dU~2cWFHR)gEau0j};&Q literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e5d3996ccbf88fbe094bcc19b348d49c5bb66ae GIT binary patch literal 1839 zcmZ?wbhEHbRZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gnF+tQ;~P8x|aF<`CA3Ik92kVMYOEuQ?tY z7ai@EP#3y!V&mfD{R+-qGM+&xjgvKkSH+y%wDk0JE#4DzJU1^pJKLi8)t#B28_v&n zXy%fAW!!LavBzYs*i&0pUS96Y=rPx8>#D1(BQ|H+bHZ`26bb>Fw+9?{8q{mh;)M;o;#9VePmxJ2pN(K0(=gp3lxr zPfyP<&c1hM=jP|<7dUsz`R>~C^74w{)p2KcZGC-xL-Of)zPq=*y}hIO^}VyZx4*xC zpqX3VZ_kd8k55e2jz70&=jZ1a7JJY4+q>)Q>l>T1@1NVd`}_L`hr4;?{rBzp`T51= K)%CIh4Aua%;+jqX literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..29fe186513cf280314586e52cac7b66477e9b71f GIT binary patch literal 1619 zcmZ?wbhEHbWM&Xz`2L?^*REY}-n_YX?b^P5`~Lm=_wL=hTeoig`Sa(-jT;9J9Jq7m z&Z9?<9z1yPe-w;{z;Fx!#h)yU3=F&sIt)Mn$`kFQIbt}*^QfPQ4FL`V21X7QhYbmh v%^a*u83_pujjSwe0x}C0FgCKXsqtB?U~pt;lV(=oP&nYg#LUaY#9$2oYYhMk literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-disabled-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-disabled-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..f3706ba0a3cbaf3749cce17e2ef615ae8c2e86ec GIT binary patch literal 1847 zcmZ?wbhEHb;V>C=Y~AKtxt_vX!;SFc{Zc=6)dvuFQD!Dt8! z_YhG0$->CMz{#M)00f{s(LS0ZhI^ck`VU_SaQtUr<&g2%u;5@bhp?88#e#*0+Xa-p z=6GyeL0`6`YH795yXEIawokRm{mxOB$yeB%hk&xp~>y*+%>??ws7b z{QP`}X0ErL3sziQ>@is@_LND(<>dj3z2dfVFD+Y26_n(MuN-QC?4pI_ZQy?y=t{SD0Aay~mYJUrYXtQ~h|$HvFUCn$T* z^VzxS>FF89+4s)u-2D9f0_Scy-(6c?US1KrI_~VQt*@_dNIpH!clWlpw|5l3zIS%_ z_V@P>G;_=Q?b-41@rlXW@#psJ{QUgFV({d0SFe}DhraJPuO|Gqsx XKfk!VI{y5=y}!SIczm0WgTWdARED2_ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..91377506e634f654d5a9833541b5b3c098e1242d GIT binary patch literal 1615 zcmZ?wbhEHbWM&Xz`2L^a+O=zs9zD8s>(-4MH=aFv_Ta&TPoF-$c=6)SojdpL-TOZZ zMnhm&hk)Ww7DfgJE(RS2AOPiw_R$Lz^@^%Lk1hM+XLL0H?PB#{d8T literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..edff2b28496a0834149f93c503e563dba5ac4bc8 GIT binary patch literal 1943 zcmZ?wbhEHbWMgn*{{Elg+O=zs9zA;Ug%Q?f!B7&oyQtSHqETN`t*?yS_bHxcV& zPcIUk{cX*y?Rk&4%{{$sUF5Fvx9iTHE?*zNqvHRmtK2g_JlNMNC@&^sVVHclSKNA@ z&d#DIrzaR|AKMf8`SH00_T9_QRBlN^WD8Y z``-TA^L&0aI|}a{=zlHNH|OW4M`st>htIRIDt&%+dG!5td#k^_zj4^Rgxx;w&(}{c z&aZy%SGTwP^P7kJ{pIKXtNH%+_2cRD|L^rb#^NR9Ln`u}gc^kHl_+eHzN0I_EMLb(=h@ RNba%xv}1AaMphOEYXH@Xx03(> literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..03ca6924e8351437643d1c6e1d15414decefb32d GIT binary patch literal 1837 zcmZ?wbhEHbRZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gnF+tQ;~P8x|aF<`CA3IWgg3L%V>o*Bp}-qTOEw2KFF!xu zq4^V!!arV74J2yW+zreX$&Ue?AmzP%ruZ}yrYwPRl8etUL&e0*ZEcKo?LJ3l|au-JRP-`-tcU*FiAegE9v-QV9oINZ%8@4s))&(ANW Jv$HT*0{{lXnd<-m literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..7466b5d514e4e8501da293e47458780b7008142f GIT binary patch literal 1619 zcmZ?wbhEHbWM&Xz`2L?^&YU?fUc5MQ;>4mwi+=t3_2b8nQ>RY-`}c3zvSpVpUAl7R z%KuR?8Un*N1QdU=FfuT3Gw3h?0Vq$jkLHNs8{4BkBOC%81`LcGDh?YG8k#v+nIaSt n8W>nv*aTz}5*Qm<*wpweG8`NlSlP_j90VL17+FM_nHa1A5J~+O literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..896e181ceefaa8aad48d446fe3f499ffdd91a049 GIT binary patch literal 1935 zcmZ?wbhEHbWMgn*{{Ej~&YU@~UcGwr=FN{EKfZnY_T|f$PoF-0`0(M~yLbOb!Dt8! z_YhG0$->CMz{#M)00f{s(LS0ZhI^ck`VU_SaQtUr=AY8b!OPru*=9&NXoap0-WbN}P?{aSHeqL+=dnj>c-0K{&{nMe|vfFaC44){om@!kIzp=$KQ{w z{r%;`&DqoY=k5Fb^Znc7=g-UU|NrYRRZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gnF+tQ;~P8x|aF<`CA3IWgg3L%V>o*Bp}-qTOEw2KFF!xu zq4^V!!arV74J2yW+zreX$&Ue?AmzP%ruZ}yrYwPRl8etUL&e0*ZEcKo?LJ3l|au-JRP-`-tcU*FiAegE9v-QV9oINZ%8@4s))&(ANW Jv$HT*0{{lXnd<-m literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..7466b5d514e4e8501da293e47458780b7008142f GIT binary patch literal 1619 zcmZ?wbhEHbWM&Xz`2L?^&YU?fUc5MQ;>4mwi+=t3_2b8nQ>RY-`}c3zvSpVpUAl7R z%KuR?8Un*N1QdU=FfuT3Gw3h?0Vq$jkLHNs8{4BkBOC%81`LcGDh?YG8k#v+nIaSt n8W>nv*aTz}5*Qm<*wpweG8`NlSlP_j90VL17+FM_nHa1A5J~+O literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..896e181ceefaa8aad48d446fe3f499ffdd91a049 GIT binary patch literal 1935 zcmZ?wbhEHbWMgn*{{Ej~&YU@~UcGwr=FN{EKfZnY_T|f$PoF-0`0(M~yLbOb!Dt8! z_YhG0$->CMz{#M)00f{s(LS0ZhI^ck`VU_SaQtUr=AY8b!OPru*=9&NXoap0-WbN}P?{aSHeqL+=dnj>c-0K{&{nMe|vfFaC44){om@!kIzp=$KQ{w z{r%;`&DqoY=k5Fb^Znc7=g-UU|NrYRux^(Hng$w7-ojY^p z%&AkS{*Qvu5E!N*p!k!8k%57SL5BedKzX8lG)D~6s2=qeQ6a$bpMjA>#$&^RgUuYm zdJ!i!EOcfSQ1+VRv2oGSZcd}DJ0~_SKHje&*dgP&Y01gS8o_cACpRrUJ>4Mrl!?RU zWoKtw6u-I?xnTME`3}uovR+dfE-v<%tQC7|%gcu40gJundTm`5${4XZ>+Y$otFNz5 z*v=;5y=~3S%^8`2GdnjwKfl1aTh4damY0`T1h0-eyKC#~>l>0!&-2~A z?d|Oy#jo$3-M#(&{R7S1@_u`Ee0+RjvUdErJv%=?zp&VQzTe(mUtizYoPGb?-re8d tKRDbiFYmu^&(F^wWy^vE3vS)IwQJX|d-v|$xpQa7jvb2@E!wkZ z&$eyb4jnr5e-w;{z;Fx!#h)yU3=F&sIt)Mn$`kFQIbt}*^QfPQ4FL`V21X7ZhYbrF vn>kpSG6E7D8d(|H1Y{O0aAaU)RpYZ*(a^})Ce5p2aA1K$6B92J6N5DX`z!ao literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-large-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..1da24ee28f5e2314a7bb09eeab20a8eba7f17708 GIT binary patch literal 1945 zcmZ?wbhEHbWMgn*{{Ej~&YU^-?%g|a;>4XhcW&Lfb>qg3YuBz_xpL*wrArqsTsU{` z+?g|HPMtdSe-w;{z;Fx!#h)yU3=F&sIt)Mn$`kFQIbt}*^QfPQ4FQh-42&ES8Vn5% zO>CTEEC&`SGByL#H2TU&A-ADa7n+q&DkGu}Qsdb@1>{e2BjU-9}(U!QQe^}k%$ zoEaY;9PJad&*Rx?^z`&(WAA%sB8t<`O|E|GC*aik_eCx1TOI_vfdV*A~XF@7rtr{r&C3 z*=6$nu{D*SZk}K5fBxR?pWhx_+&x{s{%_6iuMhX{UqAofzdwIiIUY3p7kzQR@rUFL zg{Hr{FA|ysxK<>zuo!79Y!$VuSlA{RWbv>~F6l>NyTUY&N1e*cG#+)yth%Apt+-Dk dxyNMIi=CMz{#M)00f{s(LS0ZhI^ck`VU_SaQtUr=A;}(@t zahQ1ENSC-~+7^xl4ab?-?3>>FFii2BB*!Zik?El7JzYC-8%x20XN=8e`IokIPJVuF z7Mmc4t3b&LM@A1;8Q)zZnZZjLCOPpsm^K_-6~>sbH)^VO==#X*S#PbrW#8P8a&(pN z>1%JIw&z|vG*^4O-i_VqANOsYz5RXM-a^L9qG!IZzki^eU0tu|#)ikoCWzWklbLDw z^z<}i;d^^#d`>w#*SY>%%uJKC%M0AQ_4fWMd3|L~=;=P++h22TZ%urBZ|!dLSNGR9 z-v1`M=SRWAofAKY`Tg1P@yYq=?)iLocYb|!V`=>Ld2_A4zrT0bIA7j=?w_)cPcP3m zzdzTu;`@v1tMl#u*Z%$S<>~A5=kNck`~UYL`-281F^>C<-xYt%Z{#%Fv7m|3$zwqa zkKK!e7ID8BiLDY*FB01ovVJV=P%QFz)Ty@2<6)QdCW}Q~y2pMj>Q=qfv8dPJoJMl* JTviqaYXAewxqkov literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..c8586454c0afceea6e38bd35208262c0df007879 GIT binary patch literal 1826 zcmZ?wbhEHbRZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gnF+tQ;~P8x|aF<`CA3nNiSixLrWmYmUdp zMMpbWjI!>W*tqz3zXErMjOV5$CnswJuhPj}u=MnFgXB|lJU=&_oo!M4>Q1I{!}<9R z&0MlxTQnLLdra1fJ+)=!<>dj3z2 zdfVFD+Y26_n(MuN-QC?4pI_ZQy?y=t{SD0Aay~mYJUrYXtQ~h|$HvFUCn$T*^VzxS z>FF89+4s)u-2D9f0_Scy-(6c?US1KrI_~VQt*@_dNIpH!clWlpw|5l3zIS%__V@P> wG;_=Q?b-41@rlXW@#psJ{QUgFV({d0SFe}BJ(nTf#~0CSy@e*gdg literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..29fe186513cf280314586e52cac7b66477e9b71f GIT binary patch literal 1619 zcmZ?wbhEHbWM&Xz`2L?^*REY}-n_YX?b^P5`~Lm=_wL=hTeoig`Sa(-jT;9J9Jq7m z&Z9?<9z1yPe-w;{z;Fx!#h)yU3=F&sIt)Mn$`kFQIbt}*^QfPQ4FL`V21X7QhYbmh v%^a*u83_pujjSwe0x}C0FgCKXsqtB?U~pt;lV(=oP&nYg#LUaY#9$2oYYhMk literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-disabled-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-disabled-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..b03af35e2c38b268cfe6c000015e63bc5f54cdf1 GIT binary patch literal 1832 zcmZ?wbhEHb;V>C=Y~AKtxt_vX!;SFc{Zc=6)dvuFQD!Dt8! z_YhG0$->CMz{#M)00f{s(LS0ZhI^ck`VU_SaQtUr<&g2%u;5@bhcI8ni46-6w+kqH zsW@z0bhKN-IP1=dk4cUF3eH_Jo|~3FMe0NvGy`ZeDhFwngzJmjj!Z zpP$dz#3k#sWyQtC9+QPw4{TX^d3nHMuen}ZS6y8lu{rDRsjaK8uTMDKCF{Ly&CSgj zmsiD}-nRDk_JYT!=6Y{mcXxNi=T~=6Z(o0Ze*-hOoX?I84-a<;Ysa10vGMWo3CiB{ ze0FYndU}R&_PsMZH$OkWz`0w_ch{DemsbR@jyt<+>+9Sdv<($d}6Y8{JA|lKR>^)*n7U;-d$f`-`Jde|J>f)-`_tt+|4TQA6M+a GU=09|(-4MHy%BDbno81XV0G9xpU{!r%x|ly!bx~ zMnhm&hk)Ww7DfgJE(RS2AOPiw_R$!^L5PLSr)rD^q{~gF^!g j2ZKP#3Wml;24O}So`41h=Ux^z0S$o!2L@I~Mh0sDwMPNu literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..ef79b911937c276a5c65809d96a8d95e60365433 GIT binary patch literal 1923 zcmZ?wbhEHbWMi;m{{Elg+O=zs9zA;UU%wDXmk`YL3(@9Lzfv%apnwm$A~ne6GUYeF}r zpUv|}9erfsmo&EjY zt-X!^ug$f#D7=5PT{?c+39|@yNh4nIar@?UT)r>iuZR< zFBYHwZ_lsq?;dZTe}3P-%3t5#u0Maiet-RsAAi;7*D(lLB-FDiRV-*=R6DVtkyr1< vgBGDMiHEHMX)6@kq_ch`v@6tUD7DJ;Wh`u0SyYkKp}A?tqRv`Y76xkoB#o(; literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..25b27ad1b164bca2b1d4799f365aec6a5eb637ad GIT binary patch literal 1823 zcmZ?wbhEHbRZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0ggWmtQ;~P8x|aF<`CA3nNiSixLrWmYmUc8 zrN(XvNmAo-My!{%jYXIm6s;yJK+`T6+{ z&0Mlv3sziQ>@is@_SBY@mzM`D_L}Rpb=B3?5u3B_p4z(l`uc>!U9#TW*4*5jad}nj z>1}IoZ!dU!YOeS8b$54He13KJ^!D}l_ct(e%lYis@bGYluy)*;9UC7XpP=kL&u8bR zr>AEaXWu)sbMy1_3!J;bSGJw!Xf;A^G$?-`(5Z-riCC`rg^y+uz?m t(9A9Gw`a%4$0sIh$DiA?^Yilyi@oRj?cMeD^^MKh_s{LEe$&8U4FI=Ij%)w` literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..7466b5d514e4e8501da293e47458780b7008142f GIT binary patch literal 1619 zcmZ?wbhEHbWM&Xz`2L?^&YU?fUc5MQ;>4mwi+=t3_2b8nQ>RY-`}c3zvSpVpUAl7R z%KuR?8Un*N1QdU=FfuT3Gw3h?0Vq$jkLHNs8{4BkBOC%81`LcGDh?YG8k#v+nIaSt n8W>nv*aTz}5*Qm<*wpweG8`NlSlP_j90VL17+FM_nHa1A5J~+O literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..9ca76f8b3287d535efea5f23eb29d48c7235688a GIT binary patch literal 1915 zcmZ?wbhEHbWMi;m{{Ej~&YU@~UcGwr=FN{EKfZnY_T|f$PoF-0`0(M~yLbOb!Dt8! z_YhG0$->CMz{#M)00f{s(LS0ZhI^ck`VU_SaQtUr=2U{Mk> z&?r=L>15;1(3wz}?B2`9+hHP5l;Sy2-IK}Uz^8_T)AYi(nRF~rW13~g%XLH3LEV48 zH7}cll!Hd#V&{ostPUla!Ak>X%1xa$W!2@C{%hUNo)TSseO2tiy1iQ4bZ%~rKEBL! zx7gZi+Y|2|%k>st7qvU*HT>i{Cq3iCgS~CS%5i_b7bG9;m;609CZg!+ zi5Z&K*LY@betLGgZ91Q?)Rvd$mIluMw`P~=>+6fdkC)j>Z+mfjW$yEJXQj92+~3mp z`rqE@iuaFBbZYa@oAdM2!*h$B=hywIEPZ)>rS$!KG1cGSJlGi>A>KcC&-ah_&$j!Y zm)raM)7yvp?e+KD{r&y=`Sb1j<@f*k|M91ILOl!9iusLy6g3_+GHXR7Gz%DMBsK{K kSv+hKOY3;p#vgZMVViu>iw7N|T@gtg8k1f`I51cP0P#bmr~m)} literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..25b27ad1b164bca2b1d4799f365aec6a5eb637ad GIT binary patch literal 1823 zcmZ?wbhEHbRZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0ggWmtQ;~P8x|aF<`CA3nNiSixLrWmYmUc8 zrN(XvNmAo-My!{%jYXIm6s;yJK+`T6+{ z&0Mlv3sziQ>@is@_SBY@mzM`D_L}Rpb=B3?5u3B_p4z(l`uc>!U9#TW*4*5jad}nj z>1}IoZ!dU!YOeS8b$54He13KJ^!D}l_ct(e%lYis@bGYluy)*;9UC7XpP=kL&u8bR zr>AEaXWu)sbMy1_3!J;bSGJw!Xf;A^G$?-`(5Z-riCC`rg^y+uz?m t(9A9Gw`a%4$0sIh$DiA?^Yilyi@oRj?cMeD^^MKh_s{LEe$&8U4FI=Ij%)w` literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..7466b5d514e4e8501da293e47458780b7008142f GIT binary patch literal 1619 zcmZ?wbhEHbWM&Xz`2L?^&YU?fUc5MQ;>4mwi+=t3_2b8nQ>RY-`}c3zvSpVpUAl7R z%KuR?8Un*N1QdU=FfuT3Gw3h?0Vq$jkLHNs8{4BkBOC%81`LcGDh?YG8k#v+nIaSt n8W>nv*aTz}5*Qm<*wpweG8`NlSlP_j90VL17+FM_nHa1A5J~+O literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..9ca76f8b3287d535efea5f23eb29d48c7235688a GIT binary patch literal 1915 zcmZ?wbhEHbWMi;m{{Ej~&YU@~UcGwr=FN{EKfZnY_T|f$PoF-0`0(M~yLbOb!Dt8! z_YhG0$->CMz{#M)00f{s(LS0ZhI^ck`VU_SaQtUr=2U{Mk> z&?r=L>15;1(3wz}?B2`9+hHP5l;Sy2-IK}Uz^8_T)AYi(nRF~rW13~g%XLH3LEV48 zH7}cll!Hd#V&{ostPUla!Ak>X%1xa$W!2@C{%hUNo)TSseO2tiy1iQ4bZ%~rKEBL! zx7gZi+Y|2|%k>st7qvU*HT>i{Cq3iCgS~CS%5i_b7bG9;m;609CZg!+ zi5Z&K*LY@betLGgZ91Q?)Rvd$mIluMw`P~=>+6fdkC)j>Z+mfjW$yEJXQj92+~3mp z`rqE@iuaFBbZYa@oAdM2!*h$B=hywIEPZ)>rS$!KG1cGSJlGi>A>KcC&-ah_&$j!Y zm)raM)7yvp?e+KD{r&y=`Sb1j<@f*k|M91ILOl!9iusLy6g3_+GHXR7Gz%DMBsK{K kSv+hKOY3;p#vgZMVViu>iw7N|T@gtg8k1f`I51cP0P#bmr~m)} literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-pressed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-pressed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..7299470e08452eb619a5458f817ca745d6e8dee5 GIT binary patch literal 1839 zcmZ?wbhEHb(-4MH?Cc~cIC>IOP4NPxNzazxpQaEoH=#s z)c;X18Un*N1QdU=FfuT3Gw3h?0Vq$jkLHNs8{4BkBOC%8{}~uLWIQ%3IM~c2su6Qy zLt<0AfU?&dkB^E?-4e!GcTQ|ve4JUqxl6`#lZpqkM)0bblbcjeF&QMEn&Y{7+1c4F zMX&Ch+`Rn!9Ofo2S+6ZCE-v<9)rdW{W##4NUd$eIy|%8px;kQW*4 zd)u0un=>x2iaot;?d|Oak5A3@-oEbc?uyT^?w;Ph{{H?3W^Os39UC4V?hw|FJF{cs zk literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..9533cde81381931106b6f259d778b7f285d79954 GIT binary patch literal 1621 zcmZ?wbhEHbWM&Xz`2L?^&YU^Njvd>wWy^vE3vS)Ib>hT{UAuPOyLa!-ojW^r>{zsD z(Vjhfwr$&X=+L46qhK@yhFu6K{$ycfVBllWVE_V9o@gJ<5yLK$M?FMB2yhrNFmmuX zY-l*h%puIh^5DP$24)^69s`Sn#%2a49+3$a3=f;w*rm#B7CdlZX6E9t;NW1e1^^HJ B_TB&h literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..ab47f163797b71fb49df530a67055b8a85ee05fe GIT binary patch literal 1917 zcmZ?wbhEHbWMi;m{{Ej~&YU@S?%X+X;>4|6w{G0HaqZf*D_5>ux^(Hng$w7-ojY^p z%&AkS{*Qvu5E!N*p!k!8k%57SL5BedKzX8lG)D~6s2=qeQ6a$bpMjA>LW7~fp@~gg zBPJoB(V3N3UdqS8@ZgayaZM?g1A+&S^|A4H*a#FYab(uuo#V4pXz4*F1MWRNnG+g( znN0JaZOJTXIL~NXFU8|va^S)u_f9oat_2#w%e@zyxmty0UR@rtFmCFqt=ZSshwW`+ z?Jiw&b5q97Nukx#a&N6IIJ$4@>uq^=wwB+1Hn)5FySUwT%-?0#gcl?ps^Qo6J0oF` zbi7;9{Ga#D4=JZ78Hd;Hu`GIidX8cJHJx20FD}pXUGBzPwe|J24W65){hd|z=Hiaf z``2=Jm%qEYKb!qN@0{-i_m52$kJpQ-EPi%mzIVT$tYyjT%NxV(&)xl5_Wsu4@~HiG zcGW-MKRGyGeEq)KU*DhIJ>K45x9{(-A2%;wub*H4?<>Qp@ADh}iAp@EWB)e&K?8@- vjs=Z;ZZ{sZaCt>2w(`WSNNkgF>R8w=-E`w&vr3f3qE4k{5sz{h85yhrq#vJQ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-medium-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..7ec6186f980b397b33d1a9a2a44b7c8c6a44d32e GIT binary patch literal 1919 zcmZ?wbhEHbWMi;m{{Ej~*REaf-o5+q;lrOle}4V?_2b8nZ{NOs`SRt{r%(S!!Dt8! z_YhG0$->CMz{#M)00f{s(LS0ZhI^ck`VU_SaQtUr=2U{Mk> z&?r=L=@cl4R0O%0~-7p zZR^>-W*RhHWN__QGuD)v&HAn zv-$n~_2b3u_VN3GmE-%@<@xjL>;C`Vs;*GWD8%ugk@?&72ld=yD;6~JDsen);SW2Z m&?+AFBB4zt@5RCvsiqqXJLKIml-g7mc|7V;-zF-+U=0A@@1<-2 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..eb930d1fd718a78475bb63a73f2e25a5d84a7e54 GIT binary patch literal 1801 zcmZ?wbhEHb$PRY#l;?zwPH_gS$TPRz+$htURzgPT^+GG>+Y$otFNz5INT-cy=~3S%^8`2GdnjwKfl1aTh4damY0`T1h0-eyKC#~>l>0!&-2~A?d|Oy#jo$3-M#(&{R7S1 S@_u`Ee0+RjaycIdgEau*$$}dI literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..f075cbf9196d28da0d4dc72d752673c4f6c31f2d GIT binary patch literal 1619 zcmZ?wbhEHbWM&Xz`2L?^*REY}-n_YX?b^P5`~Lj-^X}cdTeoig`}gn0jT;9J9C+~H z!J|iy{*Qvu5E!N*p!k!8k%57SL5BedKzX8lG)D~6s2=qeQ6a!#z`)31<1nG&AQOi$ r7Ync!U|{Cv<1zR#;UFU`n+Bgl27_Zmn>4oyhr$5|CT1QcCI)K&MG67h literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-disabled-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-disabled-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..cac2151dd429f5fab6db976ba47db4d060b0fe99 GIT binary patch literal 1803 zcmZ?wbhEHbB7cXA?9|fZ!Ffu|w@h1x- z0|PsQ4g(N?@vEkw24q@%MGdnguK0ZO&d!EnEO;1nH zFwVYrX6NST=NCA4%lYow^78VE;MH+wcWr%reM9o;dA_^1y}iAo`1QTBySKl;f1sIL U-fz#2kB?7G){f`1RA8_M0EAtCp8x;= literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..7d44a4e4056df1269386005c2178add5b921fd2a GIT binary patch literal 1618 zcmZ?wbhEHbWM&Xz`2L^a+O=yB9z3{p>(-4MHy%BDbno81XV0G9xpU{!r%x|ly!bx~ zMnhm&hk)Ww7DfgJE(RS2AOPiw_R$!^L5PLSr)rD^q{~gF^!g j2ZKP#3Wml;24O}So`41h=Ux^z0S$o!2L@I~Mh0sDwMPNu literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..28f51a8952cc879da77dae902cce02a62a692a0f GIT binary patch literal 1888 zcmZ?wbhEHbWMeR3{{Elg+O=y>o;-Q>?AeD8AKtxt_vX!;SFc{Zc=6)@C>RZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gnF+j64z+3=IxVY@A{?78ev6+gW6sOd=K} zF?NaZO5MnCP4Ab-yw@vve)Np#1dFHDvl9QkN%(tk1 z#d zqPFLrJ~UT*d)}=bCbG zo3Gm=S)6{h$Jw9F_Sfdji*o|2!+fnuGp{X=KV9Zq{Wa(I*67Fg*6uEUb7y}g`*+^m zKXM-(Z`U^Go3pdv`H9);?fYtWmAA3!6h&Ss1JV DoD`Ur literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..bfb864fc52345d3e3bf7ce6620d5d08727275d60 GIT binary patch literal 1810 zcmZ?wbhEHbRZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gm?!tQ;~P8x|aFW@6WfIk92k;dTLKp&1?< z7ai@EP#3##V&mfD{R-w%5}uouoSdxTE*Eif)6&xn2Fa)9cy3;Hb~Z!Nt2-w*FF!xu zp_xn8Ys-p@i#;Z5#h%)-^78V4#a?s0wywImI%0Fy-BVjvUtgbaxJ%Z1+nSr3GcK=+ zJ-u!1?d=7RPtEn-zV7bsiqEg^p5DIx{{9ALZaJSF8y+6+5Y~=6vt#4q;}ev<=lSg1 z^z`%$LP;`Yl literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..0326eef6cfd26a1b5426237b995e71717d68ba20 GIT binary patch literal 1622 zcmZ?wbhEHbWM&Xz`2L?^&YU?fUc5MQ;>4mwi+=q0@#@v9Q>RY-`t@tsvSpVpUAl7R z%D;dA{*Qvu5E!N*p!k!8k%57SL5BedKzX8lG)D~6s2=qeQ6a!#%)rQD<1nG&AQK0( uh6qPPV*?|Th>S!+K?5TjyO4xIM*@QrGZT}6!2?5vCI%)Rg&h(C4Aub8vi?B; literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2d90e1e72cefe0a1b2d8d18521ac8c548a870d87 GIT binary patch literal 1892 zcmZ?wbhEHbWMeR3{{Ej~&YU@~UcGwr=FN{EKfZnY_T|f$PoF-0`0(M~yLbOb!Dt8! z_YhG0$->CMz{#M)00f{s(LS0ZhI^ck`VU_SaQtUr|@{%Es-X zBT%@=ky(N_=1j(ihU3h#_EIhmLXD1$8mx1Cb_y*$2+TTrdMt(0d}lHwJ-Sl4Io)rT zeJcV4R5N6C@WwFPQ&(Sxt&cifw%5um`{w$TgY!gJ zZ_B;4J?-wX*6y-(cXw6XymYmCdj7qw4Nw1xzS&;zU~l_xHMyP{ACeCDDVxt*6H%0U zsz*Qj+!;xuwDYqa%jJFRuyQAEvvz?9J_UxzCUBR&RfQ??C2f zv468GKHNM}Dj%M=r}ERo^WE<8d~<)6JioR%{Jvgnb@{t1`@0?a{pGAHK0m%VegC<8 zzpK8#dc57<-oEzl_b(6cPhY>k{@?#^KgAUqe(+`_G;(}$U(m#EG~+>?0N0NNEqq}T KioT4D4AuZ62b`|} literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..bfb864fc52345d3e3bf7ce6620d5d08727275d60 GIT binary patch literal 1810 zcmZ?wbhEHbRZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gm?!tQ;~P8x|aFW@6WfIk92k;dTLKp&1?< z7ai@EP#3##V&mfD{R-w%5}uouoSdxTE*Eif)6&xn2Fa)9cy3;Hb~Z!Nt2-w*FF!xu zp_xn8Ys-p@i#;Z5#h%)-^78V4#a?s0wywImI%0Fy-BVjvUtgbaxJ%Z1+nSr3GcK=+ zJ-u!1?d=7RPtEn-zV7bsiqEg^p5DIx{{9ALZaJSF8y+6+5Y~=6vt#4q;}ev<=lSg1 z^z`%$LP;`Yl literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..252a7ad8f888826bd476d3926d630e2e1b91314f GIT binary patch literal 1622 zcmZ?wbhEHbWM&Xz`2L?^&YU?fUc5MQ;>4mwi+=q0@#@v9Q>RY-`t@tsvSpVpUAl7R z%D;dA{*Qvu5E!N*p!k!8k%57SL5BedKzX8lG)D~6s2=qeQ6a!#%)rQD<1nG&AQK0( uh6qPPV*?|Th>S!+K?5TjyO4xIM*@QrGZT}6LBj$E1{Ow^340_27_0%%O8$KS literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2d90e1e72cefe0a1b2d8d18521ac8c548a870d87 GIT binary patch literal 1892 zcmZ?wbhEHbWMeR3{{Ej~&YU@~UcGwr=FN{EKfZnY_T|f$PoF-0`0(M~yLbOb!Dt8! z_YhG0$->CMz{#M)00f{s(LS0ZhI^ck`VU_SaQtUr|@{%Es-X zBT%@=ky(N_=1j(ihU3h#_EIhmLXD1$8mx1Cb_y*$2+TTrdMt(0d}lHwJ-Sl4Io)rT zeJcV4R5N6C@WwFPQ&(Sxt&cifw%5um`{w$TgY!gJ zZ_B;4J?-wX*6y-(cXw6XymYmCdj7qw4Nw1xzS&;zU~l_xHMyP{ACeCDDVxt*6H%0U zsz*Qj+!;xuwDYqa%jJFRuyQAEvvz?9J_UxzCUBR&RfQ??C2f zv468GKHNM}Dj%M=r}ERo^WE<8d~<)6JioR%{Jvgnb@{t1`@0?a{pGAHK0m%VegC<8 zzpK8#dc57<-oEzl_b(6cPhY>k{@?#^KgAUqe(+`_G;(}$U(m#EG~+>?0N0NNEqq}T KioT4D4AuZ62b`|} literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-pressed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-pressed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..d1d244baa4ed8d9563df09ca0506d0b93162d92a GIT binary patch literal 1816 zcmZ?wbhEHb(-4MH?Cc~cIC>IOP4NPxNzazxpQaEocTWr zMnhm&hk)Ww7DfgJE(RS2AOPiw_R$%DEw z&CMB?SH+&*w)Xb+g2$)kdT(EMcX!3-S9ecuUw?mp12ear&yEcb4|fP_$DP@+@$vBq z%HH#Qc5ZrldWLcKy)!#EKR>^~xm(V6*Or%;R|Kz)JG*P^>+2hmPtWt+z3uJo9mTKj so!!0t{rv;Y-12^Vc6@w%VzPGpxjj2SKfkcpd%oY^U0=^KGBQ{L0I&goe*gdg literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..9533cde81381931106b6f259d778b7f285d79954 GIT binary patch literal 1621 zcmZ?wbhEHbWM&Xz`2L?^&YU^Njvd>wWy^vE3vS)Ib>hT{UAuPOyLa!-ojW^r>{zsD z(Vjhfwr$&X=+L46qhK@yhFu6K{$ycfVBllWVE_V9o@gJ<5yLK$M?FMB2yhrNFmmuX zY-l*h%puIh^5DP$24)^69s`Sn#%2a49+3$a3=f;w*rm#B7CdlZX6E9t;NW1e1^^HJ B_TB&h literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2675355b24da037bf006c091b0a75f09d2904178 GIT binary patch literal 1894 zcmZ?wbhEHbWMeR3{{Ej~&YU@S?%X+b>eQ`Uw{G0HaqZf*D_5>ux^(Hng$w7-ojY^p z%>Pj^8Un*N1QdU=FfuT3Gw3h?0Vq$jkLHNs8{4BkBOC%8{}~uLBs3Tr9GcifH9`^$ z8V|Fu33|8)6fQc*EWsahCgVbbJ2M-1hmJte5=SNtP6?RF4HK=dvBO+_F4izH6gWY}FRcz-9h(rFy+eSA{MO+8B1V%5-J;ir9livcFBU zZ>~*0JWF);G@aYqvmY;NwGLl*YgfhlSEbq0^W*kc-{x8-J;UI^;pX3J|90=#kaW0L z(0SgU9Y)Egrt4atJ5#wi{p2jiabho>`-QJxg&#x{_zF)W3y7b-sz0uD6{&jmQ z-#)rHJ-ps-clC$24>!;MZ&&;G>-WdEr_Y~n_y7NI)(-gwX08?SjT~|-7SyvD%~;UP U{Y_o5Q80+(VXJVOr~rdC0FWb*tpET3 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-small-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..fa4d868cc4bf60020b2384939d85c42ac42874d1 GIT binary patch literal 1889 zcmZ?wbhEHbWMeR3{{Ej~*REY3K79D}>C>M-e}4V?_2b8nZ{NOs`SRueC>RZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gnF+j64z+3=IxVY@A{&4hs|+oB8CKG#oZI z9PAQfl(>;`K;d|wl%0yEMh(_EKA8p$rx|qPkCj*ot2InFE4+56GC0kDmVNQB zE0R;xFD`bT%;dT&WaWir0rR~~UroshSsmP+l{#yx_OM3cyn6NXdGl<4 zeSdxWxV`=Uy*1yzK74$?e!qR~zyCke;~QA`G8WV^DMc)3Vt@8rp@G-w#Df<8XQBcO F)&M5go>~9^ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..f19715a3e6339b5eef2e557a3bbd7ce11221ee9f GIT binary patch literal 1585 zcmZ?wbhEHbWM&Xz`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O Y1UUE@m^oxTHY_;U%pt7C!@*z;06j7TnE(I) literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..f19715a3e6339b5eef2e557a3bbd7ce11221ee9f GIT binary patch literal 1585 zcmZ?wbhEHbWM&Xz`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O Y1UUE@m^oxTHY_;U%pt7C!@*z;06j7TnE(I) literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..51698b0b77c71e821200c632bec55c3857ae77ac GIT binary patch literal 1596 zcmZ?wbhEHbWMfcb`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O k1UMuam^oxTHY_;U%pt55b7I57!|ejfUUOa;C@@$908dy6$^ZZW literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..6ec023ab66c3cb19f7e47ee4059707f6f4316431 GIT binary patch literal 1837 zcmZ?wbhEHbRZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gnF+tQ;~P8x|aF<`CA3Ik92kVMYOEuQ?tY z7ai@EP#3y!V&mfD{R+-qGA}naoSdu?yej78rlqH+uqB*we|J&4aukH`R?BK_V$kA*Z0ou-v0jn zfo5)bzdbuXK0Yy7JO13Bou8jySnNIDZ||b%7 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..ca45195c75b9a3d544ceae93e069326161bedcb3 GIT binary patch literal 1618 zcmZ?wbhEHbWM&Xz`2L?^&YU?fUc5MQ;>4mwi+=t3_2b8nQ>RY-`}c3zvSpVpUAl7R z%KuR?8Un*N1QdU=FfuT3Gw3h?0Vq$jkLHNs8{4BkBOC%8`V5R5Dh?YG8k#v+nIaSt n8W>nv*aTz}5*Qm<*f^9V3NAD>FmUrISXcx#oaka?WUvMRCBFX} literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..c081bb166460f8203a13c5aa7f9ca23a2efd819a GIT binary patch literal 1934 zcmZ?wbhEHbWMgn*{{Ej~&YU@~UcGwr=FN{EKfZnY_T|f$PoF-0`0(M~yLbOb!Dt8! z_YhG0$->CMz{#M)00f{s(LS0ZhI^ck`VU_SaQtUr=A;}(@t zahQ1ENSC-~+7^xl4ab?-?3>>FFii1eU<;BmSW%?vHB~2($-?1t!@*f*>DTt`6lQ3e z&%wjQ`$~9)BclhajPEXy%;2RAOdh-m1zJ~E1g}mzsuh|YzAk)i74Pm)of{i7&aW~( zy=~3y^|=rCscLW6ySqE{@uOI4^ZfXIWq;Y&_Jps0aHyVF*zQcl#^j?DguUftW`0UJ zGR-*o-klvr&yP>HZf9E?S(15azU^#3+bGjlS2x6;F7w^J_3h=Yh4<6e?lymae`7K8 z{Jqu{g^%|2s=M38?D+KT_*~<9zuH};FK;Z)j-NO8ciD@3hnutI z+Ujr5&+hKuA7}UH=a2WVx1Zm?@BjC|j6dXSnZ!IEH2!4mcu>czc0-|=%}PSCgv+^9JMF}ycJ*x%$~{`AB9wdePl*dKSOWl^ C)TN04 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..6ec023ab66c3cb19f7e47ee4059707f6f4316431 GIT binary patch literal 1837 zcmZ?wbhEHbRZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gnF+tQ;~P8x|aF<`CA3Ik92kVMYOEuQ?tY z7ai@EP#3y!V&mfD{R+-qGA}naoSdu?yej78rlqH+uqB*we|J&4aukH`R?BK_V$kA*Z0ou-v0jn zfo5)bzdbuXK0Yy7JO13Bou8jySnNIDZ||b%7 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..ca45195c75b9a3d544ceae93e069326161bedcb3 GIT binary patch literal 1618 zcmZ?wbhEHbWM&Xz`2L?^&YU?fUc5MQ;>4mwi+=t3_2b8nQ>RY-`}c3zvSpVpUAl7R z%KuR?8Un*N1QdU=FfuT3Gw3h?0Vq$jkLHNs8{4BkBOC%8`V5R5Dh?YG8k#v+nIaSt n8W>nv*aTz}5*Qm<*f^9V3NAD>FmUrISXcx#oaka?WUvMRCBFX} literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..c081bb166460f8203a13c5aa7f9ca23a2efd819a GIT binary patch literal 1934 zcmZ?wbhEHbWMgn*{{Ej~&YU@~UcGwr=FN{EKfZnY_T|f$PoF-0`0(M~yLbOb!Dt8! z_YhG0$->CMz{#M)00f{s(LS0ZhI^ck`VU_SaQtUr=A;}(@t zahQ1ENSC-~+7^xl4ab?-?3>>FFii1eU<;BmSW%?vHB~2($-?1t!@*f*>DTt`6lQ3e z&%wjQ`$~9)BclhajPEXy%;2RAOdh-m1zJ~E1g}mzsuh|YzAk)i74Pm)of{i7&aW~( zy=~3y^|=rCscLW6ySqE{@uOI4^ZfXIWq;Y&_Jps0aHyVF*zQcl#^j?DguUftW`0UJ zGR-*o-klvr&yP>HZf9E?S(15azU^#3+bGjlS2x6;F7w^J_3h=Yh4<6e?lymae`7K8 z{Jqu{g^%|2s=M38?D+KT_*~<9zuH};FK;Z)j-NO8ciD@3hnutI z+Ujr5&+hKuA7}UH=a2WVx1Zm?@BjC|j6dXSnZ!IEH2!4mcu>czc0-|=%}PSCgv+^9JMF}ycJ*x%$~{`AB9wdePl*dKSOWl^ C)TN04 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-pressed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-pressed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..3362886bc761acb3d28f149493af88a1b732c54f GIT binary patch literal 1858 zcmZ?wbhEHbux^(Hng$w7-ojY^p z%&AkS{*Qvu5E!N*p!k!8k%57SL5BedKzX8lG)D~6s2=qeQ6a$bpMjA>#$&^RgUuYm zdJ!i!EOcfSQ1+VRv2oGSZcd}DJ0~_SKHje&*dgP&Y01gS8o_cACpRrUJ>4Mrl!?RU zWoKtw6u-I?xnTME`3}uovR+dfE-v<%tQC7|%gW13m=}4?_1e1X>govAjJv0{uD-rL z;V_$o_qH`RH)mX46?=Ny+S}U;9-o@)y?x!?-4&l--95d1{r&w7%-nK5J2pH#+##$T zcV@@N$Hylqd(ZRPx#{WY8OGW7&g|U${QLsvZaLpwTV7sX5xhF??5?e^uWv{`JwWy^vE3vS)Ib>+&HUAuPOyLa!-ojW^r>{zsD z(Vjhfwr$&X=+L46qhK@yhFu6K{$ycfVBllWVE_V9o@gJ<5yLK$M?FMB2yhrMFmmuX yYkEo2u%>xZg%zR8t4AuZ?gZ3)` literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..73614a9597d36e0b715073d4a528ee89c7ca2e4a GIT binary patch literal 1947 zcmZ?wbhEHbWMgn*{{Ej~&YU^-?%g|a;>4XhcW&Lfb>qg3YuBz_xpL*wrArqsTsU{` z+?g|HPMtdSe-w;{z;Fx!#h)yU3=F&sIt)Mn$`kFQIbt}*^QfPQ4FQh-42&ES8Vn5% zO>CTEEC&`SGB}P zz9sSgw6(j--`(F<%g)|cz2oDf6P3c@b#p2|-M!FiKmFaFsxMEk&rYA;H}_ZB>wAaG zE9BS5)>MAFbAGk|c{!V^@2?+j|L=GIPtEU7pRd>Nx3ByE`_IGg^Xr(zBpx*WlboT@ z#Gv;gp;8X4G literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-large-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..51698b0b77c71e821200c632bec55c3857ae77ac GIT binary patch literal 1596 zcmZ?wbhEHbWMfcb`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O k1UMuam^oxTHY_;U%pt55b7I57!|ejfUUOa;C@@$908dy6$^ZZW literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..f19715a3e6339b5eef2e557a3bbd7ce11221ee9f GIT binary patch literal 1585 zcmZ?wbhEHbWM&Xz`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O Y1UUE@m^oxTHY_;U%pt7C!@*z;06j7TnE(I) literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..f19715a3e6339b5eef2e557a3bbd7ce11221ee9f GIT binary patch literal 1585 zcmZ?wbhEHbWM&Xz`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O Y1UUE@m^oxTHY_;U%pt7C!@*z;06j7TnE(I) literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..94256ef9c6221865cc142ec71613e5c5bf78062f GIT binary patch literal 1594 zcmZ?wbhEHbWMhzG`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O h1USSQm^oxTHY_;U%pt55b7I57!|ejfd^{Ws)&T132fP3P literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..25b27ad1b164bca2b1d4799f365aec6a5eb637ad GIT binary patch literal 1823 zcmZ?wbhEHbRZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0ggWmtQ;~P8x|aF<`CA3nNiSixLrWmYmUc8 zrN(XvNmAo-My!{%jYXIm6s;yJK+`T6+{ z&0Mlv3sziQ>@is@_SBY@mzM`D_L}Rpb=B3?5u3B_p4z(l`uc>!U9#TW*4*5jad}nj z>1}IoZ!dU!YOeS8b$54He13KJ^!D}l_ct(e%lYis@bGYluy)*;9UC7XpP=kL&u8bR zr>AEaXWu)sbMy1_3!J;bSGJw!Xf;A^G$?-`(5Z-riCC`rg^y+uz?m t(9A9Gw`a%4$0sIh$DiA?^Yilyi@oRj?cMeD^^MKh_s{LEe$&8U4FI=Ij%)w` literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..7466b5d514e4e8501da293e47458780b7008142f GIT binary patch literal 1619 zcmZ?wbhEHbWM&Xz`2L?^&YU?fUc5MQ;>4mwi+=t3_2b8nQ>RY-`}c3zvSpVpUAl7R z%KuR?8Un*N1QdU=FfuT3Gw3h?0Vq$jkLHNs8{4BkBOC%81`LcGDh?YG8k#v+nIaSt n8W>nv*aTz}5*Qm<*wpweG8`NlSlP_j90VL17+FM_nHa1A5J~+O literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-focus-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-focus-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..9ca76f8b3287d535efea5f23eb29d48c7235688a GIT binary patch literal 1915 zcmZ?wbhEHbWMi;m{{Ej~&YU@~UcGwr=FN{EKfZnY_T|f$PoF-0`0(M~yLbOb!Dt8! z_YhG0$->CMz{#M)00f{s(LS0ZhI^ck`VU_SaQtUr=2U{Mk> z&?r=L>15;1(3wz}?B2`9+hHP5l;Sy2-IK}Uz^8_T)AYi(nRF~rW13~g%XLH3LEV48 zH7}cll!Hd#V&{ostPUla!Ak>X%1xa$W!2@C{%hUNo)TSseO2tiy1iQ4bZ%~rKEBL! zx7gZi+Y|2|%k>st7qvU*HT>i{Cq3iCgS~CS%5i_b7bG9;m;609CZg!+ zi5Z&K*LY@betLGgZ91Q?)Rvd$mIluMw`P~=>+6fdkC)j>Z+mfjW$yEJXQj92+~3mp z`rqE@iuaFBbZYa@oAdM2!*h$B=hywIEPZ)>rS$!KG1cGSJlGi>A>KcC&-ah_&$j!Y zm)raM)7yvp?e+KD{r&y=`Sb1j<@f*k|M91ILOl!9iusLy6g3_+GHXR7Gz%DMBsK{K kSv+hKOY3;p#vgZMVViu>iw7N|T@gtg8k1f`I51cP0P#bmr~m)} literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..25b27ad1b164bca2b1d4799f365aec6a5eb637ad GIT binary patch literal 1823 zcmZ?wbhEHbRZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0ggWmtQ;~P8x|aF<`CA3nNiSixLrWmYmUc8 zrN(XvNmAo-My!{%jYXIm6s;yJK+`T6+{ z&0Mlv3sziQ>@is@_SBY@mzM`D_L}Rpb=B3?5u3B_p4z(l`uc>!U9#TW*4*5jad}nj z>1}IoZ!dU!YOeS8b$54He13KJ^!D}l_ct(e%lYis@bGYluy)*;9UC7XpP=kL&u8bR zr>AEaXWu)sbMy1_3!J;bSGJw!Xf;A^G$?-`(5Z-riCC`rg^y+uz?m t(9A9Gw`a%4$0sIh$DiA?^Yilyi@oRj?cMeD^^MKh_s{LEe$&8U4FI=Ij%)w` literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..7466b5d514e4e8501da293e47458780b7008142f GIT binary patch literal 1619 zcmZ?wbhEHbWM&Xz`2L?^&YU?fUc5MQ;>4mwi+=t3_2b8nQ>RY-`}c3zvSpVpUAl7R z%KuR?8Un*N1QdU=FfuT3Gw3h?0Vq$jkLHNs8{4BkBOC%81`LcGDh?YG8k#v+nIaSt n8W>nv*aTz}5*Qm<*wpweG8`NlSlP_j90VL17+FM_nHa1A5J~+O literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..9ca76f8b3287d535efea5f23eb29d48c7235688a GIT binary patch literal 1915 zcmZ?wbhEHbWMi;m{{Ej~&YU@~UcGwr=FN{EKfZnY_T|f$PoF-0`0(M~yLbOb!Dt8! z_YhG0$->CMz{#M)00f{s(LS0ZhI^ck`VU_SaQtUr=2U{Mk> z&?r=L>15;1(3wz}?B2`9+hHP5l;Sy2-IK}Uz^8_T)AYi(nRF~rW13~g%XLH3LEV48 zH7}cll!Hd#V&{ostPUla!Ak>X%1xa$W!2@C{%hUNo)TSseO2tiy1iQ4bZ%~rKEBL! zx7gZi+Y|2|%k>st7qvU*HT>i{Cq3iCgS~CS%5i_b7bG9;m;609CZg!+ zi5Z&K*LY@betLGgZ91Q?)Rvd$mIluMw`P~=>+6fdkC)j>Z+mfjW$yEJXQj92+~3mp z`rqE@iuaFBbZYa@oAdM2!*h$B=hywIEPZ)>rS$!KG1cGSJlGi>A>KcC&-ah_&$j!Y zm)raM)7yvp?e+KD{r&y=`Sb1j<@f*k|M91ILOl!9iusLy6g3_+GHXR7Gz%DMBsK{K kSv+hKOY3;p#vgZMVViu>iw7N|T@gtg8k1f`I51cP0P#bmr~m)} literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-pressed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-pressed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..7299470e08452eb619a5458f817ca745d6e8dee5 GIT binary patch literal 1839 zcmZ?wbhEHb(-4MH?Cc~cIC>IOP4NPxNzazxpQaEoH=#s z)c;X18Un*N1QdU=FfuT3Gw3h?0Vq$jkLHNs8{4BkBOC%8{}~uLWIQ%3IM~c2su6Qy zLt<0AfU?&dkB^E?-4e!GcTQ|ve4JUqxl6`#lZpqkM)0bblbcjeF&QMEn&Y{7+1c4F zMX&Ch+`Rn!9Ofo2S+6ZCE-v<9)rdW{W##4NUd$eIy|%8px;kQW*4 zd)u0un=>x2iaot;?d|Oak5A3@-oEbc?uyT^?w;Ph{{H?3W^Os39UC4V?hw|FJF{cs zk literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..9533cde81381931106b6f259d778b7f285d79954 GIT binary patch literal 1621 zcmZ?wbhEHbWM&Xz`2L?^&YU^Njvd>wWy^vE3vS)Ib>hT{UAuPOyLa!-ojW^r>{zsD z(Vjhfwr$&X=+L46qhK@yhFu6K{$ycfVBllWVE_V9o@gJ<5yLK$M?FMB2yhrNFmmuX zY-l*h%puIh^5DP$24)^69s`Sn#%2a49+3$a3=f;w*rm#B7CdlZX6E9t;NW1e1^^HJ B_TB&h literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..ab47f163797b71fb49df530a67055b8a85ee05fe GIT binary patch literal 1917 zcmZ?wbhEHbWMi;m{{Ej~&YU@S?%X+X;>4|6w{G0HaqZf*D_5>ux^(Hng$w7-ojY^p z%&AkS{*Qvu5E!N*p!k!8k%57SL5BedKzX8lG)D~6s2=qeQ6a$bpMjA>LW7~fp@~gg zBPJoB(V3N3UdqS8@ZgayaZM?g1A+&S^|A4H*a#FYab(uuo#V4pXz4*F1MWRNnG+g( znN0JaZOJTXIL~NXFU8|va^S)u_f9oat_2#w%e@zyxmty0UR@rtFmCFqt=ZSshwW`+ z?Jiw&b5q97Nukx#a&N6IIJ$4@>uq^=wwB+1Hn)5FySUwT%-?0#gcl?ps^Qo6J0oF` zbi7;9{Ga#D4=JZ78Hd;Hu`GIidX8cJHJx20FD}pXUGBzPwe|J24W65){hd|z=Hiaf z``2=Jm%qEYKb!qN@0{-i_m52$kJpQ-EPi%mzIVT$tYyjT%NxV(&)xl5_Wsu4@~HiG zcGW-MKRGyGeEq)KU*DhIJ>K45x9{(-A2%;wub*H4?<>Qp@ADh}iAp@EWB)e&K?8@- vjs=Z;ZZ{sZaCt>2w(`WSNNkgF>R8w=-E`w&vr3f3qE4k{5sz{h85yhrq#vJQ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-medium-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..94256ef9c6221865cc142ec71613e5c5bf78062f GIT binary patch literal 1594 zcmZ?wbhEHbWMhzG`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O h1USSQm^oxTHY_;U%pt55b7I57!|ejfd^{Ws)&T132fP3P literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..f19715a3e6339b5eef2e557a3bbd7ce11221ee9f GIT binary patch literal 1585 zcmZ?wbhEHbWM&Xz`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O Y1UUE@m^oxTHY_;U%pt7C!@*z;06j7TnE(I) literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..f19715a3e6339b5eef2e557a3bbd7ce11221ee9f GIT binary patch literal 1585 zcmZ?wbhEHbWM&Xz`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O Y1UUE@m^oxTHY_;U%pt7C!@*z;06j7TnE(I) literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..522f864ddf7433c96e927edfd1369a2a096137b0 GIT binary patch literal 1589 zcmZ?wbhEHbWMdFu`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O c1UQ5km^oxTHY_;U%pt55b7Di{!3G9v0A{@h1poj5 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-focus-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-focus-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..bfb864fc52345d3e3bf7ce6620d5d08727275d60 GIT binary patch literal 1810 zcmZ?wbhEHbRZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gm?!tQ;~P8x|aFW@6WfIk92k;dTLKp&1?< z7ai@EP#3##V&mfD{R-w%5}uouoSdxTE*Eif)6&xn2Fa)9cy3;Hb~Z!Nt2-w*FF!xu zp_xn8Ys-p@i#;Z5#h%)-^78V4#a?s0wywImI%0Fy-BVjvUtgbaxJ%Z1+nSr3GcK=+ zJ-u!1?d=7RPtEn-zV7bsiqEg^p5DIx{{9ALZaJSF8y+6+5Y~=6vt#4q;}ev<=lSg1 z^z`%$LP;`Yl literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-focus-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-focus-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..773747d9c668735048d6045c9ace80cba72ad0f8 GIT binary patch literal 1621 zcmZ?wbhEHbWM&Xz`2L?^&YU?fUc5MQ;>4mwi+=q0@#@v9Q>RY-`t@tsvSpVpUAl7R z%D;dA{*Qvu5E!N*p!k!8k%57SL5BedKzX8lG)D~6s2=qeQ6a!##K6d5<1nG&AQK0( th6qPPV*?|Th>S!+K?5TjyO6{R3xCMz{#M)00f{s(LS0ZhI^ck`VU_SaQtUr|@{%Es-X zBT%@=ky(N_=1j(ihU3h#_EIhmLXD1$8mx1Cb_y*$2+TTrdMt(0d}lHwJ-Sl4Io)rT zeJcV4R5N6C@WwFPQ&(Sxt&cifw%5um`{w$TgY!gJ zZ_B;4J?-wX*6y-(cXw6XymYmCdj7qw4Nw1xzS&;zU~l_xHMyP{ACeCDDVxt*6H%0U zsz*Qj+!;xuwDYqa%jJFRuyQAEvvz?9J_UxzCUBR&RfQ??C2f zv468GKHNM}Dj%M=r}ERo^WE<8d~<)6JioR%{Jvgnb@{t1`@0?a{pGAHK0m%VegC<8 zzpK8#dc57<-oEzl_b(6cPhY>k{@?#^KgAUqe(+`_G;(}$U(m#EG~+>?0N0NNEqq}T KioT4D4AuZ62b`|} literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..bfb864fc52345d3e3bf7ce6620d5d08727275d60 GIT binary patch literal 1810 zcmZ?wbhEHbRZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gm?!tQ;~P8x|aFW@6WfIk92k;dTLKp&1?< z7ai@EP#3##V&mfD{R-w%5}uouoSdxTE*Eif)6&xn2Fa)9cy3;Hb~Z!Nt2-w*FF!xu zp_xn8Ys-p@i#;Z5#h%)-^78V4#a?s0wywImI%0Fy-BVjvUtgbaxJ%Z1+nSr3GcK=+ zJ-u!1?d=7RPtEn-zV7bsiqEg^p5DIx{{9ALZaJSF8y+6+5Y~=6vt#4q;}ev<=lSg1 z^z`%$LP;`Yl literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..773747d9c668735048d6045c9ace80cba72ad0f8 GIT binary patch literal 1621 zcmZ?wbhEHbWM&Xz`2L?^&YU?fUc5MQ;>4mwi+=q0@#@v9Q>RY-`t@tsvSpVpUAl7R z%D;dA{*Qvu5E!N*p!k!8k%57SL5BedKzX8lG)D~6s2=qeQ6a!##K6d5<1nG&AQK0( th6qPPV*?|Th>S!+K?5TjyO6{R3xCMz{#M)00f{s(LS0ZhI^ck`VU_SaQtUr|@{%Es-X zBT%@=ky(N_=1j(ihU3h#_EIhmLXD1$8mx1Cb_y*$2+TTrdMt(0d}lHwJ-Sl4Io)rT zeJcV4R5N6C@WwFPQ&(Sxt&cifw%5um`{w$TgY!gJ zZ_B;4J?-wX*6y-(cXw6XymYmCdj7qw4Nw1xzS&;zU~l_xHMyP{ACeCDDVxt*6H%0U zsz*Qj+!;xuwDYqa%jJFRuyQAEvvz?9J_UxzCUBR&RfQ??C2f zv468GKHNM}Dj%M=r}ERo^WE<8d~<)6JioR%{Jvgnb@{t1`@0?a{pGAHK0m%VegC<8 zzpK8#dc57<-oEzl_b(6cPhY>k{@?#^KgAUqe(+`_G;(}$U(m#EG~+>?0N0NNEqq}T KioT4D4AuZ62b`|} literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-pressed-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-pressed-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..d1d244baa4ed8d9563df09ca0506d0b93162d92a GIT binary patch literal 1816 zcmZ?wbhEHb(-4MH?Cc~cIC>IOP4NPxNzazxpQaEocTWr zMnhm&hk)Ww7DfgJE(RS2AOPiw_R$%DEw z&CMB?SH+&*w)Xb+g2$)kdT(EMcX!3-S9ecuUw?mp12ear&yEcb4|fP_$DP@+@$vBq z%HH#Qc5ZrldWLcKy)!#EKR>^~xm(V6*Or%;R|Kz)JG*P^>+2hmPtWt+z3uJo9mTKj so!!0t{rv;Y-12^Vc6@w%VzPGpxjj2SKfkcpd%oY^U0=^KGBQ{L0I&goe*gdg literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-pressed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-pressed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..9533cde81381931106b6f259d778b7f285d79954 GIT binary patch literal 1621 zcmZ?wbhEHbWM&Xz`2L?^&YU^Njvd>wWy^vE3vS)Ib>hT{UAuPOyLa!-ojW^r>{zsD z(Vjhfwr$&X=+L46qhK@yhFu6K{$ycfVBllWVE_V9o@gJ<5yLK$M?FMB2yhrNFmmuX zY-l*h%puIh^5DP$24)^69s`Sn#%2a49+3$a3=f;w*rm#B7CdlZX6E9t;NW1e1^^HJ B_TB&h literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-pressed-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-pressed-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2675355b24da037bf006c091b0a75f09d2904178 GIT binary patch literal 1894 zcmZ?wbhEHbWMeR3{{Ej~&YU@S?%X+b>eQ`Uw{G0HaqZf*D_5>ux^(Hng$w7-ojY^p z%>Pj^8Un*N1QdU=FfuT3Gw3h?0Vq$jkLHNs8{4BkBOC%8{}~uLBs3Tr9GcifH9`^$ z8V|Fu33|8)6fQc*EWsahCgVbbJ2M-1hmJte5=SNtP6?RF4HK=dvBO+_F4izH6gWY}FRcz-9h(rFy+eSA{MO+8B1V%5-J;ir9livcFBU zZ>~*0JWF);G@aYqvmY;NwGLl*YgfhlSEbq0^W*kc-{x8-J;UI^;pX3J|90=#kaW0L z(0SgU9Y)Egrt4atJ5#wi{p2jiabho>`-QJxg&#x{_zF)W3y7b-sz0uD6{&jmQ z-#)rHJ-ps-clC$24>!;MZ&&;G>-WdEr_Y~n_y7NI)(-gwX08?SjT~|-7SyvD%~;UP U{Y_o5Q80+(VXJVOr~rdC0FWb*tpET3 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/btn/btn-default-toolbar-small-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..522f864ddf7433c96e927edfd1369a2a096137b0 GIT binary patch literal 1589 zcmZ?wbhEHbWMdFu`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O c1UQ5km^oxTHY_;U%pt55b7Di{!3G9v0A{@h1poj5 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/arrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/arrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..3ab4f71ac115188898fa2701b6b11561d0461e4d GIT binary patch literal 828 zcmZ?wbhEHbernn7GpqKUUw`Q0mSb0ToV>R8?9Kh>?)?A%A85cR7!84;8v=?yS(q6Z7#Vax zUI66@1`cNi&HxUF4GIUDn0duaCIlolF!PEkbz~SY9&O@c^J6$L@o@_)r+F36fdvm4 e7??TCIy4q6Xzpf_KfuF~nAS2=D2zh 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 Ku&A#Ku>T(wJsgPu literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/group-cs.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/group-cs.gif new file mode 100644 index 0000000000000000000000000000000000000000..7059e2b0ce43b8cdcc4fd0ca4491c1f2d2c55e0b GIT binary patch literal 2459 zcmeH`{XY|k1Ayn0bGp8vI4&>A+g`lnp;rRoe&*!-Sb+NU(x*%^Nw+R5?aJbIS&f($V z(b3Vdv9aalWu<@lx4{2R0llpQa)AF~@{j&`0-z`Z$SEs2odTq!DINs}bSomSl%9gAfA0inO#vK?R?q5YKJTw` zN>kGQtr0&^<5~y~796YZ`$i5mcg%@J7$ycV!^Z_I;(O|q_8c{+pOeSEg90Uu9ya+S z=ax`_bK_9PGsB|!1n7uHQ+e%jyKCm8%Eq`D$hZpAMO?L_NofM#@`RCLTp9?OlWPirG+klF& z9xkBSBI946v&8{$L_u*NW^uMOCi}fKc3~@*+gd2F1Ce7c1elDDGP4p#iRRB*Gl< z*96g=yCqr{H|_01PI2UpM6NX+)Fsgv-nXiC&@CYbTpT z*Xrd*GO7)$NYPJ0)D_E0Q@+XVCl>vYR^>lUlGaP@#4A=M4l$1u>m;EZ~ zNAsOGCaKBiw#58o**;enAaBc;Q(a3`u%Fsi#ka0o&{Bo*Cl2t9+rC3l@2T^26s&Ap z4o9!u)!Chro&&xT7SQgupV3oFe*Q{LL`gT}X@7s+ma93q7GuMkUW&%I4@qd5H9LCB zGDqXrdMHYk3r|b6(6-soQWE8nFf&sP>}dC*=cI8@s>|v-Ohx3}5Z-Z(c3X}GR)U1v z3&#fWolH9Y;q`cZExyqkI}|w&!~0QZ-InDbl^~LKg@fOKx@uGykDSjKoJ_9oIxiv> zPZ`5 zl*n@p&17{w!6IVmOWqHs(k@Z2s#=9~+QYe6LT`)(vur-j$XYI=1flSI`N&`DHcTij zJlZE^Vizvg4)QpFWj;A%Z+u!C-xuRT!-;B7*bDEr-5vBv`@*~V?K(l`sVrqy>F*jl zT?GD_T2Fhb5UO|X==Q60OW%zDB!(T<2YYFGH&&nF0bLUD0}mDGH9CeTU7h1z7hrv} zjT{h1eHy%hjK(^j1dux!I8+9w*W1jV^tipDn(-?t|24Z+(l-@heXm)YRw6wM;0?ScaigGT5^3=%xlAaH2Ai^cH6q7owvh2THj z2U(N~9wfwp@V+I3K}|9=ydobjXjAns&Txo?93=(>ShDHN1d|&`(1-3h2BT!w5N@^8 z^ETT5aphj5g)=1Z2A18}V{aOcBa98ZFj@v1mJrx2t3J1hmkClf$8XQ{ z79IR)8pUer+yF-x9v_*tEG6|NiZ0baf?3|27swVf%yh%}Y9EU`!GgrLSG<>COQ~}X zV%QKdq>aI8Nl!FSP=QQtnXzAfi81lOU||)w^Wf8qR6(VxT1D@#t;QAI0D!VG;LP8z CJe}bH literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/group-lr.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/group-lr.gif new file mode 100644 index 0000000000000000000000000000000000000000..3f41fbd841a22ed3f7522bb853ec09b688021e0e GIT binary patch literal 861 zcmZ?wbhEHbe8J4f@STBS?%cV@jvagX@+H?O7!84u7XpeuSr{3BKnFyC@&p5i6$3K| zgTsae2b(#BwPH?eSa`TyK-p`K$HqlRyCsaX?wr`T_;|m9bC-BiH(bo_bWK($p|PYFjxZsYh*if literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/s-arrow-b-noline.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/s-arrow-b-noline.gif new file mode 100644 index 0000000000000000000000000000000000000000..a4220ee9066357ea2270a842ed244bbaadb23de4 GIT binary patch literal 898 zcmZ?wbhEHbJi)-n(9Qq?M~)mhbnDyy|Np_fQDQU%Mo=fuXv$NLqWyJS2!Ejc+^BY0KJ z$xTa7Pd7+DHOF)FGT%0aqGx+fZdP}nYuC)RmLp-s#l;?zwPH_gS$TPRz~V9<4hCxg D_B%R6 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/s-arrow-b.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/s-arrow-b.gif new file mode 100644 index 0000000000000000000000000000000000000000..84b64703006ca6d86d335b89f8d40b9fa3883c48 GIT binary patch literal 937 zcmZ?wbhEHbJi)-n(9Qq?M~)mhbnDyy|Np_fQDQU%Mo)`~r~W##4N0gJundTm{G tbu}Af#?`K^tFNzT+TJAVU8dErDdY00*wfqA-ripD_|#nQ={XJz)&S^DQ3wD4 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/s-arrow-bo.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/s-arrow-bo.gif new file mode 100644 index 0000000000000000000000000000000000000000..52a05ca6bf557f714235f8d091c01f7c996c09fb GIT binary patch literal 937 zcmZ?wbhEHbJi)-n@SOn!jvP7i?b|mnbCehjfsqvgia%Kx85sUE=zzQp$`cG6Z4Cc8 zWjr=4IM~b~tQB)&!@|Su0?J-7evpPJ*jdD+?77R9gbXii>qe!fF9m#o*86&DwKOxB7$wPoeyib#*lx qW5(64t*fuEXWHH*>s_YRuqos6s@T)p*52M;@c7hR@98-X4AuY#u~5GN literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/s-arrow-light.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/s-arrow-light.gif new file mode 100644 index 0000000000000000000000000000000000000000..08783c9d2f269eeb9799f2591ef41ddd2b14695b GIT binary patch literal 116 zcmZ?wbhEHb*_y R+_d!cbc5tmb0h^AtO41(Cb0kj literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/s-arrow-o.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/s-arrow-o.gif new file mode 100644 index 0000000000000000000000000000000000000000..52a514132fefe43e5ce98ab2c9198fd32eef2323 GIT binary patch literal 139 zcmZ?wbhEHbeZ_wM~*Onf#OdVMg|6E1|1L&B+tMU6JxM)_VIjyn7mb4 z$$3V}zkL-=>{N?`WOsDw{+wlKwR-lprQv(;TRnfwSnM=s`48hwO=nsj{M@3sz@*LL onoZjDBWq7{Gbis($(@<)xA^+~;^@C=?RSeSV(qqxFfdpH0P?Ul>i_@% literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/s-arrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/button/s-arrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..8940774785c25d4467b239aa608a9eee40e273d1 GIT binary patch literal 937 zcmZ?wbhEHbkKJB0>J3c15x5sMVlHA(yGnuN7&N42);+}s>}e3|KPvE1;j`8SW1{tiuYV6X-Nh3iI; literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/datepicker/datepicker-footer-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/datepicker/datepicker-footer-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..e4993a2419895dee6b77df8fb0b6a6574e2f4e9b GIT binary patch literal 1800 zcmZ?wbhEHbqg3|D#|u1V&5 z=fuaP#(o9oE*^(XOHNMK2woL)@{>x#bc5tmb38XMJ3HH=_|=`0o0p%T@6gO8>$PRY z#l;?zwPH_gS$TPRz+$htURzgPT^+GG>+Y$otFNz5INT-cy=~3S%^8`2 zGdnjwKfl1aTh4damY0`T1h0-eyKC#~>l>0!&-2~A?d|Oy#jo$3-M#(&{R7S1@_u`E Ne0+Q&lbwaZ8UQI%eINh; literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/datepicker/datepicker-footer-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/datepicker/datepicker-footer-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..c062d0dc216cca5031135b1868223a0ee59675d2 GIT binary patch literal 328 zcmeAS@N?(olHy`uVBq!ia0vp^{0t1tb{uR#)=`P*`#_4N*vT`50|;t3QaXTq&H|6f zVg?3oVGw3ym^DWNDEP|L#WAE}&f6=7d`yM{%nr?;{+9;@FP6zqh;@0P_V>iJrDv1h z*QWlM7d%7dwbXO9)f?Eer=JwH3%{MPUv>Yz`IhU}Wu4Ex_D6nYw)iezy$=VUh%|?u m{BIdidftHN@Zdq_hvK)rG4n{X6)FV!n!(f6&t;ucLK6VW1#h_k literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/datepicker/datepicker-header-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/datepicker/datepicker-header-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2427815787a69a69334945a43bcfb05eb8052fd8 GIT binary patch literal 1836 zcmZ?wbhEHbAqtfZu*sHmu*pdc?VFDEA_D=RA_Bjf)l7!848 z9Ri9!Sr{1@xEOR8fB=*y+DCK5u#WIi&k+a#j{gj-95Nmo794Em5ax?Gv0>rib^&EC z6^D(Bj&@5JXWfZdu=setf^(OQ=cR^|lQn`@#hl#qv~jvY@~JtVo0s{rSQNjyb8_?Y z^Yb~IxMaOd8ZIvOn5-3hYKvyW@_@x&bG^2%y1F`IbJpEcTUTFSpK!QK)_dEUo0~H( zuZlgrZSC#t1&>e7_1?bj?(T}uukN1SzW)CH24-$KpB)<>9_|pz{tPzWPQXm)!T(} zl1HTlQ>B$RHCvyw)cv`B?&rLO;Jt^f>Sx}0HRrNi@~x2S$U_D^hX)N>-zwj4X_6JX S{)`yViwvHwelF{r5}E*Fp<>4X literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/dd/drop-add.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/dd/drop-add.gif new file mode 100644 index 0000000000000000000000000000000000000000..b22cd1448efa13c47ad6d3b75bdea8b4031c31e9 GIT binary patch literal 1001 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 V(Sd=Lmo0|jp`sH*7b7EsH30G#+lK%E literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form-invalid-tip/form-invalid-tip-default-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form-invalid-tip/form-invalid-tip-default-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..a16f169441fceb9a515ac134c3143a3cbd525fa4 GIT binary patch literal 1690 zcmZ?wbhEHbWMz(7rLpDvtPVx@JXB}~ zA+lpZ!a)HJVXc@G8x)JxOrA&{|| zlg&ZIVMF2}_7;8#4~Gf{=Jv^&&H)OY28UUA`S}_Q3>q2Py5v;~9;`gT?8L#NB-5}U V(Sd=Lmo0|jp`sH*7b7EsH30G#+lK%E literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form-invalid-tip/form-invalid-tip-default-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form-invalid-tip/form-invalid-tip-default-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..bd64f328877e6dd3a7e7cc7f5b11dc1f2a4c67c9 GIT binary patch literal 1647 zcmZ?wbhEHb4Dos5zl2Nl0i$4P1EsCno@ab>G7$?h1Ysk3a6c$Zo4Dos5zl2Nl0i$4P1EsCno@ab>G7$?h1Ysk3a6c$ZoiedU|?(etsf6f+si5mrP-pS8AO_YNJeWr&4gHRCB0Sc&uG;qG5BSVs)lucBN-{ zr)YYrYkjM3f2vi6qg#TrcZREXlf8SEzf`8xUbgpty4+{EW4iZg!1r~=_j$(o ze8~BNf`W#IhKh=cjgF3yk&%^^m6@5Do}QkInY)acx{R8>ke$7up`oUxrl_c>uCA`G zv$?Ucv9-0evbVgnxxKl$xwyN(y}iAHo57Nw!Gfd7i>JzfyWN$c!=0zVo~g)}vCx~l z*?_*{qprxNvCXNp&#$=8rMA(ay4Rw-*{QqMyS~A`zre7$(YC(Txxdha#ps92?ux_X zfz0`e(D;ne_?E}xmeKH#)cKs$@txKDo!I)a$ltrd)vMF$qS^bZ+ViU2`?t;Gvf1yy z+wHgC^|9amt>FBz;rq1W`?ccyx8?l2;PboW`@q1#!o$SE#KgtL#m2|T#>mRW$<4^f z$jZyi%*@Qh%ihb*)XC4?%+S`+(b3h_)zQ@1)!5wH+S}RN-P+vV+}+;A+Uw8M;>+Lf z+~4BBY>io~@_|EM8-r?ij;px)l^493{)9m@t z?)}v4`PAck%;pOh<=jiC@ z>Few4>+J09?d|I9^6l>N zio1&#GrFT9WSYm1Ag2j&p{u0Hle%2EV#l(jOLnd-hM7q-Oc_2KJ3iUT^9d9}B1s|{ zN)!nbCMj3Gd>PYS7*$YJy@EvxRL*HnE@{2Ai4!NFBXuEJM0OD*NRpZ)UD~o;yQWW7 zv3ey7SG7@Bvuf??sTWwGWzkB)q*f(cw{GFirAqCZHdJ}J^6k|tQBbjF(PGM^$;n!m zh!Hm>18WvFZQQzbb9EJp*S^D&C4+RCiDpfGdl~x7E_CRoXK-EH*4r(u)_sFLlg3H6srOVndaq^Bq(PIE6uVpPZ!L!U z&MxCM^5;P#&N&1Ib6FFd^fC-I;fNECC-wQJQB$Y55=&#-aI=jzR~Z6HCZ3!}-7uFq zQ3xZFc*09C!SE7cXcJnbkwzSaWMfz;p`?<8F&5+_M+yZw(nCb5MA4Bk{aBEYK^95m zHBd$=Wt1{%B#%57)o9~7@tAX2j><#>OiI_V<f4Fm8jp3{iK`JFg0Earxg+)mYCQO1u3wt1= zNVcA`12DI}s#44gFvze2mgAjUOaw5CFb_G;k`zcSD5%iF4d?(9Nwy*b9B{9sc$0+; zGx&k!e>EE74G%D@0na%GhNXltMX=BU9^fEj3D6tz*Ak(p#8QkFT(r~8h8=2x%@07l z^UN|NhP4DDw-}MeIKJ%vk_*u6Y(w0cRl0K}jU9PpPCQ+LgrhFMIMd88Cvj>fs7eyV zq(V+UH09?|X0G|>3w7QQ=${vk(cxEZ+4$opg*m3>mlIl$7gBIw##L4H-n$r4U?57J zBz0iC@l}M70T_OkY0C4^hXRTz?AZRr^fEaKUKU0XJ51*)?MW`SK zGl&5d7??m8#=tu>fIQxXc$Y@BlAdKmu1l0~Q!KKT}XKhBEYm874ph3SgiWsMuYNz+eUi z7;*uvI7JD=LO}>XKmr#Cq!(OBMJhtCdKT$|C_vE1D*zG=SGj^HGGNFkB+?9*34s|r zAOQ(fVH9Wpg9|}%$4e5b3l#)G2v8vkQG6nlVmN>XG|&oKqTw=8xWX7d0D@7NVGIl8 r6!btbJzExzbr{joG#1ymk324NldBw{Y9~5_knSL+J00qz6c7MAhD0lK literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/clear-trigger.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/clear-trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..be3ff587cdb41bc01c38b02f378b7097c49e41fd GIT binary patch literal 1425 zcmdUs`&Uv20Dv#oD_ljv2TilgtC^`wSLTDV2b7hTm7cj~X3h1Qwo_6ob+sC3dMwh= zxgs*9LRe;sEfba&(nRz9AVok$6eLmbi8}ST)BcNnKYTxb=Y0FZ_7b;ze->~Av;ff5 z)TC0Wy1TnSeE7iOaO&&p+uPeGCMFga7ZnOcUtgb4C^VT&&CSi@DuYqi?Eyu6v28KcoSG&D3aGBP$cHaR(|R;!nmmO48-%gV|+Iy$6MX+uN9)YOzx zsVpxq=W@A)g@p+T2@D3KtE-F2WF{vkCnhHL^z@95jt&kE*45S3*4DCEEIyyF(P&y* zTR(pMI505q@ZrOvq9U10CXq<=dc97k8y+71^y$;|^fd6l#dRL~uYJR3e|`dBmZ{j( zw43RvQ0A@M^gCJEcNsakST45WD!%v**Q6c;!zaOvUR; z0S1ezs($+p#ed0zM3QRAs-dx|*-HGr=#@}f@up7F*8Zogr=`D9u7GeFT!mJr#bNOV z{OZ-l38O*X4$Vv(7L3prfR87ZxRITH?L8bDEvOM^SUarQ8Y`gCQt6J!$rP%qTL#_X z@w!mbIgS^IY(62AU3|Zf0qw1ah~iz%tiUtbHer|Y!V+u{BK-2n-!xmy{t{S?c-}O( zb%Tfz1kfDbkB2gy$V?F9L>P@=*U-R(NZyfZ)|DTn2?5LWKqXts^(l+1%?-dtc|uM; z@r%}@K|0XRea-Y-n>r0Gak;vU6b>E%F?#|iZEPv|a8%}s-8YocerGP>0saA8Z5^9}&LliLR#&=|zTklI%x6$i#k5(2L%6IEKxfRaj{|mt3uD78e$s4DK61g_ zH0yF5w2MYihsb=|FVm6im~_ll9ugB-1BBr0nh-LMBociCVe1hye4sQ=eJ4OBN~8PP zM2NE8U=fPC8b-v~!FDRQJAU_~PcCN#{S`{ZMxa$@w>-3}-9W^yXKU~70KMFE%x(DJ zK`WyWvbinuC>d=_5Rj}k`IBfY`#-|SW)unk3<@nJX>J8L0v;$zLm2N-idc9Yw9Nb2 z!{XdoHtEte)BF!O8qRW^g%h6v;=H+{RJ8kPAr*F$F=)J#>yUHkK(@E|UPi$K;7N!b zwYa#%pz_A@8}^f;h$NL4W~V3O4G}4O^!cyVG45WLi#F5~DEDIxAON(9tX+D?Ux1F8 z3LoHADNB6RzDiCi?Y*(eAkYL-E^MlbP?=%cB1JSjVJ_GAIrs`Y`esitn{T<`qZ}7| zQ&yFs&@u&Js5SK+;Gi5s;zR&Cgi2$NABrunbS$Koezj55cA)WHlzgJj_3pNKm^fTA z)#4gjGTFM*c$8!Y>O~VOvH-9U=tbf4Eo*fDA p#LesZSl??hUhDaVfr4MxY%^9nv}{qxT?X>*VlLN-n}zt&iw!X|K!P&OO`Bo@ZiDq>(?({ym;coiFfbb zX=rHt`Sa)7w{JUl?)>=ile^E25JDs zpDc_F3>pkNAj3d@Vqp94&|cu7V-?W4r0ArM!t4uAjBm{entpAy$f37Y`^DLlee`DA zw>DRu&0Bo-!zXJw_wDa--m+ChR)J4WZqwF%B65q?X0z_zyKl>Z4n@V| zCm2K&4;^M_m5?~UPhuw{>-*dyEF+1q`Jl=47pZ7gEm74T(aYt*o#VUS3Z(wfkzw1=> zc*2AP#~$w0GhHMdR2inNx4N+9=0eqj|GWR5nQ6etkgOrg7&c*zV{>eWR9JCYjPR%Dx3(uf)7xNb=EJ=!u-;5|&wbXDl13)qrz!6IST}#M zKYPGlhr_Sg*Sfd!6KP#`y#;bZJcb&U=C_HO^a^bNBC!~aEpn3Os;%;k8s zkzJ1A$HrsQRr9ZwE7UdR9G{=ITldA;bmg7}7dTk8rtDKlXE!@>&ssog!G)GJtrqiH zbhf>C)Xln1{c(@6+V{Q=lV>~P(w3PdC0osRRd_PNMND#WpGlhAfk{4QFQ3$SygHHG z-=gvI$yA?n?FXjCl)Zd9G4Ndk!?YA9$+X_30h%3CQ|uxerWcfPrp?INHdD1W{glPh zS;Dtorp;+MCz(38Zr057&KjYt<ea=FEJvUrU+WyI!VGo;)v7 gbL#Y@lPi|R*l9hTF<(zoYi?%LsjStXSs59u0f>gQ5dZ)H literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/error-tip-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/error-tip-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..6ea4c3838768c0ec3b5dab8e789333593295c15c GIT binary patch literal 4183 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 BA5{PV literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/exclamation.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/exclamation.gif new file mode 100644 index 0000000000000000000000000000000000000000..ea31a3060a36a625cb5cfdf4fdc5cb4fa5c3b239 GIT binary patch literal 996 zcmZ?wbhEHb6krfwXlGz>`0sGY+vu>b$x(l^!y&e3LT!$PJ06d9I~VJ7A=2?olFzvm zzpDxE7n6N1CI(zd3A#}bd9NVyZb9tbn*6)9`43}*9>oVgP7HaP6#6VR?0I_l!meOY(6|dTBUw78N>aBj$UH@iM{ilZ1FAYgw8_pbc0Z{x51oBkf&`s?Q9|Ns9pjDkTQ0*XIbm_d%z0TG})!N75lfssSTW5a@j z7VZsy6h0k$;Gk@@Yl-LKR#u*NrzJaX3aNBVGqZFP(Gfc8+b>uAY)8hyXKfvg1xYiW zY*bF=5>dbAA)s8qF(=rm< znzH#Wl@*DQugyk|h0s(J9u~z4MZR499ryhC^~?K*w-=e{wl~-nv>Egj1cL7gguBx% zT)Zq@NE=-Nt6g4JyGT~9fVo?Mjr%bh_W%^(#8yHO+#|w*$V3wYFrM_Cf1JV+84je7 z9ROpGU-)jyX(BU$6nbeLjSW4@*$~LtaEfn9=b%FPo5J`zLU_AExy0xc;4Ihg&$RuV zvJGs78Rz*%p2AAl3(x<8lzp}-|FX4l%|7EfIvgRBjB8tSQLP1VZWEF#ywdLj z>2hyD&Cz7(vFsX(us-NkLs+sfDkV2EMfeY2cqXqlT3nl0R8N;Z551!ZFX)PvHbvg; zPAF=Ql@G){8oW?FobYU%-aQi8(syOzQ{37bFFif|+O^~xchYiY*TsbylHyFUEVrOS zC@mHh+?B~>#g(;XRrU9uJgcg0tgWkKmA77d(0=`qGNYy=^WpQ%CrV+BN>bPLw6R6f z(sR2_!|q(n>iQ^DjS2e4MK5Qv`<8AFEsF-0Btwh&iZ>0-?TxLUQpLzh z&8rU$BjfVd`o|+*kbdR$!ncucOIodVe0*G|(@jlJ&&BTL3F4!sWQKrZSsrbm`jlswPRiNw~ox#)EssIi3K_U?mR$7V-IC9eE}g* z5#SHoR>a6~NhI<=Q;WTt%?}Qu9NUN;+@wtJJS0y=!z59V(h!KT_cmHu5NujLLCxE9 z_QU0%P-;FGb5tI6*gk|&C@tm`|9+v*B6nv=lO}$S+iOD$Mn~aW%lOvrmnW;VvcjwTy1x_M|Vx7g?UOR%A{vxR1=O9xx`_0#)mAz z#O%%n@__a?l=898*N7xDAiI1b<_~Z{nslUk?g_Dey!Eax#h5@k{{; z%`faJ5{8R)QaC;cQD8x5`VzNXi1Wqp3x`c^8P{6P{gaVWuFtYe7c(1?zIg}q~%W>VJ1sc%Av?5s&yuiMsG8Vvph~HOnJjUP7z}R9x z!{}s!KCBJ0F`$WM&Ver~;K&ocSHW(s6Mh)nO&1ErxjYUP9z|fJI2_q7U~QAux`?+R z3gs}A84lrf=7C(=X6VrsYzT(A2H$czA`b%`i`+&{!uU_X)(G<^EyNUO6=M{u;y53QM-q4Y5!fjNf2B$c3=RvJnhbNor$)h(^K&^hwf=q`1g%>cIxsnNp85qN`tNhU3jbmaN?09D@dd_WcK8kleih literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/search-trigger.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/search-trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..0cc4f596b4afa65392eaa6f63fad54238705eb43 GIT binary patch literal 2220 zcmeIx`(Mk81IO{t=d=5|t+rA~tD{p=Ukis)hi%SUr80CJlD?JsS`jP5i27{Z)&=vG zN`-YfOOC@TzFlz6XS33*v~-oQlv0v)p@mLg=b!lg^nL#W@5kfycs$tweqP>D{{n1* z*$kkirA4FBl$V$5_4=Nkp7!?k=H}*!iHWaYzqYov*4Nkf_4R%F^r^SEx1*zDU|`_o z%a<=+yy))ke*XOVt5>fU78ag7c``XUIWjUbG&D3gI5guU{WLc+g-l zJbwImY;0_JczASlw7C>lg-n?mRYvb{Fa=APzDk?fUn$PFMFs#$*va+&1e*CD_ zYM(uO784V5>eQ*u&dxh`?&Rm^U$}5#W@e_Vt83rBeT|Kc4Gj&C9z9Yjl{atRJaFKE z(P;ee;lr6TXC6FwP*zsf)YO!in8@XFi;9ZgzkeSb92_4X|K-brh z=+L3@@$u^FYOz>cRaJHD*s;5J@9y8f|HzRe5{YE@?%h(UR3H$DL?Q%1Zrr#rH#etN ztCNzFjvhT)S66rV@Zr;^Pv_<3rKF??g~G6~u;k?A+S=O6%F0`}Zr#3pJ1#D+q@<*# zrsl+n6Q!l4+1c6e-o4Ar%=Gi~`~3NHYHI4ed-rB%XG20l3JVJ>Dk|7)wnCw}eEIUX zs=)vEKPliihXw&4191QQ?QatRegUw?FZEZ*#G4^2xA0~Tph_o^H|F&6of^|@Rt5GW zRb`LPuc1(F1FFjd>>&L0a80#y;6>V&KXUBI`?W>x+ah{3H7Vz8Jq3bZ%{C=m#&+N# zhzNx>W3LbOKUpK{!g^q+!3}ptJFf4rlh|t`CC?o9tqf{BX}xj_=)20uC4q1nXqp}& ziK2`?bwekm?xI3t@Ll&MK{A6LOv40!+444HUGz<^_%m|Kux#{)`HDdtRkaVo`%ih#7^1~Hi? zAc1J=*E}Vrmc<{$ufD?>JnQ`*kb#x_Kv&`q!ch)M0nHacE@Z@mQf8l|%*4-$kRR?z zp_k=(chgjvp(`}y7qNcczh={x=|qr&t)~cc6~n*)_We7V1j}L>>&l7YIi-cm@;N%N z+iFy0@66G`Kr(j2^((?ylDZ^QE-y3}L>IbP6J(X!QQ7MnoXh`BMAX088yBQ1Gtzwp z3d`0-GOiJWXbggw$oTE|I(a0VU$HR~S91AqmKt^OGx4U4s{7PC%cfHV2g~h7jz?8} z7&Wa_n{{Ip*A^1SvJMKTDs4QxoFR-uF$2P%aaAA?nact0Pi-fqk(ap_45QYcPK+aN zqOU~$nEz|ZD(tj*xFIzDxM4zVea%sY$@<=RTxGU(Y!Gl-OMggQ>n_?%i~*Ej1aSsN z1I}JjNc#_yNfBh0%7+20Es2Q&T$NQwc#xhBK)pFNPkaaUYjjK#+Cx)IJ{@`N@n=wm ztxGOV(9U*wAfNd!Ez*WID`19ql=@o)R4iDA8v(EvwgF{3Xd-;iDVyGY=91 zh>1%vN!gvWho&?M6;5IZq;JG9WEpjHH^>bUTBc7UY2%POa^Rv5 z6Zs0BwPJg`*iBD&#K&VSDRR%V&xpj^1&toZ<1<(t5d%TFP)1mz!Bv+b{5zGO#*2q&>ts=a4hBeC0_^Q0#WV z3cr_tk3`{mr}AoNo|`P^sJ4m|&Y2+)YVx|~mx=0pnP5ogOM}dt4Y?I)In8HRi!TvD z*RB<`~YfHE4l;OHYHo1(o!EU+5maRPIsy_epb(F$Mtt)dj zU|UvLZW);Z`?Is23X>@1ZhI?#+OnbjV#3<;)va9bJ!9?pPM8Ysu4TaoZ@_u-wH0Ii lu7QbT9U$ANk%w1VP*gn0K@43-t^Ai z=+EHv(BA0M;px)h^4Qwn+UE1$^#9`Y|L6Gs>G%KX`Tp(g?d|aK@9*&N@bK~V`Stkw z`~3X?0000000000A^8Le0012TEC2ui0A>Ib000I5AR&%qNpwM~u55s|LYuy_OxNs< zs~zY6z~EyLECLS!gmT%qG?q(4z(_?>jYz1np?PYhnXov+8HarYhk6asK-Ows657}R zHeP4|u5Q2KautGu6&!?ua$0qFc}oFiWB_H5X>bsB8-HsYb6a)*j9Pn^n3{0`hlP@< zoOGX|dKR)4k)UO>795p*ubF_Ii=d!*dZfa>n*kHc6RNfq%oDAi!o!ULv$evvvbt=q z!w_ukzN8vfBER8M+ZjkibE{V-5)7<3Owq!*c`; zZbPWh-MfDn?JaD$;UPa-KQ4gufk9xzjvEsH8f2I-!88O4VlIiPK+j2*1yQ!-6d}Sr z9};~22pZv~0tPje(2RwvX;WPU3#y5_CaO`SGi5rWIyGWfmlo}b9ec0S(WEf7DhXhs zEr}g)*B?84_(hI$j_{$5d8e?lN`kJK zBMKyBIOvUrZdB+O0*hdnA&RD)$4M%Mu(D!{jjVM=5f2csV-N)-wnZ0z1^FWoMjq)y ZkbiNJBLYFXC1qVT#6abhSh5fT06W`UZ>azP literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/spinner.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..1e323bf0b68433bf86df2bd885c11a607a0c8b9b GIT binary patch literal 1975 zcmeH``%_bQ8i!8^kRZ?+paC^F0TB@qxoJ}n8&DxEbjIiwT<^AsG*V28QY%%#&=3#{ zREOex2AqnAPZYLx;C+EBHN9=EX<}=ScKfg0?d_o-U zv*T$H8Cry(&^=een8o4D;)s1$w=V6US1;5`F4jpd)k$*eB~8tLJ!8lC#>j`!51l&7e5>Kf6CXD@)##fWZLFvqEsZlI7 zh^59snPy0)5zCBX89Xf049c_vGQ*%uKOlpLWZGf5W=O6dmg|P5OmC)^yf~tmd#iv) zrs2`0DPf7yIHuG~l%_GIaa?H_QyIrprgtjC{QUgF!or7Tv>&v~%nYDnqrM6-kE10zcquDxV1+dvVzib<9v6(EW$zofypjNBZga8YI zS`eEB!K?^sLIHvxRs=Jnz=~oBYC}*AMNzX2peSas0jmulOKrn!%U}owPz=~GfMMWo z{!bV1vDo7v2tYy563agU5dq{$q%az!moE|B0uOa-g)i_c*R5qxnZB_+uTLWTx(AN$ z<`Z|sqED*-NZ9GWFRVrYmG%C5`AAQyLMY6?NsIOf&2vAA$A=y6aw+29%e%gw>3cY} zN%e($%6{4{?KS?J2VW>7T3ByNsvI`86?MuS3Pu~US9|9Q%j<~S@T2_nUXv*A;qjOM zj=pKit$2~!Z-2nuv7ur&YbN&Gn(u=TKRr|!f!hU%lj{$Xn@3xJD5%7Jm(9-R_;SWc z8Fmnnnxe}a2;R;m_qQ}1ZBJW43P|k=@fyltK1iEyp3kFpbNz6BP%cDI_=Pa=kopts z@u}3MAZzOU3TYdT4^Bp3Uch~jJo)}befgD~;1k5Hp7iv-oM7p`D@Xh9wQ{JCTUC6P z+(|$nL3T0TM3=XM_ZM+OCZ0>JARmFwxs3eA@rbM*JLk5yI@!aI@ho+^p?=wGP> z*5<~14{qQ6?jN~~s_C+XV2R=y6N5S^_O$!)Zg@MokU~f4?;U+ot5TuU3N4R?PbIZE zl53a+tFx{i3;4ZD_NR(<0dt}YxHV_(-Oe;^6jJw{*|@=*L1C(^3WE>4E8eQ%@YnAA z6ASH&7G{QtGr=j}P%&ZpYxI3wo;gOP|>-0KV+t}iCZ#?uV+SR*7n7?g~{hW|L zx8<3ib5er{?_SI9GvCgr{7XG(ZoD=Be3Smgrjd+?#epRhBQDglmEGp-{B3xRUHuqq z_`I+u+|jF5%Ja@_Ers76{@S(D!E?WuEJ<5a@aXNKoc`=lucW7&ACDbKeDcKq&V_7= z5(h~3H#4`9RFyFS%@D!wOrvT|G$WGk>BkNUyi@cGiy|-DIYtwdCSJ^SOHx$LQ1_qv z2Yqc)K>mM$UgkeuDI#^r(d|^$Q4r6|Kwv z-K3+sAi{Uv7>UWQo_ud#_N8YpMKgr6sXf+D~*JEhbc-#tI&Y%63>- z%qrlyfz0UkwBE5plBag)y$Uv6yHRqYIrbKr*5I(cw4JRGa0!p8pBuvkoFFfeQ?fRX zh2s)Mr9Ah6`!4Iyt1sKaZ@aGA;1rVY;}L)-26U|C-N?)P=&YLix?4nu8uod9J$QJv z!Jgz8ZST60TTPCj4HSOM*oAW&;BAQH@Ph;8&ZjHv1Jokkrx6_~Kl68m1#t>^)vLa4 zN~eTbg~jnnQ@C1UXH1jKB{?I1wXCfxpio!BGvleajd>2Jtd#!_@9SwHI9Akd_N|UB t9+NZTu$Z#)3}Xk~-$Ba8#=V)fUwM3XH!vlkF&BcO{s)2W&!4}4|NZ;_|3AYh7!85p p9s-I#S%6;r&!7YHC@4=ba0oCkvIrP7I50A^3uwfgFi>Ey1^^@>A+7)b literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/trigger-square.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/trigger-square.gif new file mode 100644 index 0000000000000000000000000000000000000000..7a0f585c0bc6e4bdb0550ae3984ed884cf9b6f2d GIT binary patch literal 1071 zcmV+~1kn3ONk%w1VP*gr0M!5h%*@Q-;NaKS*U8Drq@<+C$jH&r(fs`UPft(r@$pSf zP2S$#_4W1L-QBslx!>R4_V)Jh@bKH)+w=4D`1ttR+S=~!?#jx_@9*!@($dq@)7jbC z{r&ya)YR72*2l-kP*70C#l_s*+~VTm_xJbo^z`}p`A$ww&CSjG`}^$d?A6uPlDe*yiTu0000000000000000000000000 z00000A^8LV00000EC2ui0A>If000L6K!1b~Kp1Q3dgjExY2gJpDily!TD zhLDkSn3;~Bi<+AR5v8W5s1XhitgWuE52BF-u(hoO47s|yybQ8~1Q^1@#Kjm63(3mM z%nQGA1kKXQ1QXWR*x3`$aRe6Mrr#Ff;tmbxedi77>fD6t?CX5$4U-AhGdjzj@c+Fh6NZc6d*W2;{XEx1ubA$h!Mkqgar&h=rmEo#7__m7GQ+4fJ6!s3v5)q zx_}IUqe+)GeHwKth6pKg?nL>sMT!W*s9MFUb#B)=DpX+bsguLcofz_}a8RK_01AKk zBA^hUa0M|HN+?~-@M(z(a|$0${Fkxge*yo>NL=t6WXU=oB31z6@*H(6oGO@&zyu3= z4nl-@;iANe*$PgSaPdNS2m%ELWMJ?Y#$N^*1{5ejKsRsSz=abxPGE!g&A=B2@a`SC za^^an>x3?yx?{tu#lNrM;Dh}F1{nN4!N5QP`}QF>U4B2&*57o~5da{5`UQ6&fFFFd zQDv#ku+dZq5*Xfr2zE#R-Ubg)00IRMeCVA67o?b?21zlXfr=^$I3RimaM&S?7qAG` zi#QTMPXn=mVB3%NAjsfz{uwFC0wvsKh64aZ86^rUB(Q>%SjspfR7om{B>+@f`DK)a z{80l5H)LWYgIumjodA?na$_eF|2B0t|09p zxaO+st{JQvE1v@dE9|huZu+Z~p3X`DvCIxjodM8BEA6xf_!{f7%{FW7v3$N*jn-Qn&=-p-KA zeA(%=S((N$6_|l9fQC+Hxi9#N2luQwPBW3%=l!}^GELum-8=KbTwwF%Rj%DgphgD1_aTFbxxSbc_7 z*tiC}T&|Us6}Q{%@p#OB*cyNreCzg?@X|W$2*O^k*XQ%C`Tc=FAQ%j8?6A4LxwQ?$ zFnGh80{=sSgX_p0D-7aZyI(&6LSe8g^uSq3699<4vDu>uKv9OqBv(z-4-J(@5=c^c zCvT(%gPg*qb@7!*M7$td*%d>&myq6H6@|%BvEwc%rj<`}&sV>d68bLbzTg)ez92R{ zL%OWyA+pbMNDmz0eA2_8Du?G1p`W#a zi*2IW=5FT;Nm@-f=nK&Ju|GKH$G>G{YFkTqB2{y*&pLXG@cG}HCp8gjUV5YGKrX;c zKcN|~+$?$NF%5hJAHnq}74oAsZQo5Wi&P-SqG~)}Tn55ltvZdK`IT)rc<_XRg^Z+L zEoNSBGTq*jc(eqdQjVJMM2OG;fu#t{Wg$qSxg0~TkXJ<4QMskK7QwahebOaMWkPZx zRCQcO<&}om1lH;#2Gv?~f?O}Zn-ZB9UH!@7hU*~W__FO@Msfvo|59dNOf4yZWj)Bw z%xm6#wG3~s&!Wh#gS~vA{n3r&QHV_+#^*Lr;_-`|0`e>QZ$*LSBb*;mXnE6}$b132 z(DJsR0TJCw1C%R+wAP Mbv*YluxN1lKj3usvH$=8 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/trigger.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/form/trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..b563474bb18e44a0e06f1c08826bb691208b13a2 GIT binary patch literal 1080 zcmV-81jqYFNk%w1VP*gr0M$AG%*@Q-;NaKS*U8Drq@<+C$jH&r(fs`U?(XhSPftxv zP4V&Z-rnBz_4W4l_PM#a-QC^a-{0`?@c;k++uPgt`1tel^Zot(+S=O6%F6HW@6yuJ z)6>)0+1b?8)KE}R*4Ea?$H)8o`{Lr_^z`)i_xJhv`A$ww#l^+k+}zF0&CAQn`uh6p z?Cj6a&rwlP)z#I;#>V60tZ000000000000000 z00000A^8LW0024wEC2ui0A>If000L6z=v>1EIxFEq;kn5Ae+$SGuoU|m)5KF!tHv$ zoyTEJE}K^bfqKnuqs{R0J03^3?`-s9&+qrS4*`OMgoGCpX?ThRg^h!U1P+pul#~;Q zii>`meGP$*j+mKujG&E(m8q7Aqih5cu(7hUA`cO_xVgHbt!o6jz`2MG#Kp$PyuAVh z8qLnn(6tQH)YaC>y#&_V)rc0~;Njxftpo_?vF8Zs=d}>;gYOXW@8qKd^7Qk9@`!xj zH2zr#xW`^5a|jk3xNu-W!i5dnJxGyaM1=ztMnJHLu?9t66hf{ENx>CGju|&ztl%*P zB3Kp<*f?N8Ld=;pC4dyEhNP?i8wgmuP>|pNjROf3ykLRgMlA{q8hjvXVup#N9~v;A zAc{c=5hWPl@CufJFQ`(fTE(iBD>Dfqh8B&P^o0ls8oGWBJ9e*GH3V9;(14Wag``C_ z2xjpB1BL(<5Eo8RA%J5{7)VT|Y!NF741gU&mW;UaWrPY5+mP%K0cOoaGe%bM;WJ=) zGOjAvoxp?)c@7?+KoP?Qi4(gOoFL&M#&84#3JloL05J>14K@rYP=LVj;>VLOZ~mM> zhx4P8Qx0&x19a)stz*~Doq%J}v)A9p5Iltc0tPgI+zAaBP=J3SyvJRDN%2-7cl99% zpn%Ffh#+(%QP5dzHDsv&;Dikl^&o`iwbwxe6?{-Z1SWP6Tm~@0$bnQ1a1bMmAA%^N zfe?0gV+J#3W#f&|$@5NbANXb@1UWLeV~^e4!2k(=u@M{qSYoLH3=6=JWtKTkm=%vb z67VGeTXuOS0MIouLkT%F5@vv7LfIV%c;*R02YTjt<(dYlux6M5NZ_ZI3TAYmsw(T5 zq?S6!skIWY!LPsuD{QQ{LN~y%$R?|7sJG6lDe{cl=;o{K1L0yh yu($tm8*r%$Pg}6T>mr`0uc0#Y_e;`2YVugfU8vhQJ630mYvz%pkAofCx~YVBipA cVC0bDXlQU?ViVMIiI|XhxRH&WjfKG)0LI-8@c;k- literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/arrow-right-white.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/arrow-right-white.gif new file mode 100644 index 0000000000000000000000000000000000000000..e9e06789044eacb8a695cd1df46449bcb2b9aa07 GIT binary patch literal 825 zcmZ?wbhEHbWMSZBXlGz>`0uc0#Y_e;`2YVugfU8vhQJ630mYvz%pkAofCx~YVBipA cVB}zNNKj~OV&PY_IbpESp@o^1jfKG)0Ls}94FCWD literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/cell-special-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/cell-special-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..d76ffbccdc66ff52433560c893ae9f3130152a2c GIT binary patch literal 1636 zcmZ?wbhEHbG-qaH`2L^a#fulOUcLJA<;$l}pFVu}@b2BaH*enj9|fZ!Ffu|w@h1x- z0|PsQ4g(N?@13PQn3)hIR%euQ?tY7ai@E uFwVMjV&mfD{R+-qGM<~3oSdu?yej78rlqH+8zi5a2*=FiKfk`du4iLoYy1EIzwv>L6f@N#hBdp@_pFUkiUlfT N@O1TaS?83{1OR1r9kKub literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/cell-special-selected-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/cell-special-selected-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..f1da867ded3e87e53d6ac3823dd7fec84e4f3bd5 GIT binary patch literal 1640 zcmZ?wbhEHbG-qaH`2L^a)U6K}?tQrT?8}{JUv545as!ASeYy7N)0GFGF5UZd1}J;y z!?`;j{*Qvu5Ezajp!k!8k%57iL5BedKzX8lG)D}_cpmi=u_3_W%D~DY;V^-rk%^5@ z!=*vNv7wzuLL-1-!J?zx62@6~PHbF!ykEh&OU854l9Q7)f>*_y+_d!cbc5tmb38XM PJ3HH=_?3&K0E0CEWa1PZ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/cell-special-selected-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/cell-special-selected-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..500c3bddb2ff42b2235619190fe461989f81559b GIT binary patch literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^;y}#E!3HEvmzt^pDVAa<&kznEsNqQI0P;BtJR*x3 z7`TN&n2}-D90{PHmZytj2*=FiJ>UPl{{Nqchv)x)X9MQL^&HZA-{jAwB{Y0`_-RGf d!>WZz3|BlfrsWsL2Lg35c)I$ztaD0e0sylZCIkQg literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/checked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/checked.gif new file mode 100644 index 0000000000000000000000000000000000000000..fad5893727ee8a13f428aa777380ae97152adec8 GIT binary patch literal 959 zcmZ?wbhEHb6krfwXlGz>j-2EYIms=0ihImdkJxD*ann5GrhCOt_fD7*mN_@JU|~Yh zlH}5*DP>F3%9rQXt#bJ9P}a7(ufM;0=I)-EyC%%tyKeK&xyuhMUUy>sj`JIKUfjO_ z>dyTab{)LB=kT>-Cr%wbdG^%lGbhhnIDP)=+4C1qp1*tM!nLy(uU)-*?dpv?S8v|E zb?f%+J9qBfy?6e~qdWJX+*RNl{ef##~$B&;sfByLSi(wRuh5*qap!k!8nE{v; zbU->ld4hps4uc|xjK_ur2b)<{HDXQ_Japi6Q1W6iYUvPA5Rzlscwpk<4sO9XmXjI+ zi&_OWe7|@wG&BoL67X4M6R7Omz-DfcwPk^l8<#v6OGU!M%_;%{ss?XfI5Zp-5OGar zYW(QXz|GEX#*rx~s>CVD%q0^Mz{1hH&cW`(j0A>8wr;ZvZ4rjePOb7*MGqXL4LK$% TI;tJY@rY17bXb6iiNP8GS6tA5 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/col-move-bottom.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/col-move-bottom.gif new file mode 100644 index 0000000000000000000000000000000000000000..c525f7ebd730582b18ee02869d9aedc9fbbf527d GIT binary patch literal 177 zcmZ?wbhEHb(@`2GG*e#iL++S^78UZPEMXP zXHHpJSx-;Tk|j&3s;UYL3qwLe+}zy4!osq$vT|~A{{R2afEy_OWMO1r5M$5*DFNBZ zz^b=EHR@P~l5oms E0PIgRd;kCd literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/col-move-top.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/col-move-top.gif new file mode 100644 index 0000000000000000000000000000000000000000..ccc92b6bc2f7a55aff742a88abc09822e90237ba GIT binary patch literal 178 zcmZ?wbhEHb({T(&(CjcY%DJ?-?C*(Sy|bfIdfL6TGia#TvAff*Vh*k5;AStwEzGAGoS*+ zpDc_F3{ng_AYqW546OPKmPs-g@+{)e34FXnYNNs#M*b_Is!E<0x||NBo%E5L^U*yzT|&CAcTIW%+0zFM&2;$jbZjo4FLG+UMj zEcWVk*t+WKYN1V8cTbr%TwkAXm`TEW+nSr3GcK=+J-u!1?d=7RPtEn-zV7bsiqEg^ zp5DIx{{9ALZaJSF8y+6+5Y~=6vt#4q;}ev<=lSg1^z`%$vxOG+5TW|k$A4WHa+w!$M@3X z-^}~o-h9Je=%fFyM!WCr!8fAb5^aft20h&VflWEV-gbulkEuW}F?hQAxvXLCpIiR+|JMFF~?)$qNCjs##whxY+QW2U%|Oc#&gq> zlan=qSH+y%wDk0JgXB|lJU1^pJKLi8)t!@@m!F^S(99+4wPnS{#U7KjVoz;Zd3kxj zVz0SgTUT9O9kDsarV74J2yW+zreX$&Ue?A QmzP%rua28*uE1ao06N`lBme*a literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/column-header-over-bg.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/column-header-over-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..3f206494db775af4dbed9a37fe52d74953c2451e GIT binary patch literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^{0t1tCLC-)R!VclP9Vin?Bp530R%N1DIGvQXMsm# zF#`j)FbFd;%$g$s6x{3S;uumf=j~ZbJ_Z2>2FD}+?X@m;T>8k)+I6#T)5a|u4<)`7 pIkdfSUF|;0!v;Kq3H@QdCwYQbb;bNWfk2Nic)I$ztaD0e0sy)ySg-&9 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/columns.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/columns.gif new file mode 100644 index 0000000000000000000000000000000000000000..2d3a82393e31768c22869778698613b2f5f2174a GIT binary patch literal 962 zcmZ?wbhEHb6krfwXlGyuEL<5_v@*CDh*pJ^t_~?(6IQl1ymDPc)rN@bjZrn5V(PZU z)NOSrd+hMvA+B+IeDltP)?JCMyOZ1ZrgZEJYkQj3eITRnaL%L?Ia5yNO*xf6?R5V1 zGX)b57R)?XH0ylvoQuVCFO|-_Qnuh~<)Ryvi*HsfxmC5~cGa>w)ywZpoH%jn)T#64 z&D*eH!>(Ps_U+r(Fz^e+YaA8aNxk9Lx+wXJ9gs4iBqReojG&n z?%lgL9)0`&|3AYh7!3i+LO}5+3nK#qAA=6a7*L*I;F!-K%OT^jVZp&>mh3YgjfYq| z1(lp?K5S5QW|J^Yxp3pe#^mFCnoeCZo|g`B%4>LkiP*V`#cPUi%)1K8vI{DjqJ*BN5r{ru+ zE8dX@@h1x-1A`ia4#-rHpBUIY93~fd=t%XSSW=X!RXD?mhh^5u1eqRJ zra}V|4(7yC6`@KS8NXveD>;rxe2zT3&O@bf;od_Jstz(SGPv+_sRXDB26XrI_Bk?G F0|2KMVH*Gd literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/dd-insert-arrow-left.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/dd-insert-arrow-left.png new file mode 100644 index 0000000000000000000000000000000000000000..5dc696781e6135d37b5bf2e98e46fd94f020c48d GIT binary patch literal 345 zcmV-f0jBq$gGR5;6H z{Qv(y10{fofkH6I3@AO3$p*x`Nil#0jeqs;pT9Ds7{CaN1)$9r#n~kE{`~pF@bLXZ zhF?E_GyM7i!oL`P0x_8Wj$ni2F7#hzWPxfvDaInaJo@X+Cm!COivwWT<1&XvJeYQNiErjd+Mbq870xT@Ntjs=&42%KF O-2R=tef=(u4AuZIk#dp% literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/dd-insert-arrow-right.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/dd-insert-arrow-right.png new file mode 100644 index 0000000000000000000000000000000000000000..b1a1819238c6de8f9e50988f4151261fa6ba64ea GIT binary patch literal 349 zcmV-j0iyniP)o>#A+qW*AYQLZl(!&BX$x7Ik;qO170ssEM z@$bKXf%rGW?|(r27bf-TSv zD}TdX0CM*JhkLO)8|Y^+n~Q^sK~hqR;q|N647YFGy>NTZJsWr!5CaSfwJm@a><8NX v2&h?|>lyj2t2o f3la`CGVn;rtSCr4)W)vpHOFJ)qNAORj11NQ63h`c literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/done.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/done.gif new file mode 100644 index 0000000000000000000000000000000000000000..a937cb22c84a2ac6ecfc12ae9681ab72ed83ca78 GIT binary patch literal 133 zcmZ?wbhEHb6krfwXl7towPL}p0*huu%~roJzC1V7qiQ)z(xVq;t8Q*e g@TwP&*%vbDj%DY0^FxMh_Sd^OqF)Bg*^}7&&A#5)LvkG7IyS zOnBJr%r7CL!Q$}XP&==XoWqO@51m;T- zPZpr7|1;=-+z!eU3>@+d`VlJv8V|8>3M$wXTxdAR#L6ikV-V2L(7?dJ#=^p24FK}3 BP__U7 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/grid-blue-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/grid-blue-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..862094e6803f522712e4d193c7becd8e9b857dd3 GIT binary patch literal 829 zcmZ?wbhEHbWMmL!XlGzJa`*r7`~Ocp_<#1%{|it4Uw-=k+VlT6U;e-I>i_*W{~x~l z|K$Du=O6#S`uzXxm;WEW{r~*q|F@t2fByde=kI?YU>F6XAuyCfK=CIF(E0xvbU>Z} m<=_zzU~q6?um%8<;zWG_ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/grid-blue-split.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/grid-blue-split.gif new file mode 100644 index 0000000000000000000000000000000000000000..5286f58f6f798184c3eeacba1352cfd39b9ae03e GIT binary patch literal 817 zcmZ?wbhEHbWMbfDXlG!Ub?iS7FpPrH5Ezjmp!kyo=M_wPS^_`om@~ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/grid-loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/grid-loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..d112c54013e1e4c2f606e848352f08958134c46f GIT binary patch literal 701 zcmZ?wbhEHb6krfw_{6~Q|NsBg$>(oA`P8%SHjuGk&%@0ppYOTwO7TCppKD04vtxj( zk)8oFBLf42;y+oZ(#)I^h4Rdj3>8V47nBGRLn+Q9-(eXZMC@T`q-A zfguTok_rhvuF+B}YGk&S-hZ1Y!QP;7UE)!jv*adK6)hob2AOf}GE&w)<#=MknJHoV zY^}*Md|xE}K6*MO&RAU_^MUKk=Djk=g^pDJi6uprK3M%`#IdVL zUEAw4e{ zmg0{~p6|Ie&p`6H%mYO|r)_gjg|As;$iv1hQk=MZgX#CFjEx2xI6HUG&(-w8Y7Wpj zcm93g6udbnGzoX) literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/grid-vista-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/grid-vista-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..d0972638e8305d32d4a2419b3dd317f3c8fd3fe2 GIT binary patch literal 829 zcmZ?wbhEHbWMmL!XlGzJe){5xGZ#;uy>#l_<(QpFT5;g3%Bd$|0cmlLhGf{|q`H nPk{0S1BVoYrq2Wc#zV~Pyb=r?3JDC2Ol*7#9t#p29T=$LPGHH z@agI4>gwv{<>lPm-1zwT-rnBd-{0-+?f3Wh^YioX@9+Ej`{d;0?Ck94=jZbB^6u{L z000000000000000A^8LV00000EC2ui02}}^000I5U_k_AX_DfguBnsze#Gq|1{lW43fj5@t-5GijP6aC2o& zoi=+4_(?NpPogh*3S~(^XHBI`k(M-iQ|i;DOr4ITDzm9p09<`~)fyJ(Sf^!ETHOj& Y=-QoFhn@x6_UPQAb*tV@8aD(0JM`d67r$SB{>v~5Mnhoag@EEu7NDp9Gw6W44$2b@93l*? Z95Nmo7Bnz$2y4ZhC{SczU}R*l1^^j55kLR{ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/grid3-hrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/grid3-hrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..8d459a304e0b224f8c28d6b7b585da7019d28cce GIT binary patch literal 836 zcmZ?wbhEHbWMYtDXlG!!aN)x1H}BrOegF2|hj;HkzW?y)!^h7bKYjW6^C!b77!85p z9s-I#S%6;r&!7YHC@4=ba40eea>#gWNI1yM!7mYUVnf4WCKe8!85Rx=4Ga>@3=9GS G4Auam1ttan literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/grid3-rowheader.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/grid3-rowheader.gif new file mode 100644 index 0000000000000000000000000000000000000000..2799b45c6591f1db05c8c00bd1fd0c5c01f57614 GIT binary patch literal 43 scmZ?wbhEHbWMp7uXkcLY|NlP&1B2pE79h#MpaUX6G7L;iE{qJ;0LYaF_y7O^ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/group-by.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/group-by.gif new file mode 100644 index 0000000000000000000000000000000000000000..d6075bba2fd87519bce379df01d12cdbe67f255e GIT binary patch literal 917 zcmZ?wbhEHb6krfwXlGz>`0o(b_B3_s=d77u3+H|!r zfbs+bM-c-fhm6OD1qYj1`88rr6eKbU2cZFVdORzJ@!m~?8+%1KMTTg@3K$aq~=^PX>8{)(q7 acp2+dVHKAK1EYrP>l5}X$w&(@SOWm68Djnb literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/group-collapse.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/group-collapse.gif new file mode 100644 index 0000000000000000000000000000000000000000..c9ad30dd91e6a867e8646c431a90025edf9d0977 GIT binary patch literal 136 zcmZ?wbhEHbgxLc|NqsiSKqyR_wC!aix)56vSrJsPoH+}+I8{b#idJ^ z9zJ~d=+UD&_>+Z^fq|Dn2gC!J!N6j=;iTv4tgxLc|NqsiSHFGxcFUG6ix)4xd-v|APoFMcyts7f(p|fD z9X@>c=+UD&_>+Z^fq|Dn2gC!J!N5|u;iTv4t!^)-cttuXbRB1CQ3_Cc&cV~h zq{5hRyGU?KL!&^0(@6#ggND||K*tOwvF$G&IjxOae`8JA>9Jef<+APMSO=R*=CO07Ly*b^rhX literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/group-expand.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/group-expand.gif new file mode 100644 index 0000000000000000000000000000000000000000..663b5c8413e2b56915358f4428ff10eb11dac023 GIT binary patch literal 138 zcmZ?wbhEHbgxLc|NqsiSHFGxcJboHTefVuc=6)hyLUf*`m}4;uBA(t z9zJ~d=+UD&_>+Z^fq|Dn2gC!J!N6j^;iTv4t?n61IU=1Dx=t{(CegNBwy!@vwCvF$G&Ij!|mVz34PFx@!Q literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/hd-pop.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/hd-pop.gif new file mode 100644 index 0000000000000000000000000000000000000000..eb8ba79679eabb7811c3d9d1c86c43bcf67552cc GIT binary patch literal 839 zcmZ?wbhEHb_??HKjfkTCXkweD9 mfT4kbgI~?WW5NQ*7JhN9o*xBDE*)ahRw)@D7aeL~um%9t9ucMh literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/hmenu-asc.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/hmenu-asc.gif new file mode 100644 index 0000000000000000000000000000000000000000..8917e0eee0cdf7758e83c4cffa7a7239f72b8427 GIT binary patch literal 931 zcmeH`u}i~197Zo~Emb-ML>(No#i13!1{`|2)F4_jl^X=3LnUJzge<}>RZc~zP~kV; zB68w#pu>SnK&adpIt5*dn`7OIQ?33Dj(x+oeanNlwY^!!2PQI6AN?^vMGITlu?Sc$ zU>9uS*}igoaC}8PN`jCCnovooc75v7&|^Bl#h|GI2x(JLP!wWjlNOK|~-m_dM?T+-E!pI0dd^5l}(d@Glq_swQ5Q<6ypk{;!;VaqFyLusAH|W zI_^hNH}3WaBSr@P!$9skWgujrrQZ^Mn?RWcN@fn{AM5KVovc^P{B4D$=SroI5_&zI zNSF`DRwb35%9fAbth<-%@nxq_$~TO}IN9OvPh(dz1*g;6JvytHv(;6&xjkRcOr!mB r{VRFNa;Pe5osHT>5@ibIb~{3g+0C%lYO~3O6<&R=-|w9m23q?84YkzM literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/hmenu-desc.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/hmenu-desc.gif new file mode 100644 index 0000000000000000000000000000000000000000..f26b7c2fc5836850958f7f2b1fafd3988a988d7a GIT binary patch literal 930 zcmeH`u}cC`9LIl>nH9kiSwcv;h)RPe4nCSX#PT4JtLbR)IJcwe#y6z#3aSf)9!+l$ z;%yxW@kSwnZWM)ZydeVHiWX}!?QdxG!)N_2ANcN;ig{#6Ai)s+7(q%#GE!y5mQ{jO zj5MrhrlNCIcT|&WCe|#b*{*J3-4-SmmeaOT%60^HIHrQgae`8gf*j^igs3uBp{hnT zopO)5V>`?=nQ1YLFxzIBGSTNY=9rB4oG{nnt~U^b3F->w3Rehk(B^L2>$m$u&+|JS zzvF-O{o!cJw7~xri2now00G#VJYn()2%o@AE8lw!UPJ@SiC{BRyCfUg+)-YByjskr zv+Ug{Ji~hAw(%`jAsUlHdvfpXd_GaEWO`qB`!@?~^gbD{hpr>BT&DZEGYhLy?xoZ; n!ca~nNw;=d4=v4s)H*Z{&Ndrqrwj#{39jU-m51Y}8o>51Tocwt literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/hmenu-lock.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/hmenu-lock.gif new file mode 100644 index 0000000000000000000000000000000000000000..1596126108fd99fc56226b412c6749c55ad5402b GIT binary patch literal 955 zcmZ?wbhEHb6krfwXlG#X4~ou+bjZoeOV2FG$|=q-C@C(jDlf0eD{N@b6W`Inv#*zP ze=o<1{(yu1+=nJ`ADhB`dOG8|nG9#s|^2dGCVn`{Pc*@>k~$=Pg%ddVgCO)!~fR||KBnE z|HJVAKg0iLR{x*dJ-;0I|GC%y_pblnMF0Qq{Qtk(|NlOXjV)~*Jzd>>6DCZaK7IO( z88c?ioVjUP%kt&RSFKvLYv;-0XzkU1m_xG3of4~3u@#FvBAOHXT`19w_f1o=? z!B7qX#h)z93=CNeIv`Jg@&p6N42G*5G9DWiIGRQ-bEs^3`rv@RCy$K9p(kC=rd|^` zST-*?>B_{iQlwx7E2E<(Ghbe(62oy`Y27&t0f`^nn;9J1SUxr?H8M5pwCs2h(8SWt zC8Qv+=HXHgep#c0o(mriDDdjJR6ObU=;Xr2&gPqN_0-kZOwH=MQtsX=WoB-cUnB8y dW3n5EfMAf!nn#R>TRBB^*6i?z@O5CY1_0nG4B-F( literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/hmenu-lock.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/hmenu-lock.png new file mode 100644 index 0000000000000000000000000000000000000000..8b81e7ff284100752e155dff383c18bd00107eee GIT binary patch literal 648 zcmV;30(bq1P)WdKHUATcr^L}hv)GB7YRATlyKF)%tYH6SZ6F)%P+<{wS~000McNliru z(*hb477vONgHQkf010qNS#tmY3h)2`3h)6!tTdPa000DMK}|sb0I`n?{9y$E00H1h zL_t(|+NDy@YZE~f{$`WrhuKPySQAA=4|-5UL@Ysj^nd8hiS;2Kdj#HUllo z8f~>&*KFH9Nwz?Ckui3oR;%3`NI(gPUDtho|G}f2_3e8bT8ASerBbE5)1bTYdcFQ| zZM?C8k+I47`6u~>51*b--wCz*ER>uRr zeV-UkHLH%}72i$a+1i|RAKlWyIlu9^60fuoN4rrzunmYfG3Rj9y^HEzZv5(CEO81y zUYkzkSk-KQ`3%0SF=Q~vI7Aru=z0O7P{Z@#ja`PhX$8v2D-^Gzc;YIGcnR19E(0MI z;kZD@0aiO(XrN-PsAlqHZzKK#l1tJ_)zheV5(%VKYS5UK?$7C;0+>qp-G76P-YrWc z5ZrIlD9FnLDKc3)8S0<dA!cTgY+CR4-a*;u;!NrNF3LWTlP5a1_; iES|Z7@j-3=)A|j?vD&^)Yn&Va00007>1uYXA>3Qh}beSb(Ur!W`$ZoRvwlh8h#GSA{v3P9MZmob1&N}#H|)3 ziyhJ(U{)KHf*@)Iy5?}L)|RKuO{O%cx#h;IvM2X1`q0Jo18y$3o31q0)ZQR~04YGX zfXCOw7l;j1uOz`;`%xPF|1H(H=TQ-Al80O7c-*kEIp@ZM``Ch}Whn7a@ zEo{qiRYg+i%R z4h#&aR4TPvt$O^~PNy46p*I)|Mx)VWGFdDZtJOL&G4XSL3{j3aZnxWK zXJ;3eLR8p^IE^@iXhU=a0)b#Kw7t0&jYea!SUet2Boc@bilUOqB;u|J|M|xX6jAAP z03n=6?Mi(Dm?nrZ^SKu7#oi7Bm%1nSA1H5qaf|0_D`c0ZeXQSbMRJ}Wp^ujFWEojX z(Y1{1lBcW8em3h3o6B)FgQ$TZv?6jQ8yMxx;o>^&qx~ghy5ef_6fHB&ac3`cuq8MD zSbdMbr>J*|b@#!#g0h@qxe*x=qGVcHY literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/hmenu-unlock.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/hmenu-unlock.png new file mode 100644 index 0000000000000000000000000000000000000000..9dd5df34b70b94b708e862053ef4a634246acc8d GIT binary patch literal 697 zcmV;q0!ICbP)WdKHUATcr^L}hv)GB7YRATlyKF)%tYH6SZ6F)%P+<{wS~000McNliru z(*g|-5GqRX(wr!towOa3bz1}%hRS$Ze*UVXl27U>F*+kf-M;&k-s!`fDVCrZezlf>dy^3`BTW$z=L>EIW zO>?T0B!*En2q>u<@}12dniz6|2?Qm9qx{jpBiX~P{FQ(#@rTzxF``)#1i>x@j&6Pg z`g9}R!YZ+#Bpq}r3e{~P5}$S=h*)1OVUmx@SN9wqKg;4@^1P3fXJWAV73+q9*IOoT f&)vjR{Ezq!d`RXXnklE900000NkvXXu0mjfw|6I- literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/invalid_line.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/invalid_line.gif new file mode 100644 index 0000000000000000000000000000000000000000..fb7e0f34d6231868ed2f80b6067be837e70cac44 GIT binary patch literal 815 zcmZ?wbhEHbWMN=tXlGzx_z#4mU^E0qXb33&WMKq(T?a&f@&p4150I4La9D7liGhiU G!5RR1hX@}4 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..e846e1d6c58796558015ffee1fdec546bc207ee8 GIT binary patch literal 771 zcmZ?wbhEHb6krfw*v!MQYQ=(yeQk4RPu{+D?cCXuwr^cCp}%d_ius2R?!0jBXnAQ) zOH<|l|Nj|aK=D7fpKD04vtxj(k)8oFBT!uNCkrbB0}q1^NDatX1{VJbCr|b)oWWMT zS%hVC ~NwO_yO%;SvZ5MdNYf|QNy-I*%yJaj+uTdt+qbZ z4E`Fzb8m}I&!N8OKmWEcCmrLs^Hs&3i)mt@hQVdcqghkaBs*D}tG_lKew4?rTjzIZ z9tSone1TS+TR7tu^CunG)Y7Jg#sw#)sG9C!c0I%LEzP)9;hqRf&)s$D8d5Db{TBs% zgl0~5QQ91luq4Q9tJgt4QLbaxZvAaKeCM9!oy85dg4k>TdBSVqjHub_PG=PO&J-rx z7oYTuF+kH|tG-UK+EkUhDjYx?zW?T|lx>+aOQm zzL$v$zBLo4Cj=G&tw{H}dW?tlTkS)SY4<#NS92z*EY-MMB6Ftp`R=*=*Ev7cS+X%W zMCur^FdlokL}1Y+&aasU2J4#EOuNlnb9CmqgLCGTSY!1BD42pkHY^XidQ5=>YQx%` z*%Pm9D!CkBu&tMWm(%-ejACVWGS2RX5=QOJ$1*tr7F}F+*-OA+Ly&Isg|AEuUYicA z#%IG6kPXkHt{zk2M6zK@Vu^4Q(1zE$?yY6M!^&jQ+2^E?!p7{g*|X6}vuRC3p@jk0 W117c83?+LXEZI4G$p&LV25SKE>nb+@ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/mso-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/mso-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..669f3cf089a61580a9d1c7632a5b1309f8d0439a GIT binary patch literal 875 zcmZ?wbhEHbWMYtKXlGzpd-4Cei~rYO`oH1Q|BaXbZ@T<{^OgTwuKwS8_5ZeO|94#b zzw`S4UDyBbzVUz0&HsCE{@-`&|NdM558VEL!C+hQ;zA>HJFm1! z#)%1x%x&D_IuR=Z8kt%-g@N({4h;>A%p3w50S6iynb`#tJSI3aHnDO`7-U>H(Adn* Pui(%j;MmmCz+epk$!Kdz literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/nowait.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/nowait.gif new file mode 100644 index 0000000000000000000000000000000000000000..4c5862cd554d78f20683709d0b450b67f81bd24d GIT binary patch literal 884 zcmZ?wbhEHb6k-r!XlGz>`0sG^=;33>fanOrC>RZa5f%c9KUtVTUe*B-pgh6A5y-&E zA>*-O!NDdb7MYkC1`iK4@=0rzWCSQRbnt4Ywd@dF=+rMIANR*%(jvDmG5%#TnwOp& kU}SchrxH17*#QO%<_$5P0_ncfbgjEYUKG8!(7<2~0Pia+WB>pF literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/page-first-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/page-first-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..1e02c419f5e73fc1ba5770df0448d44adf856288 GIT binary patch literal 925 zcmZ?wbhEHb6krfwXlGzZPfyRu$tfx-s;H=_udjFb@6g=b+}hgO*4EbE-rn8a-P_yS z*VotI-#=;6q{)*fPnj}h=FFM1XV0EDZ{Ga*^A|2$xOnm6B}gPhY%v@z$+dw{PFR zd-v{x2M-uV!Dt8!L;Mq+#E6<8x|aFW_O4e+3))3Q*|Q=94?bWMk!6jGP<+(r$fM>Xwqe7gmNr&4?FkK$jz>EMMFb>zJ~*Z~ zvMU=|C?p6pu`gocw@ENKkig96%Ptk5a9{xwcPOV4M}k2k%Q{v@i4+D0okN>5F7xql HFjxZs_zi%( literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/page-first.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/page-first.gif new file mode 100644 index 0000000000000000000000000000000000000000..60be4bcd3b851cf6f0d853b503467851014b5d2f GIT binary patch literal 327 zcmZ?wbhEHb6krfwxN5+Vot>SMlCp2#K37-QY15`npFTYyA)%$ErKzc@qoX4%EUd7w zFg7+eD=TZtlqmrL0p;c8US3``H8qKei3blJY;JDevuDrh)vGsd+*nsvw`$d@va+(> zyLY#?woaHZVcxuXeSLim4GpQOsW~}0m6eroadGqK&u?sO?CtF>C@5I7W=(s0dwqR< zet!PMi4!X-D*pff&p--L{K>+|z+k|j1JVTY69Zd{!;AtC9jSizCe9QW30V>KLRG^m zi>rxF42Eh3v5Bq@5fau?#yToHWEhT}VL!KN1=sq9!p9d5N3pW=^0;a0wK%aUGjh4{ kYVnX_llo;Ppa!i5VLFJ8Q4$&%&Em#6pV(z;0OW5pDfG_ z46F<~Am@Pc1OrC}12>0^$A$$5o7t@;-Y_UNJMxKf6&W}lT+k*Y$eyJjc<@21kdg?` z9)m}X2f37ODg+`IICZeGskVGL@ZdlLlaQT?!H)&bz6?zAIR*(A8e5nhSgkHN9C*OQ m>dC5ipkT8?(+Va*AAy7q4&fY(0%9#)p=)k#W@Tbxum%8@3U^Ha literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/page-last.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/page-last.gif new file mode 100644 index 0000000000000000000000000000000000000000..beb4a8302a5363f25143e4934753aaae92c1029c GIT binary patch literal 325 zcmZ?wbhEHb6krfwxT?zF>gt-9n3$cNot2d}efsn%Q>ILtHm$C%ZqJ@Q6DCY(ZEfAS zapS60tJ>S!!@|N+Q&T%SItmI3%F4W{`~nVDJi|Zy#WCM^XAR_|NlP&Re|D97DfgJRR$f9sUSZwuq7Rs zRN$c_)$iVXk>QdAcW+W+lA)Tw#l%IA4V?t!4+?C0AR)@l+|z`(?y z1M&eVPcU$JFtBpScx+g3u$hC^!6V}XBXb*zY)A!1phGj4Fjq*7gQ62lFOR54M?r!E kLmQ{U6cz@-#wJD`MJWvdVWq}d0_-7oPHt8|*uY>70KTb0MF0Q* literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/page-next.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/page-next.gif new file mode 100644 index 0000000000000000000000000000000000000000..97db1c220739ebe7f1cd7f8d44b0aa87d9eb3c19 GIT binary patch literal 183 zcmZ?wbhEHb6krfwI3mK}>gt-9m^gj<^z7{HtgNiMy1MrE_C0&{Oq(_>EG%r}#*M31 zt(q`lLPtkOYinykLBW(MQ`W3mQ&v`%nwt9m|9=KTK=CIFBLjm7gAPa`$W8`U69v`2 zl+1Y=txMEWHmDTuF}NyoF~GV@;l-LmP7WL@5kfA44Amk`J`#xnt-h-^IOLvwJIRT` F8UTl6Iw$}D literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/page-prev-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/page-prev-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..37154d62406ddc064dba311b95f554e49ad38003 GIT binary patch literal 879 zcmZ?wbhEHb6krfwXlGzZPfyRu$tfx-s;H=_udjFb@6g=b+}hgO*4EbD-QC;U+t=4O zY0{+0lPAxdIdk5;dGqJbU$}7L;>C-XELpN*#fp_HSMJ!cW9QDDr%#{0ef##^yLTBz z!Dt8!oe)s`$->OQz{;Qlaxy4SFmU)VaC69bY*=uxnSOV literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/page-prev.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/page-prev.gif new file mode 100644 index 0000000000000000000000000000000000000000..d07e61c36a89c5c40e752663e60a9500e383dc53 GIT binary patch literal 186 zcmV;r07d^tNk%w1VGsZi0K^^uzP`R>WMqVdgqN3>U|?XZtgL^3e_>%^N=iyzUS52B zd~9rNcXxMIR#u3JhP5f*_)&66N(rk(==>!EPJ;8F+xJ7^b4JOBUy literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/pick-button.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/pick-button.gif new file mode 100644 index 0000000000000000000000000000000000000000..6957924a8bf01f24f6930aa0213d794a3f56924d GIT binary patch literal 1036 zcmZ?wbhEHbA}e@6f*BUeEG-{mbu9UVeYtn)@A#A9pQ#+`IB&@5(0= zRzH}y`r(9CPbRH>G-dUZ>1!TLU-xM0+NU$tJ)FJ%!HkVh=4^U8ck{CaTb?f6`F!=h zms^g%-go-h&Rf5C-u=Dz!SB6~|L%M6=kVF*ht9t`fBVhRyMGQn`g7pPpQDfe9DDTl z(5wGPUi>@u`u~ZCzfU~=ed^KQvyc9qee&n@+yCcY{k`z?&xIF%F1`GB>D9kWZ~k3* z`RB^(KUZJ||Ns8~&oBx`LjW}d6o0ZXGcYhR=zxSld4hrCB?B{ujK>Cr zPF^XagaZi+ome=9Dmm#SD}7El7CSA;=KXekY^RG>e-{ zuuVYm(pR@|5zQ!{2@Y3s!WlFkEt+xRKzr=&*z_|U*@qgNWbB##KVWn?)_GXn$>4`} z#Rk5^9iqw$CMLJ{owi8Xkg$-crJaR6?!tz^#b0>Dw8Q57c+l9;Af%gcqV6G6E2r=p gYaW5X0}L(q1$Yc3_9+}>;A5Sv9e-|5r2~UC0H_cnr~m)} literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/property-cell-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/property-cell-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..7890cf9f887ca6dcd09f0106c97b44b6bd032304 GIT binary patch literal 155 zcmZ?wbhEHblwc5Gc+AOg;lhR2Z{EFm`~K~_5AWW8eE;FohmW5>e){tB=gdaSrM&Udw>$^!;7jFpfiJKq0dh%|O{FRAsr%cJ6cQeymfr-Hy05I5B@&Et; literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/property-cell-selected-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/property-cell-selected-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..1dfe9a69eae133929f3835ffcfd108959539b9e5 GIT binary patch literal 843 zcmZ?wbhEHblwe?DXlGzpb>`cJ$GN zbN|hshj0HpdiUqa`#(?L|9SS|&x?Tku;-OBz~m8F^(Xxn=WLtiN>a=Bx$F zE?m8F;nLL!Q)l&0o9h!C(=%n(wOe=Z-ha4p+phfwkEZ5Vc1)PQY|Z9dx9>(KWnH~~ z>(S$RNmD?mv9-+Rg2I4_CJIHMaG% zPnb4+&ceq}p0)H%FR85Wo;q*Ux=pFMWe1L)nlNk8yoJkV&R?=-^RCpKQa9hQwEXgn z!pip_KJM6ec>m#J*KXY2f8^w`6Q^e`TG`P(@#U-6IYpHfO+D3(9i5ZsY}~%Lv1{Uq zvlkaGS=HV7gkm^w5Q~jme)4VU$mmSscZUz74w#^?wB~^=g*%RMb(8> z&7BjcKYH@~{)0!8XDuwKZoPH){;G{T7>EOkKUo+V7>XHmK*~XJ!oWVSp}48JrL|2t z%F8=3u&p`0Ak5C8$Vs=)FN>E?AUn<7Baf4*MT)W6--OM=GeE4bSy-LLSvqt>F{7&i zgQ&TE6Th`WhFXr2Y&0`7J9}^ww@;xYgOHm>TsTuQk6BY}E(5EeV_RmksUj;&zVVJ? zqex9(HbbrEkeHTKIc+_OAiWO?j?WH@yUQHepwOi1&dIu?>P1B(15azY1T!OpH2`<~ B4eI~^ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/refresh.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/refresh.gif new file mode 100644 index 0000000000000000000000000000000000000000..868b2dc594ed057242f5b642e0c28a764edb9412 GIT binary patch literal 570 zcmZ?wbhEHbVk&zkko3Jv}`=wY9ay#l;mB6<4ob?da$@cI?=#Tem)b z{CMKTiA|d}ZQZ&xKR>^vrDfv8i8pTCsIRY|JbCi6Wy|*N-TV0QV64I4HT6%}2& zbm{*6`w0mN3l=Q6dGlstV`FP;Yfetip+kqxo;`c!%$e)guh-Pn%$zy1s;cV4hYvnJ zKCfQAnloq4jvYIinwoz8{CW8B;Wca4ELyZ^;lhQpX3aW!^k{s1{L-aMr%aiWnVEUy z$dTEzXYb#?zp}Ejy1M%I?b|bE%y{tN!Rpnk=g*&?oSb~+%9Ws?p#T5>GYkY!{K>+| zz!1Tp1F{?xCk*V<8zPz_mX9^mC-VXy`OS3=Nw literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/row-check-sprite.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/row-check-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..610116465e7e34fe6ec137d674a5a65eb44f3313 GIT binary patch literal 1083 zcmZ?wbhEHbG-BXmXlGz>j-2EYIms=0ihImdkJxD*ann5GrhCOt_fD7*mN_@JU|~Yh zlH}5*DP>F3%9rQXt#bJ9;Pl_AtZj8)e}DJP-90mRO_;lP-R7O^x9r-qeb1Jidw1;K zKX>_o#p_P2-*JBTzJq)AAKI|<;`aSlckaKi>)_Qrhp!zxeDu(fW5aL2&AYd5-M(@A-tF6WZr{0c>(2e#ckkc1d++>}M|bZ(ymSA_y$28PKYDua;miAv zUOssE@WI2!4<9{x_~`M2N6#KTe)9Oq(zkK@q?aP-hU%!6+_U+q`A3uKn{Q2YOFNRSt)Ivb< zCkrzJgCK(r$l;(o!NBpKL779wW5a@j%^bpFa}I1+c({#=)o#uSgQOPDOrxwjGt!z| zdt@$e$lSc_@o^LJpjAf}JZwJMArZPP=b&Sgps8HqqLPD`kM_zs`Roai*qqK|#L3VT zF?sR}KXId?9~w-oM=!LvF0}h7u%L13YL4V{2NpVaOx6sKXt0%-%sxprU4%n}F=ee| zk7OB3V$o4<2?NtNdOnMp+}aIPI1Cb!oedm&q`N#WDjn;2s@TV#Wb?^^L6Du@WzE4m zBH2;`fg2hOC%gI1Qk$u|ta4(CLnAZyojrZEhG#jire0bj>DOw0Oe9%D!a<-Z<>RHq z%WD>VO!l0r8@nULP;YPhBrdTFH4+!k**gxLc|NqsiSHFGxcFUG6ix)4xd-v|APoFMcyts7f(p|fD z9X@>c=+UD&_>+Z^fq|Dn2gC!J!N5|u;iTv4y%w*}?*6|Zog-zE$Wf-gr!$+J z6iy#!IAEOn*eF1GyMIntGK=kDhJ=Iw8S9f#pHF&fFh(>8r<_gNKHq5pn}GtymEMRf vw`Q&&hNg#no1d5ZCmMtc{L7T8uC1?><&KNglJDqb=vJIKY4Vgwf(+IG0D4r1 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/row-over.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/row-over.gif new file mode 100644 index 0000000000000000000000000000000000000000..b288e38739ad9914b73eb32837303a11a37f354a GIT binary patch literal 823 zcmV-71IYYGNk%w1VF3Ug0EYko000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LV00930EC2ui0096U000OS0Po$iSC8I2dGX-ATgb4XLx%wY06VC` Bj$r@* literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/row-sel.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/row-sel.gif new file mode 100644 index 0000000000000000000000000000000000000000..98209e6e7f1ea8cf1ae6c1d61c49e775a37a246c GIT binary patch literal 823 zcmZ?wbhEHbWMq(KXlG!!`QrEOm%s16{{7(1pGR;1JbC};*@r(bKmL9F`S1V#{~1QX wXb24J5K#Qd0`%X11|5(uL3x6KLxe$C!6IP+Ln9*-6GOy_4GW#y85tR@0bQ{sTL1t6 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/sort-hd.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/sort-hd.gif new file mode 100644 index 0000000000000000000000000000000000000000..4cf483d25c557e7a812f364083ba0c5c1145a491 GIT binary patch literal 2731 zcmbVMX;_n27LH1RDz%JSa2RT1bP!px0U@MdSt2F~N|h0Zv1$x~1hO?mNEzCqAd5!8 z4G>Xw5_S+|7f=uq_7(+Y4FpIaKoY{fm?pM#=0~5-^UVG6efQk^zUMvX-gE8=tTWOE zSF8aBlmY<#{r!`ZlS4y8V`F0z6B8pNBLf2i!^6X?tE&QmV03g;C=}M#){c*l4-O7S zM@Ju2?mF-04n*UaIMv_wD;6Dx_a`ucR|vi&svSsLQx5`?yzM}qR&G!?x)Xs&!UQu2 zXM<09;Di0~Hr}AGjsb01C>DiIAuw@37KKa=K(XvVIB(h&0!lSkFGE1U4-lrm9mqkw z0aR-`(HI1v6&Pxcha#Xr1Plzbu(Y`#zyS}4mVdJ%mcooGI1<(YQUi_4`@OF zoNA1oFN3zt}^fh75vZ^S#@@QE~EykqCuTzkW`m~Bco~fs}us2iACFi zR6AgAk~hi$imKmXL-)!EVB*2?F#G{0(UeEFiGzV3N#O?6de zMftO`(x)ZGMTG_VdAT`UPIgviMtWLm%9F>*kCGlHCd5CufA8*{xY(H6>{~aZqaq`2 zgojrzH~gEyU-#?leYS7!p1sXyvB3ZS9X zQi%r6E$Ky~kyYnL#WslffsWQo6ZJmjbV% zxA}o>v%&R(Viq|hu1j1N+(E4wkyVDADjJZk)c(*VT`&3c+K*x3HzFdVqHo?}-;Rlm zyK~q7+Jk!ui4T(=B@;DLQq$5iGPANd+??FJ{DQ)w;*zJOWzWhhDyyn%YMi+5Hp4V@B``*6m9~c}O9ubU=3CBA=5s9a!B{Q>gQki^Sv9P$b zyt2BszOngU3D~jI5L2A`B20U)$pv0*JFZg+nzg#q>~HMbSuo z=#E_nTq}!58>9A`UL5qiCTxj2bn=O7)zgW#L<|4n_Nr1*SE|#k18&u2Q$5_Xc^5mX zpGo?P@oi7sYRYE^Dgz|L9gmpTM;gL*eQ~O`QZD4(GriPVTcr?nXPitq^}Kpf^0w4} zr1N>rvQ*G`>xpBRrAWYZUcr<+9IpXMz{XX2$2*W_}Xe2Pgcr5C0JaH`AI9n{(W>zj9y9I4F z7P2jSiNf2+Nv<%)c1bLZwbwj49*5Q=jo-l-<&58TMNEy~b9X*Eao^({Y2v|opPY&K z3xQJ;36~>|P9}QClQIFs?3~FYa{1KcBYN{uQ8KfaBznx6%n>~aS(*~1gld|IQ^WQA z#A#7Rx#Dy-Vp^OL=WH^SdHR92!-?o@Vi;PezHHNs??n;Gvnox{z}HR0?oo1V@q zZZ?tRm-YHd3MwaaC55$1(~_bFP1Bj;CO!X|5}r}s%+q#+X`XUhx3lSN+3R!uv(Mi8 z-nctl3mryU^<|eZDf8C#~C9l1S?TT4u5a z4Sllgh4ztrFhIw8M%Ji%!c5+@&yy^Fwcj^i-fS2&BX0pln$7bLCy?j)#+>~5RJMyW#K2xk%EPvU9D#qdfZQ#FTVEhq%6KU z?_03gdm(7ns#Pc4eCe%s0%hqPkyEhLPp+6<8lbnBFAp;ND9b}EQNi+X$nxy+NT?Qg zMG&q}T^Wr!Qn)h4ww_xN25B8!9l!5MU7bkuEnHPjCI`)}ic%xNYvRnBZvGUPQ@A#r zppE}nQrrSwpDF93uFqDA3Tq4trE}}j1}(^jtVy4?A@`__*_dy)mezhYfre}@y!NDR zE|%DaZY~W5NjH}Tk&yQ*;|a9)t71;k`?Z;hOEJe~EfD3#LLW`Jxgsi3zTa4us!C8N z6`;kqzuiCveR^YF;4nRlM%@FwB13x#sh1zNPC@h-AGIm$Uq*2aZUFdY-}<@ z$)nxb>H9dCS0-Nao9Elp^(uI;z$?Muerd8ZV}A>#8J;9(6J0Y5`gqNVYWZzCJHt?f zX+ibNV_4y_50`i?$JXSrp*opBEiBK`U_LI&H4~)I=Q*S1@5HeWAND-Xck!CPo7kRd zWXf?6?Rx2LM*c@9Cwkx<_@nof)bL@p?)emcm6u>83do7pl>jn#{+HPD&{nqXX N)IwUwEdb!lUjRh?N@f56 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/sort_asc.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/sort_asc.gif new file mode 100644 index 0000000000000000000000000000000000000000..7e562e202dbba8990cc767b17ee85c6f73e18bfb GIT binary patch literal 59 zcmZ?wbhEHb`0voy-@k72&h=Y%ZQ8zP%g((!cJJT4@8F*OhYlV-dg#cp zW5-XNI(_EM*|Vq5Up;&A+S!ZOuUxr$qNpFDl?^y$-QVDS9;ix)3mg1{>fcnt(^ zUcUi>w{PFRfB*i&hYz1Vefsj{%h#`8zkU10FbYOPfHonZ_>+YhWU>y30Obh=jxGj9 z4jGRP3l283GHb+~D0p~)!9>Yxj)(FAXDKG5ESZ1@4oAD0WI9R=9v*6Ak!N+{dHKMR zl}FY^$AdFLm4!>ptVN@75u5?#BR20ya;KC(goN;9V qqtnW!)kYaNB(j|}n>i$H<|I5^)XKF~L^CSn=7x7MEgZ~D4AuZjXTU80 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/wait.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/grid/wait.gif new file mode 100644 index 0000000000000000000000000000000000000000..471c1a4f93f2cabf0b3a85c3ff8e0a8aadefc548 GIT binary patch literal 1100 zcmZwFZA@EL90u^)S14;kcS~P51JcqXyBK7YjR|$m*3qt)1nqFnf*+(nyIT_zZIrbc zP70+hE$ePOAcE2K4FU;V;KM+=xUiQtnG(k(Qx;;(oQVNl47kM11c$9(j7iV=cuw*= z&;L26aeaM*8AVX!4nUmF3luezO5JukyN8Fbj*JY)E9#Hd|0*@ZIv{eO*Nb# z12yCIrOhLLJlbn33DTB}t(F_b2bV4~y*j=}%v9m90(t13QX1^b_==P$D+H{5*5Mu? z8gKY>BXXf^7@!+sCzFj+>XgJsqfc(1Ya(r=#J=3 zlZtj9{~(p*xA$9X2mMtN6e0bM#^36uHAhJ9Q&;+@HQ_ThCJ=yPPcaaStzMs1DHP_0 zvw_E92pgO+s83$0SnZp{u*pvQ$A3#Rftg(VD(=52XCTzUftd4T-22$PQrgIR*gHx4 z{43C_yk?5j?(i$Mual4dFf?{<9Wn}qfaB%>iNwkdu&q!m&h2IcZ$2Th!C8}<*_&Pr zyKl`OZw8N)3D^4?RK}UoD=o00gbKYHy=yv32mZ9Dl8aIS8x^Z$2?NwcBLzFmZOtoW zzN62&u*QDIz{Fy}^YAXY&Txmg7ATSAhAr8K5fZbFZ*SFa$_qE2L|VVFHOI{wKE8B_ zGXV2p-56OO`rc4Z7g3zbj)2_3YjK$((`OUqD%*mgvS`YELYsVW1or1)YW%;)D$oE>#r zQ3z|D(W$Eg`c?NY^+fD&+nctrc25@u47U__J8-QW7NqK!$T9C@*SpuaHyFRRpIGae rj_Lao#za}+eaj_<`F9!mRdtBiaY8;Hc6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zFlAunknz~C;9xU5Gl#^14GRyqF(|p!cuZW_z#t(WR-;k)_;9y`aa9RNLW=VQMPsFy Kokpn+4AubBJRUOu literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/layout/mini-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/layout/mini-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..99f7993f260b374440c5c8baa41a600eca99d74d GIT binary patch literal 871 zcmZ?wbhEHbWMxohXlGz>c6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zaA9EP;893e(9p!fE+S&!pm?~AUD|4jgy5sYono4CYdSV2yD|teHi#$`Jzc6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zaAja+k&tj`IMB$%CgZbW!-Ix)HhHZSi@+q84iWvZBN>K^-5Dep8%#8W7*0-Pa>$EW bxpC?7J_E~BDJKIG4z;p#3-JgDFjxZsq+}v; literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/layout/mini-top.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/layout/mini-top.gif new file mode 100644 index 0000000000000000000000000000000000000000..a4ca2bb20aad89264b9022fee88ee29154dfb192 GIT binary patch literal 856 zcmZ?wbhEHbRAyjhXlGz>c6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zFlAuo;89qx;9xU{u$s(?fCCNf0?JM-3L76eGxBgot>IYk*sW87)#{JM#>MWF#5uKM LPHswdV6X-Nu*4oA literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/checked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/checked.gif new file mode 100644 index 0000000000000000000000000000000000000000..fad5893727ee8a13f428aa777380ae97152adec8 GIT binary patch literal 959 zcmZ?wbhEHb6krfwXlGz>j-2EYIms=0ihImdkJxD*ann5GrhCOt_fD7*mN_@JU|~Yh zlH}5*DP>F3%9rQXt#bJ9P}a7(ufM;0=I)-EyC%%tyKeK&xyuhMUUy>sj`JIKUfjO_ z>dyTab{)LB=kT>-Cr%wbdG^%lGbhhnIDP)=+4C1qp1*tM!nLy(uU)-*?dpv?S8v|E zb?f%+J9qBfy?6e~qdWJX+*RNl{ef##~$B&;sfByLSi(wRuh5*qap!k!8nE{v; zbU->ld4hps4uc|xjK_ur2b)<{HDXQ_Japi6Q1W6iYUvPA5Rzlscwpk<4sO9XmXjI+ zi&_OWe7|@wG&BoL67X4M6R7Omz-DfcwPk^l8<#v6OGU!M%_;%{ss?XfI5Zp-5OGar zYW(QXz|GEX#*rx~s>CVD%q0^Mz{1hH&cW`(j0A>8wr;ZvZ4rjePOb7*MGqXL4LK$% TI;tJY@rY17bXb6iiNP8GS6tA5 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/group-checked.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/group-checked.gif new file mode 100644 index 0000000000000000000000000000000000000000..c8824887c0a6c8ad2d965bdc8cf3cc2461b61664 GIT binary patch literal 295 zcmZ?wbhEHb6krfwxT?fpX=!O|Yinw18W0d*Zf;&sP+(wS;Nalk?ChM9lH%|0Z*6UD zWo2b%W@cw+7akt2r>AFQW2399tFN!`=jWG^k>Tm-nVOoKkdTm=m>3@)ucM=5VPTP! zl;q;#QdCsr>gt-AnaMyip!k!8k%2*pK?h_5$WIJxE)Ek5JanY`Pb?|&)L~&*_%wZi zgMrY=Lk}DsSy*l?ZqBmQ;Sg3~cw%Y8Dv**Y*ufyx=JUzv0SAwix2%w~gim`%XO|;` FH2_I2IVAu9 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/item-over-disabled.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/item-over-disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..97d5ffacb769047b4e0a889446a9df4d1ea5aac4 GIT binary patch literal 49 ycmZ?wbhEHbWMU9yXkcJ?_UzfGPoETjvM_*v4u}BBFfeiS^h+Li%OB6kU=09UoeaJJ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/item-over.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/item-over.gif new file mode 100644 index 0000000000000000000000000000000000000000..e0dc5f7c06c1be1b3fd4e7104be5b3dd0b63c9d8 GIT binary patch literal 850 zcmZ?wbhEHbWMU9y_|Cv^{rdGAH*Vazb?f%++js8Vxp(j0g9i^DJ$m%`@#CjYpFV&7 z{KbnGFJHcV{rdHrH*em)ef#d+yAK~e{Qv)-VHAvpz|ao?#h)x-Pw0S1P@Z7m&}UF~ zX<&GGkeQuN$|T`H!a*ihE+G{M2f>4l%xpX&HzFDs8X1{cI5-3t8ax>o85yhruMk2c literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/menu-item-active-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/menu-item-active-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2edcaf8d2f2e7e99e0b29e4bbe694f9ab4be45ed GIT binary patch literal 1820 zcmZ?wbhEHbCMz{#M)00f{s(LS0ZhI^ck`VU_SaQtLo<&g2%u;5@b6T3#ti46-6w{vlN z%<NmAo%*HF>=UyZCP<~vBzYs*i&0pUS1xs*lVuW)>T(mM{Lfzdur?I>+2H^cgcEhTXS=B z#^qJ9r?;)Wy}jV^skz?U*WKM+@%h!=)7#hI-`~K@E$6di!^6WJ!rF0Xc5Hlne1fv~ zJfEGLo}QjzoPF=i&dtxyFL3Ub^WC-O<>eK@tK-h@+WPwXhUC-pe0OhqdwWOm>w9N+ uZ-0OPKr^?z-<};GAD@`49e-}m&d<*;EcTx7w|Cdq*Ecq2x624HSOWkU*osX6 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/menu-item-active-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/menu-item-active-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..45041a80ddbbb9fb4c0d10d68750beea36ae2704 GIT binary patch literal 1620 zcmZ?wbhEHbWM&Xz`2L?^&YU^7ZrwU?;J}h4OWwSBbLY;TGiT1cd-v|ut5=H_Ejo4T z)UsvEE?l^9>C&bDqhK@yhFu6K{$ycfVBllWVE_V9o@gJ<5yLK$M?FMB2yhrOFmk9k zY)EKq=3r&ANJwB{W@cd%kV$yJz{t#_#%Gb?;LyO#BPJsw;Ly;>%FD;X!e9*mNfP%~ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/menu-item-active-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/menu-item-active-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..2f14a8ccdd4d5a183abbb7cbb1c76be8f68bb6c9 GIT binary patch literal 1902 zcmZ?wbhEHbWMeR9{{Ej~&YU@S?%cU|@7|j?Z(hB6_2R{gXV0EJdGh4Zqel-OJorBf zMnhm&hk)Ww7DfgJE(RS2AOPiw_R$Uz;-m=DF9Z$#zY75wzHEvDw^JAz7iTeAZ{3Jte9Ywm$k`S*_Q#R}q_& zE>HWr%Pi;i=A4WBLbbQ&-PxV@_SsSH^7Z%kHN5;J`e%BF-Okp!^zHR6iT9_i-Ch3f z{JZzBAs#w@2RyIS?pOKNl8UVZ^oWTG9 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/menu-parent.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/menu/menu-parent.gif new file mode 100644 index 0000000000000000000000000000000000000000..5461a8bfc3ffb5ab25cc99893e322d0ca5c58df4 GIT binary patch literal 165 zcmZ?wbhEHb47cl-k`l?M?apNK gSu&}?Nn$+`0voy-@k72&h=Y%ZQ8zP%g((!cJJT4@8F*OhYlV-dg#cp zW5-XNI(_EM*|Vq5Up;&A+S!ZOuUxr$qNpFDl?^y$-QVDS9;ix)3mg1{>fcnt(^ zUcUi>w{PFRfB*i&hYz1Vefsj{%h#`8zkU10FbYOPfHonZ_>+YhWU>y30Obh=jxGj9 z4jGRP3l283GHb+~D0p~)!9>Yxj)(FAXDKG5ESZ1@4oAD0WI9R=9v*6Ak!N+{dHKMR zl}FY^$AdFLm4!>ptVN@75u5?#BR20ya;KC(goN;9V qqtnW!)kYaNB(j|}n>i$H<|I5^)XKF~L^CSn=7x7MEgZ~D4AuZjXTU80 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-bottom-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-bottom-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..54f62aa1d9eeb9f8893b14f6e0573f73d60ae224 GIT binary patch literal 1842 zcmZ?wbhEHbRZa;TQsnKUo+V7af~~KwZ%96!m%Cuw z+uJ*eU$3iOu>Jl01I^s;dl&5Z`1pjdM*O)wJ3l`^CF(KXZ||_xJa= aBs=)!{rA~4e136xb^Q5%e-1Y=SOWl-z?L@v literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-bottom-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-bottom-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..9b2f057f953325a4bc4014d0249f8aadb9814b5d GIT binary patch literal 1829 zcmZ?wbhEHb$> zvfkU)+}xaTc~$J`ZEJ6DFL-=vuJ`tJcXwBOes%Zs_VxGoH!yR{`Rv&6@NkE)cHEgA z8y_E^pzJ-*XXmD;r)L;vmuWB9{QUd^=k9kl3%0zxyn=H@+}T}QUteFvePW*P?rm>x zZ{mG%@9ggF@9*#8=aBc?v*Y9ALxLLd=l1OU{QQ)#$9%uNyP96#*qqINVDIkl?;jj4 KX5!~yum%A3N{o{L literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..9d6aaaf65fa528a7b31f9c67054ba78ea7d13d2e GIT binary patch literal 1641 zcmZ?wbhEHbWMPnC`2L^a!i5V@9z3{o>C(G5AaLWxjd$Ivyh{XbhhAuWewJ9AF7BqHnX&PxLJUGBOi9vv;fni}|0~3#u Um_>ub0bnK)Co5tq_f?D}xq0ZJjms^|ht( z>$BE!OW7x;qgDPft!#cHTB;=I3We=j&&$BnTEzP`M=IC6QOZ}qm^ zn>&(UyUm^bJ@3Z8W@h<+yLP;OytP``z3%t+k5A6c)ULl5WAXLnrNz$M=gs~7?dkpX z+1u9h&D&G){@L#7$K~Sw{`~s*=JI_1`hB%Oe>{HeK7aoIx*z{oIUY2;7kzQB@#|N2 zg{JR+(-WHbj8;5o=H>Eu*dpY{v9MLLXvf1Q`M4E{tqPMg7PYIDMJTl?uBv#{rMziI zQn$&ujKw_`$1K7aY(AZsz~I2;5IDifDCEFI)_{})lh`y)s<^VdR5DBn3Tinpl_R24 r)s?ekCd2f&pd|-paCLa9xpFVr$>7SfeY)EFP=Sn_T zT|n7uj>pDDN4q7Av+kVOxcGR#f^(OQ=cXkmCu;<+iaEJy>FMbP$*1OcZeDhFwng!) zJ0~|UKR@50nM>Ad%ZiJOJtk|#p4zhV^74SiUUR*+uDZH9VsqBrQ(ISGU!QQeOV)ea znwy(5F0YC`y>0F7?FEld&Gp{C?(Xi2&#&&D-oF0+{sv}lIiDRH9vrF z6O_H@`Rv^E^z;nl?0;GdHa|bVfW1S`ch{Demltuah&#J$>+9>QxKGUU-M#JY?M=Kd v?w#Ge{r&x2{2cOrdv<($d`M6u{@k9*rso$Hd$T+2-SzeLjm^RQ91PX~Q@e%e literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..7d03854b49dd90cb0d2a205b09afc104003be040 GIT binary patch literal 1652 zcmZ?wbhEHbWMPnC`2L^a!i5V@9z3{o>C(G5AaLWxjd$EC@3ea1Vx8A*Z^Ww#eXV0EJdGh4Zqel-OJh*r7 z-km#l{*Qvu5E!N*p!k!8k%57SL5BedKzX8lG)D~6s2=qeQ6a$bpMg<;!@+=ok%5U@ z%Ee;CgM%%6l3F!4CMX>36jFBDGGpT7W3BS~S!*~ZE%E4Avz~TDBIxPKsmhVday*Nd z`OdURe&sTA@^il#cFjz(zc#Hnz1Xx`$hGS8@{3FSW@^>m3emW_GH9{W)>%_uUt1c# zK5H%4v^5dy({@igDi!wj=GNq!%W}QT*TwFvc>KzB_Vo90JL;I3<^F8jaQkrSZy~pu z@9Q5P>66s1yAxsX^yDOE=WTOletvdzzJB&Po>^Nm&M&i`eoQ9n>&vT)BbVp-R&UF_ zxg+_t+uYgT^KR^GW|sfAYsc%yTdRfL>wa(l_~hJ7?fQE$7GGapTI{@i-rV2cp59-d zy<$Dzyge1~pY5K0TrTeK&##YfF3AVELP&z?Ma^61f{2M-?HyLa!-ojdCMz{#M)00f{s(LS0ZhI^ck`VU_SaM&?0Dp(X8XlP_&<=~M}aByg77f|+^ x6p8=< literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-left-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-left-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..e4b7d1d0bc9b870d674297578efc808093a067b5 GIT binary patch literal 1676 zcmZ?wbhEHbC&xRx9;7$cjwNXfB*j7xpnLRC>RZap&SB=KUo+V7(^L#7=QqjC)!7I z#88gUQMXeX0vwqP+7=bS+`!1p#vxmRP;}q6tBN53-i``pHCA|_3C@l725R`NK6M67J!wlirqBEHv7@8K_ VbE;G*G`wWy6!lR{l@MUC1^_YF5##^> literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-left-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-left-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..63526a75c685978e4139677b32b8c539e5820ec7 GIT binary patch literal 1828 zcmZ?wbhEHbG+^dn`2L^a!i5X3UcGwp;>E37x8A*Z^X%EPCr_R{di3bQg9rES-Me$= z&i_#`8Un*N1QdU=FfuT3Gw3h?0Vq$jkLHNs8{4BkBOC%8{}~uLWIQ%3IM~b~tQB)& z!@|Su0?J- zd)u0un=>x2iaot;?d|Oak5A3@-oEbc?uyT^?w;Ph{{H?3W^Os38S6q;g>B4w`fBTj z$Hylqd(ZRPx#{WY8OGW7&iwrNa8>x`ytlV@Zh3imMeyplv%9vwzP{F8UF@vHwzs!; z6u-WAcK7!8_XC=_<^A^T`1tt5WbOEKdv<<)ej(6nzTe(mUtizYoPGb?-re8dKRC?J I$iiR^0CAa!ga7~l literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-right-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-right-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..82a5869a736d250d1c8efb31acc15d429dc2b307 GIT binary patch literal 1634 zcmZ?wbhEHbG+<_A`2L^a)~#E2?%a9x>eY)EFP=Sn_TCMz{#M)00f{s(LS0ZhI^ck`VU_SaM&|2a>#gWSa7hJLs%>3#D;~3+Xa-p y=6GyebhKN-IP1=djf;=>D>!$_cy3y9aC&qgFCIO3@aD~%d-v|W zdiCnTg9q>4ym|8A!J|iyo;`W;;>C-1@813U_wUZFTX*i<`9BIqLttozfZ|UUMg|6P z1|0?<0Og7H(Ht=}V{+8h)CmEOECziM3t(<&Z01t4U?^a8Xli8=&|*nYaAaa;P!jUk z@xh^~SyHuZ&4vXF-TD}03@jWJo*e7s3K6s6EMDY2ggwu<%~^L(ZC!nReZt`` zS?_IYZf?%Fyejtewzapn7d$>S*L(ZAySr0aIRYjqFfy^Q^GIj}G&Cgc=@8bAJF{cs zgO+3of#VvnWj5;%lYow^78VE;MH-pR>k-CH?oV{o!PbR?d=`K zukW4R{XOsc?Br@Qo~=7RK0Yy7JO13Bou8jySnNIDPj>0o*Ecq2-#@o^_xJY?4tKN4 L`|qo9V6X-NsN;m< literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-top-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-top-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..f1bf548046f006400e71e94ce7b1f7ae2d9d7c82 GIT binary patch literal 1819 zcmZ?wbhEHb&}UfiyHeCoV#Q^KRs@otP#8_=Hw@prs)RBr{;KmPHmcPQT&SM zz~<%W=QA{M$$D*BadEN7WUbg!TUK6P9+0+46ApLDdT(2E zb92V!Rk5eHt-Zay;PI)s-rLvR-Cgnd)!ozE*WcgYz|1Y@vtz@ vXLoOZfB!%;x4hq;9UmW`n5-RtZqLro&o3C&4wZ(hB4aqZf*cW>T2dhp=Yt5**mJb3iz z(VaVYo;-MP>)N#&H*VYlqFcA#y?giU$&-Ko{{0^XqaiTFLqPE-3nK%A2!jp-5PMiyoUnG17fGB_|Za+k2NFjxZs D>gom_ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-collapsed-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..16f52333b20174eb028d8f14b07d298fb167aded GIT binary patch literal 2003 zcmZ?wbhEHbA)xq^g^_`Qhe3w{2tawFeKbc5)2JTx7EvL<@t=W_N5Nsj0R{#pZYdXw z1r3Lp*jc4!WGFmh=n|EbyHRmK>3AQHV24XWp^9f4XOP;46-BDftOlYHJ(`mrHqGYN z;ku!DAgN(KV-1t&ugMt!Z4UihK3Q8dFD>-%b_=y?cp0+XdtuttT~k+GT^F%BOZ4>A zHP<)BpKbF!Ew=Xdrrd}7Y_+%R-QAu2{Mpvs;_t8SPheavDsw&m!Qo~>@pq?ZY=}Ev zqbTj?Q@QcUu`c=azCD$jo}Qbboh^2D=9cFd=liz%ot4`9`qJ9O{dT&$&EDQ#o&J2= zUg_^o?=NUvEhcxn{KMnJ6UE=3owFnF`JRQ+{(iMPzdSoNKfQln?XIuyZmiDUAbx)C zp6?&;pKbR)FSqyir?(IH+w1SQ`}_O#^XJ?5%m4rS{{iEQc?}l zzxj`2MnaQ_onI6_{2onqc@#;>kp3rO1?iAEA|tC)+q>rc4Ua(@dT0Wj8Z*O0-{Q h>hy@Pl}l&DOnUirM*J+vv{^ZeUZ%~Q#>&EA4FFoL^K>4 z4m2<_F?r1K*tqCuw}f%lof8`uAMaOi?vnA`wB+Pujo?)=CpRrUJ>4Mr)Ev*v%g)YL JXJ%rs1_0%c6t(~W literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-left-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-left-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..620f8dbc8fca8fd110d773e591da5e79d5e6c69d GIT binary patch literal 1660 zcmZ?wbhEHb?%lg|;ljH&AaLWxjd$+Z^fq|bvhXDvcd7^zZM+~nR9`y}rA;1yIAg>d^z;K{} ziIq*lfZ+jS12Z#^Qpkx72N_v-Rn%fQ91b32lF}5Dk(~6nVKS?Imq_F!MenIHwn{mi m4F?;UB@>N!J{T-I*T%}SWKPB;<+IaWVizs(oRsFkU=096R1${( literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-left-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-left-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..eecdf668bb2b30f81d81f314aa7ea1fb421fc356 GIT binary patch literal 1841 zcmZ?wbhEHbG-l>t`2L^a!i5X(-hjZZTesf5d-v+qs~0a`JbU)+$&)9K9zA;S;K99n z_wL-e^M4eKhQM$P0mYvzj0_CC3_1)z0Ll~Xqd8(Y#`CD3hz$Xb{|t;AG9DWi9Bk$g z)`~f?Vd3F+0cEc_9vc@O?Updkx^rUV;^X}a&RsH|o0goMtj@e5=H#ZOr>7evpPJ*j zdD+?77R9gboZP(p{CtOIE?KWFD=sefn5-3hYRk&Y%l+96A~rZQHnDID$XFyCaA;&= zViJ(>-nQoE=8Vg$Voz^ddwYAq<5P3Jx39aqyW;b!yQjCWzrVkMnOn|h$A*W8JKlRO z%@SQ5wl3~qm#@#xO;1nHFwVYrX6NST=NCA4FWa-@)zvl8yX$zZcWr%reM9o;dA_^1 zy}iA~+uV(}@@vYS1I^s>etUL&e0-wUIriM1ou8jySnNIDZ||eY)EFP=Sn_TLXl9pER&z*Dczn2*-Oa0IMM3h3ZvOan nQ#czI9-1u3zRqQ)aQbOhF18as3l2Ci%#@XH_`<26z+epk|B({k literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-right-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-right-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..825a104d0f9cf23bd5dcd2d0e023167f56bd0267 GIT binary patch literal 1842 zcmZ?wbhEHbG-l>t`2L^a!i5Xhu3fuv*we|J&RhHlX zN>>y-Jlx57;NIEY+uz?m(9A8b7qjj8t%Zf^ZKw9^{QUgFV({e419 dzrTNQxSL=fuZFjr|JFT{51Z9ydx_bc5tmb38w% zHqEvueid?H^YZia9hyJIIBZ#QaWUg0t=LmrR$gAhu*hq!*Va{6S4V8lx_fHt>g($h z4tL3VZ(DP7bH?RWv8T7Ky}iBQ@u|7q+t=OQUGe$V-P7CG-{0TB%q{1$W5dJ49m3ji zXLf9Se0+kk_dK7So1UJYVVr&M%+Afv&o6N9mh;`U<>loS!K>rW?%MkL`iA7w^L%%2 zdwY9F@#}kMcW-}x|3EXhyx*Q3A0MBXtQ~)D&(6=!FD&++@3(i?*Vi{TXWu`!clY=A W4-R*8%lq%!^YinI%k_L54AuZU_LL0( literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel-header/panel-header-default-framed-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..e94d8827497c12eb191323a45d4dfb845e2e4ebf GIT binary patch literal 1641 zcmZ?wbhEHbWMPnC`2L^a!i5VrZrr$Z>C&S|k8a(#aqZf*H*em&0)iJWo;`VT>(;Gz zZ{ECn_wL`nfB#3pXb23u5K#Qd!pOkD$DqRi1fV?8KAIzjT_lfsh=dT}aARQPVA-(X z0TUaCq(nr9Lc`&90a-ql2MrAjT}*sB3Iz-c8(6s+IRqXg9Auotv$=JQZk%*b_wVLyGTWfBUH(j;}DF@Bq<=zX;QcskuI2%X7=^yZwBvwq#ykk+`~UZ&caq zTRSpe_syOC{oT!d&CK$3zsn0B9`EdrJ2z`*?(@A<&FBA{Q}yM^jfK+J`{wNa^6J6* z>iy^QYO8;~d%nNh-`{Re<@Xm4SJ&^4tNZ=y$II9K^XLEn_wyes$AgCNf5R6vunSq- zYkFgtF~9k*=8Xp}{6P|lO%hHS3)(n}G!k1C;$9@SiRDEkwX4@@Bz38@Wi0B}IJDwX zxAv(UNxc@ARwVaWe%kT4$BvEj$prI%5lbex3t2vzq+^u1c(Se5%_md*gCtWYML1FITvX|qz=GMCNHIJENF?CeuF)8RZa;TQsnKUo+V7D>!$_cy3y9aCMz{jA&00f{s(LS0ZhFv6&dWeJ&;BaGLCMz{jA&00f{s(LS0ZhFv6&dWeJ&;P}tL$|2*iVZp&> z4q>5)6B`yDZWj<2o8hr>(a~-Rb*URCHZDHiuV5}G;kjwa$;le-N)abFEj>NmAY5&R z=jLU;tQN(u?ws7LevZ|lnM>Adi$(yO$7HS8Q(H7Iu>~ylnk%(n)z#Gzo3qw(Em(bh zeZt``S?_IYZf?%Fyejtewzapn7d$>S*L(ZAySpnszq)&R`}+I)8<@G}e0FSjc(_AY zJMPSmjgOB{Q1+hZvvbqa(=&{-@15DX`T6+;&fRjpySBW%ydrpY+}T}QUtiyle0rYm z?rm>x?esOtq{P}%*e}Dh*`1E}L{r_GyFjxZsUEY_% literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel/panel-default-framed-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/panel/panel-default-framed-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..06cb319a86be8da53b2c150b33c1e4ce4f418f0c GIT binary patch literal 1631 zcmZ?wbhEHbWMPnC`2L^a!i5VTK76=$@7|?Lm;U|x_wL=hH*enDxpU{$t5^R=!Dt8! z_YhG0$->CMz{#M)00f{s(LS0ZhI^ck`VU_SaM&;~a|cZ`pK5Vw1|r z$#Q{SAuA1+o}Q{7eQ1v6<}~+N=DB@6GdDl?n`2+vC6hHNJz%~|q>?U|$;!axzB9R| z?h1K%adp7*sIyUDHAC0L?`*m&wN2;d=D3S)p{q^T-rkyj`_NqN?Rnw5%HQ_&&ffk$ UZcqK!F4>%E`3d_On3x!>0Rr literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/progress/progress-default-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/progress/progress-default-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..b29379d1d8d540371ac91b8257b8bcb48bc10de9 GIT binary patch literal 1832 zcmZ?wbhEHbIB;Oko;|yE?b@+p z$BGpzmMvShWXY06ix&MK1*0J_yh1?nCkrD313!Zf0}z1nMEhut7+x_v>KoERfa5;{ zD~F87h6fGJ9Ku>E2R1A`+|H`xHOJ#(!_jUDW4RkAHZFE&QE={(nYm!e$;ld`D`HM= zdfGJIAodj3z2dfVFD+Y26_n(MuN-QC?4pI_ZQy?y=t{SD0A zay~mYJUrYXtQ~h|$HvFUCn$T*^VzxS>FF89+4s)u-2D9f0_Scy-(6c?US1KrI_~VQ zt*@_dNIpH!clWlpw|5l3zIS%__V@P>G;_=Q?b-41@rlXW@#psJ{QUgFV({d0SFe}Dhra5t;Ge_XKxgEatU&V1DX literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/blue-loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/blue-loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..3bbf639efae54ae59e83067121a5283ca34fc319 GIT binary patch literal 3236 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 JpNE6N8UT=&&-wrW literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/glass-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/glass-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..26fbbae3bc6d2510832a5ed709f0cb029c2c1170 GIT binary patch literal 873 zcmZ?wbhEHbWMpt*XlGzJe&g*4AiDYX)q+w@6G_xop)#NygPUI-MM=} z^!_{$-T!dm{)dbAKU@Mb9(=g)@WaK2A1*!oaQVT<%a1-@ehfsPt~~sB_0h*Gk3U^| z^yxZ~`{dJA5c+)e>E~-e^z6&^=U;C;`E>K?=UY!d-+uP_&hsxfUVOdx;_KT_KNv>A zXb8|f1QdU=0PXzGpaZfQlqVQC+!&%a1WaT)$|)>om2)9Mk%@&tK#^^Rgu{V`ZWgW# wlLCgu<17lIIuQpJG%~aEtN6@tSlD!$TihV!!H0*;9Rf;j6Erp|DKJJSK2bm`zya0vPFVPO+Hzo=EoiUW<# zt-R7&85aT+o!hu13_^AkENo)sW?~Im5RiDNg-b{!q(fjK6AOo^oXv^{2OL}3c(n`? z0um24adC-+cuZKp#Ka=XC$l2qfI}-2tCoO5K;nT0E+&=`4uJ(sK-Uz9X;c_IJk-Xo z?6;=E@bR%edFMWzN~5Qzrs*f2TT>bQ{@gtKWw+(i!R!IjKB)<%j$y1Z!Zof6-y9;DGq~5NJ}7gDVJu-S5NBXy HWUvMRItY+| literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/icon-error.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/icon-error.gif new file mode 100644 index 0000000000000000000000000000000000000000..397b655ab83e5362fdc7eb0d18cf361c6f86bd9d GIT binary patch literal 1669 zcmV;02738NNk%w1VITk?0QUd@0|NsJ0|X2J00{{R5ds1i7Z(~66B`>G9v&Vb001Kp z5h)oOFaQ8I0021w0Y3o&E-fxEFEBACCN(uSJUcx_0Rc|{08I)CQ~&^5003P90ZlnN zZ2HgaR#tRYR&iNbdS75? zU|?otXJ=+;Yin(FU|@V`YIb#ZeSCg?et>}h0EGYmiU0tO0055<5Rm`?kOl^o005Z) z0GmN+?~005%|1f>7~rUeD5005~41+4%8tpx?M0RglK2)Y6SybBAy92~17B(5YS zt0^g|FE6h$GP@!ovpPDDN=%4PP>)+%g=J@gYio~fZHaSpjd*yLX=#~kY?O0znsITT ze0->1U$sL+wn#|6N=l(?ZKHd8zjAWJ0s_Pf3(Ero%L)p|939OP64C(y(FzLN0RhLMcRH8%DjAoeXS{Ujv)EG+gtJ^wQ^{W?3v zNJh*-LCQ@{#8XqnUth>oR?f~+Utj)HQ~z6A@Lyo#VPouQYVB}x>v?Q{t%gd(L*0R{xyxG~vlatYag2Jb&>V$^kk(2*{ zf&Yw*|C5vdnwsaLq~@lni75b z|Ns8}{@~x^A^8LW00930EC2ui03ZM$000R70RIUbNDv$>R;N^%GKK1uH+KXhN+gI) zQmI(8v}vO?E0!usk6NLdNb;LSjN7_}3)gKMEm^BfQ9=}oWJFkzOv$3fZRN_A+GfF& z32BcxoBv$pj74i3x2G;S3XK)B)FeoEmXWL#snn`jv}gsDrLa^fQ>tQ`viiu;6mb&4 zIih50RjgR4R9RKTR}rL1lO$0B9ElMiAmt)9>blUBj4Y5687efWvLQo=T3ms|nUS42 zGT05w#%K~HN|L}(qt>OeA3m=K#Zlp_nV3Y10NJUdgV?}Dj3P~n6lR(~fAPA&<^wy< z3SY;ip*i$tjvF;7)cwO(hY@E;pU(dEJAMvK96x^EuyA(#I4D2W)wt>4TNE8YjvOf} zG)mrhfAgFX#~WKj)1E)1@X?1HY^b3I4=}g`${ckFf(Rmn_^}B+|J5T5Fy|aN${TUW z0S6mQFhRr!;UgPsq@e^7N-V$&6Kb%bq#Sa*Vdfi^>~mm0dsJzqm1!)YL=j6Upi2{A zuE7S7XQmMhKT=kc#-N0zk;D-~AfZ4mcqp-i8dkz#<`P*@Bc(t0{IW!$Ngy$V5I-1@ zizZxdisc(i!~o5u$IbJ_rv6JTkwg(c{D4CNyI4a65=m^j#u6#8*Ipi;`17AUTJ(BE z5kdIy0|yB7l8z8W9HFeL2U?Ou5|`ZbpQ}X_F@z60{NTU@$Nckz5JFhX#WM$9V(qqN zczc{Zzy$F_4?N^RzzK;Blf(}}6cGhE|5-BcwnvOnPkU1IumcV|U{F8}13B@74?zS0 z#dwzlam2`nic7|EPvkH$4mJotfiVMJGlaxG_)rEWKMWD>&Oe?)03;wIQ58SrAhy#rm+eCjRSRuH))@dW!7dZ& zW5o_u2R%03bq^haWeql1000EIv_ld+Sb#9`4TvW`^x8Ju-~j^zOmNFONd2>m2p`;_ zHs5>m&A|f!9AH8(f>-{JI5cc`2#jD0Go}*+k21NqFv0{8KoG$M PBfNl1GVhQS5C8x>^BLCH literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/icon-info.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/icon-info.gif new file mode 100644 index 0000000000000000000000000000000000000000..58281c3067b309779f5cf949a7196170c8ca97b9 GIT binary patch literal 1586 zcmV-22F>|LNk%w1VITk?0QUd@002Ay07w84PX`%A3LHrS9ajJYWB>?a019mY3w!_= zeheW`4kS_$BTNt{R2C>w87x&AE?6EhTN5*F88u@cHent&Zy_^VB{*RwJ!T<2Ybrfu zEanAeNJ0@02_k<8;bxSjRY)#049Cl8e5Y1_tY3bkWN(XQaEfVlk7;?7 zZF!SzdY5*8mt2auc!8LDgq&lBt7(C!V~et7k-lw{yKsuMageiql(2i8y-tSTQHA4U zhskM;!F86%bDF?tGlSHx~QzWsjj`Ou)c+z$A_QDf}_NMrOt$@%8RPR zi>%9lsM?CJ)Qqyzkfy4!pytE%CW@Nu*TlB$=|re)xF5pzRlaC#O0*M=&Huzs>kT8$>*ZV^`Xr3 zq{{ZD&GV%F^A_)Y{V6-P_#W#@Xx7+U3jK?!?;j!ruDO*W%II z<s1(&F;b=Ka&^{@UjA-Rbn(?f%pA|J?Ea z-}(RG-{a%sWQF}}=T6!l(LfBVqwLzTzdz--gr zA>~JRUspdjz=SD#uW#3T=*1z15PotP*O<}1TXI=rW8fk~GqY79KP}1YrcVGlvzs zDl$nW+ZJ<7GW-rh3M7OOB8UkZSwRrC?KL;(Q+JJH=Ywg3PC literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/icon-question.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/icon-question.gif new file mode 100644 index 0000000000000000000000000000000000000000..08abd82ae86c9457172c7a4fdbc527641cf28e48 GIT binary patch literal 1607 zcmV-N2Dtf0Nk%w1VITk?0QUd@02fyP7F_@vT>uhh032%o9CQF5e-A8e03mY#BzglW zcL_0l6g7B5MoUafO-xQwNKjc)QdCG)VMGais%VD1YKp&Yk+f=&xOI)E zaEiQim9}=7y?K_jd6&3+oV;3t&|-(kYnQ@tj>UPC!+4gSZh?S#&mcD?Rw3D8!n4hVIpuCNxypy7?lBc|sslAz{ zv!1E8nykH`pQ59qrl_Z?tE#T5tFf-Ly0EXZv$D0gx4OH!y?~j^f}_NSpv#4+%#5bO zjit(rsl|+~%!H%Tg{shuuF;CD-i))_m#xK;uF0IQ!Je+okgwa9u*sgY$DOs#l(p29 zwb+%o+nKY|oV(kBuJ?(u=#RDcm$&DYyyKX=;G(m`qqxkgwZo{l%AmW~pu5Wy1~n_!_~3H*|^2hyUEtQ&D)~F!=r_S`L&GoF&_N~(Sv&!PL&+@j??Yq$Bv(odm+WouL^Ss^uzv2JK z#>vRX%gf5m#L3db&e_e*)63J`)6&(_)!NwC+uGXR!PV)++V9BJ>B`#d#N777-1y4d z^3d1g(%a?H-|XGp;>6+p%jEve=>OE=@803%+~e!f;quVt`_t+E+2!%y==0m`{@(Hb z;NRop*MI`>g(&|>+<34{Oa!Wf0xe!3Pge_@yBbqQDAy z^yqLDY^(Y`Bgb#Yy&t*SHt<)MmubQE= zM_%4K|K!o54GAF7UTBq*Ob!?g0o7_ijR4L$#5Cl7WQu5*Y1Gi(Bmg6D)2&N<*T z_(l=0(9+Fy7{;fLf+vi?iGtvWSYtTY0MiN@9f&f^H7LmFMINyXBrZBDyqCps^d=g7F3EF65lHnZVrI>UYlglJe zU~oq>afkv8HsRE$YQu zh#-bkqRKD4cwz`3RWxA(1Qnd&3}YuvgUT2`;GhH*Q&3SwBCD*Dh!i~7&_D!W@DWW; z1F;hgDs>bA#0Ei30Z1pS2x5T)7=Y0SG)EyV5IfR9lMEkstO3X(t9(I08OcCnvDYWD z6Ol7qAd-p~6!7sjC){4MV~P`tbU^{7d>1~=99ZDpN7scTEv^xRGv0Vk((EBd#a;&l F06QAMRrde@ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/icon-warning.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/icon-warning.gif new file mode 100644 index 0000000000000000000000000000000000000000..27ff98b4f787f776e24227da0227bc781e3b11e8 GIT binary patch literal 1483 zcmXAoYc$k(9LB%H%(yfgGuR9b<4z3ocd29*O43CNd(`UWmQ=H)a>`a4DYpzOx}c(x zSlvdcWJ?+unZaR-H7>b~v1S^TyJ_?Ptx;{_9t|N0Ki69nENoJ2v3`>&g|W8&busa_So7*+dD)$ zvLc<>kt@t%F{f~h9qzG`vt^ZG;7|7JumJBhJ9Y+8Lf4suZE^fH#5_9C`L|tWUS6U8 z{=uOE0fBzowgqiH9`W<?y6`^?T9Sbi>kIro^$r3_Y4hFwk)R(#Q}G+VFY!jG?tX{A@K zA7Ak-yF;xiAyhqNys9yLRL-ovzEyCSA}UpDxeZO_LcSl+NfU}@28A3*bVbNWrHA>fZ4D_larvD z0o4={9|wFI(DV=ZJRp1#nxdfzI{Lyuvvho356v%?4p|^%j&Mta>}F3~{K0|F!GZpTzVLoC6_EgdgTr?dzB>V$ILvD;-4MrIlR(m27G@h~>JlYZ zVAt|_ro3YUVh;qD&xzwC(+MYO@wD@Y_NS8}VxR3300jn*@X<;}{z{$rL zTQ1Ygt3r~JNZK6NqxROCFAF5#=}AsXB5Gp!SiKu3HLoB=^T~;XI#AbK!S$~9M1UFk{5%nyiu}%*CZiIbNf<7_U*)eK2jmJEb7FxOYX=;RObGwm=_w(}-X91Z& zqYL6B`%{}cDrkMSM*JWx2`jXogS!VNpUr25HWVJ_hwMpzlk(}y+|3YZ)%_6gfm?u*PI1fu~NtNN%<%o?1bnQ|HcP z+A{@eE%wEmbNMT^8Mo3bU$&{4r}IL6UfVqFo%2t*Tz4deYD9aVZE~6`7TH{nSG#4; z<6vfan`>!V4h5%@)!a#Ahc&Ef--@I2iU;@wEYEC-zjIsI(0PM(`f?qQqf=C&8Tb?#p4A}3P=ZzHb8 zU%2?008r{GmdfTSw5X-f*JnevxfSlSM{Cc=no(Hy6^Zi{dugQHUH~t06Bw zQt4307HjGF&8-z0AF;fZZq8-%?^|4nr#0y83LDz+toN8`gZZg2p9Yd5@bP-%L)8(V zUmmP8OS8yf(llyk`BV+l3sY@pR^S)K>*+DB$}jc0e)m$1w?{Mi5Ahq5K8vj4mE(=f iL}jwpve+-)v>A%!R(IJo>4b>g=*`aH#f_@`t;sl1A!Wph)@ebAZ1k{K!AWO0)iq)j0$cji$D+vOGrT0 z5H=H(1QJ8EBH{vCEo%WS4Acd+PX*el;9kc*+t+zMu=8f#%;S$Y^Je%=E<61SZelml>3FIB_SFw=+JO z>1fNIJ763XFWku#WHLSX#AgI1#S3i{59~?;EPjP3)VUkh%-=r$AOL!@WXL};UOPMT zM8KC=Hu|E*&0z#jMfkZjB<81;JGYi`eCWIw!mIG|Ak;<0fZ)5Sh zA9uCqhNVeHP=SSmOSseJm~m%o{UT}8_MVsL&k1Ry^bDRyG(_D^g9_691V!eDVNVY^ zn-UqLijlcd2t=?&t2*JPH7Nb`C7M&G8#~PF*%vRQva0-2ijO8oyZhzZ=HUaymue~3 zO7!J(>@qQ}5&jG!;U*5$cJ%IinIY4ry`}yfWL!)rY z^z|x9^!^OS({e>0Y78-BP#SGRy$L3s?J+*aBtvH*d;0II!V22uxF1G!G_nsp|NW6j z*n~w8L5FEj?#exEDYcxouavhti=6`&yXU!63b$&uN)xIwv}#@}M9pl~w4Q8}HeamW zdYoN%nei3xd=*2l3n>z*u)&1kYwG^`y`o+$(X?)uoLSy9em&uc=yrmf_n>e(azN9T zHv_!rdKQy_KiS$={t6guk(In#Rr6U@)8^w}TymZ?8L}WOB>&}{d~5qT`A_V5PQq=H z)ivs{!E=i6wWW$ZfrVLpH{F@|)-k8aAlkJ_DtpYtT4F+F26irM@h23$-Y*&P(GPB? zorj1AF>M4D$%A5d(OBgC*mmO3kLCn84Ryl_A`u~*T^PlnP>VOQ!JX;mnb2N$l8Qw+ z5!~EdTurIciCPR<@-I&tj=QmHH-P=lMv0*LQ`K|P1j5Ng9 z^1>CZg}i6c(ghtb@BUW0W_Dz^iBH6m##-j>rZ8!|BHU}qy_UuJ)U|`_tS;8H>?FUl zlr^l7fwUOuN*{Z!(E)LPIjvwgXW}*xV6tY}U)OlX*N_dSjS=awjz<2hkOvRRi_?(M zWeyI6EOs88Xdf=&5qGDXWoENL8Oth6)rg}_YJ^BBmy~*_4XEy9<0-URd(z?fMP4nd zOL6e>Rkn`WfOiChB}ts{p(3__zixl#UK!MvF@lrBWpUXMC|l*Ccm*fLc%DX zWQD86mwy)}%k!&Mg7oS|ERJ{uuVuB+a_b7I{CzP?J~GfROo&G&g*1=Tm;h^p}rr6hGneWMmp zYZ`Qjph>g#Si3h^T^R(TsH=I^1=FrBq(Z2cu?TQC3g>DZSt-^?_m!%&0;s^pf!2vO z1JMy;lcPZD{o2QmtG@9rv3wkm81%w@GJ4XjA6~KxB7PGOolBU-Agl;iZp25DuUIhx}C4c)o`izeHE+M~m@6%BA5pf~r zG?j*3Lmi{v`_l@Hj88QYppALHA`r9&a$xjTS}<{(idis0Ne^m**;78Zr52Z{5_A=r!D-m;Ir0|iY%7$ya31fh8_ ziVh;<0A&EKlo3Z!lW_zi4h$9}qrJcboHWqE2S*=bPqEGc*^lV+C*REsWSEV@tA~^! zlgAcE8KY~+Lo;{skJznPunJ%QpBPA7$)rM0ySeOx+-y1nLUg*Kv=|(2L*Whv0Zhmi zXmtqDyVn!~!M<(FJ%~CzPC^hpJm-NSFfY>jCSr02#;Es8;G1L9IC02@3*P(zd*=O^ z{}ibN-eE7k;_D=uv@*&iY|zGx&92<^DR@0~;ZFQhf-q+UB7#;{6^opxRdr~!qO796 zlydnth3$r8;92V z+Cpl*_!B~;?7vAs1o}q{Qu^qMfbKo-H?B?Lb1JCqN>q5%e~Ea=*cvgRE(yHrcXqRy zhjJ){>!0wW=sK+6c~iUGmZK4#)iZJku&6rWUN4Q5mPSgp<1nL~-~xZQxFWMugc!Wi zhmsYnRLWc;NwB6_b=;*{@7Q>p4yjvJ?aDg0$Xc!)6$Hgy96E!1rLR86<|<~@M=UW7 zN?P8DUA{sT9~d1JERX61U9p^PpGDe?>^J@iGU3Nf29GE6fj1o+H`oHR%5mYZK+fo) dG2M^L@jNrkTSM}?a}*&v%_YEX{vYsh{Syplxs?C_ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/left-btn.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/left-btn.gif new file mode 100644 index 0000000000000000000000000000000000000000..3301054ffa24c326b0f13facdb9382e53a04d9ce GIT binary patch literal 106 zcmZ?wbhEHb~kDK!ll=ZaA%FI-`5dzq{YQ`#%5s?JSAx z1lbx&?h&&9gFi*>!1pzUs7{@wn9`hLm1fx>(Jl7@kz#sNtqbnGu~ zQe16TTxnMP)H3+<{h@2EL)RY+mC2N450&LIW#wqY$lA~nbxPa!&C zu$mg`OY>TK<}eSK12l%IF?DpG!V-0@d@BkYlXMMpg0lep88I%nH28pK5h2~o?kkh6 z2b2xQChiFj0eW(#g;VTwwMJ5_?EDvp>#4GK+r2+JC89@-_OzrTH4{qP8k0!hnWK}9 zap_c+yqJ92gY!};(l)Zfx*I7zMHm#j&@PQG;7HGJgfynxUXLv`)H1{Pg;t0}hNdo2 zEzCw6`;fZ{f2sO<=B5-4@O@rsqC&BzvE4Uy6nRmKzwG>WQa)|oDe}n~loonAD-5{> z?UL_)*}^8e6BlB4$-lNLQ?wCd`#X$Xp*I-B46&`*HeU)u(UfY42oW;RS(7rB(NZ(l zVXa9y3Fg@)|wdEu-^Mr$bM<2lcshb1_0+qU%7*YY5d4R}04b5q{6gDK#lN_Yz+3 zA)Yn+Y!&vbrDwhDx#Nq+`TkLUbU3j!TN`d7b-gn)W>MmQ_}fG`$z)HJCVV5zccWav z)VK6731;9=Y1sl!Lg@h;g8AmhLs23E}Fg8bsA}jW84be zJj3a&!EX+(#)=!^aPHuvE0%9D^z0oWQl`8qV(5Oxp*_o)rkOg&mhP%-u(0XS@f3?_`nfh@f|7!XJ# zk%OqjKq3JM^2G-d4?(;7)p&sbDCoC_x zFgMyk0aQ)fOAm{tLDLuoh6x2UK0R(bi$jkD1vEB~9?s%M(#YylM@%FuVp#;fssZ~@ e5vO$#&5sswUKi2&Xpx=kB8ZO`!7YivcK-uGv{KRl literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/right-btn.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/right-btn.gif new file mode 100644 index 0000000000000000000000000000000000000000..c529110fab1e66fe8b883c1a9053aa30ebe01315 GIT binary patch literal 107 zcmZ?wbhEHbcZPNXD=%e)X*S+`s_LuCFGq}OPQnJK>iNP8GgMlO{ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/shadow-c.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/shadow-c.png new file mode 100644 index 0000000000000000000000000000000000000000..d435f80aeaf38aa37a2afbea4363d7cf8706205b GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1G5}q!OAr-fhQW6q2Bsehp@I)}QHZd@=F-Y_=I0esbe+N{< N;OXk;vd$@?2>@aO9`*nL literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/shadow-lr.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/shadow-lr.png new file mode 100644 index 0000000000000000000000000000000000000000..bb88b6f2be887650f28b16726e470c09459b9c86 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CG!3HG1zpHNqQj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>JiZnf4978H@C8Z=JJZMPDQ+U>TNx_ce55uGN4u2%Q{wE|U g2=cJ=GBC0+@aVFNEX<$33#f^~)78&qol`;+0F-4Xf&c&j literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/shadow.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..75c0eba3e101e3f32cef8bde7bae7383d849e935 GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^Y(Q+l0V0jwbN>KRk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XZhE>nhE&`-GTD~D$v~hjI>0gT@Uw(Rj}ARr(#+ZY|Nr|R ztz576{))TQsGN9FjsN;R=N;cX_7>}LNxZmoT3OARN%FUXp-|AVh0k3k3m;=qQcOOgc@EIAyfV(r;i((zEeg z`}y44S?ng!NoE&wcK=*_2F$s1%jHel(|yj_4>tF9g$FFYCZ&0@DQ;=K_|9xe0dH@S zX*Z%4Z8@@VyGFIRewDnzd#yOua)FIqa}4Vg?=kT(Xhpeh(=cjy2J|F@r>mdKI;Vst E09T24*8l(j literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/warning.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/shared/warning.gif new file mode 100644 index 0000000000000000000000000000000000000000..806d4bc09385a98ef1ac19d25e30a21310964e7e GIT binary patch literal 960 zcmZ?wbhEHb6krfwXlDR{f&hVn2muENhm@owhyM-@5dsqm1SVuCOej#8P@%A(LSO-q zY!KMcp>SY^z=a6{7Zxa7SYhyB1;c|43=ehyk-&!?1`l=wJUAfm;Do@30|Fm_AFI_r#;p+LTS5IEMaRKbDQDQU%2#0{;PZnkd237_gkWx^dVBna` zz|A4!v0=eMCPx*A6NM8NOc1gSve|KQ1H(iiYYu@O7ZQ#gR8*}I_~Dqq(8*@R^@`(W z@)HIIWfz?e!wVeVa#HbKFBUvx;Axbo`SPIg5jz8ey-mRe1I2~|N`gTPEE1a-8hE@l zIU)=NI+%skoc{dSsL0&PpvCnl!Qs*I)AH$&GFuihv|L@Lt98xe!$KzpaZ%Pw4hauj N9~|!BW@BNn1^{&szCZu~ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/e-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/e-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..b5486c1a95bcc0f39a88c15c10c04ef7c3c561dd GIT binary patch literal 1062 zcmZ?wbhEHb#gW zSa7hJLs%>3#D;~3+Xa-p=6GyebhKN-IP1=djf;=>D>!$_cy3y9a}Xwye0g*kiI*?5Qm)FE0;R>^0YG>#D1(BQ|H< zJ+*c9_4NsdyJWq$t+}~5+bHZ`26bb>Fw+9?{8q{mh;)M z;o;#9VePmxJJK5%IOMqVHRPj^sIT3W`5a^n+Y$P=Sr`RJG*P^>+2hm zPtWt+z3uJo9mTKjo!!0t{rv;Y-12^Vc6@w%VzPGpxjj2SKfkcpd%oY^U0+|{*qnX; T+}_>a-#<9q&HPFMR=<=fla;Nak+qoe=-{{R30A^8LV00000 zEC2ui015!m2LJ>A7(xU7iaog61kuiXaqZj{Zl73^l9{3!wYse{!r)1(vG>Y0zw5b~ zFW3XtenKPeNJJKs(5KW%ZCaVwrIwZDZg1W&cs%TqmE!VOokpLdRWtiNy{_H!Jbn+i zxBGH@b%B6)g@1#FiHLEEjf{SDkCKskhm?ein2wc#la`vGpPrqUqNSmvnWLtvoU5p; zsjalLwz9afy0E;jzL34Zznj9v#K)(>$gal8!_Ljj%eA@6(9^fO&(hc3+~3sN(c#wM z+2!Qh>Eq|>?d;X=@$ll<^Y-=L>-gyJ{POwC-P7lf;6Q-^_ZduB5MjTA3LOG`$Pi+~ zh!`(ww8*jlqDP7#CyJyOlH|yLCR3tZxv(Tli7H#3lo=D|%Zwde(!9Cx<4l`7g906j z(`U`1I*Im7iu7mGqf4Deg_=`pRjNjLUe%ga=u@str-HTGRq0l*V$q&8TlTBkwrSah zUF%jZ*|~7(#;wbDuV1}@^9sgG_^x5Bg%KYftGF@a$8Qruw(B_ZV#}2&PwpF7GUm;H z2Vd6wxisn1oJD6&?HP6G)~rXzUj15j?V|+>1j%inhJoIOa_=qxoWySs9Uuq?!P|Fn z2+3tE7t!3raoe4-s|KB&c6aXEP0t1o`!;#)<-dzJzh1p-_v71#e?LDy{q*(O-$&2i zdw%$~`q?L7fCK_);C~3>r(l2Q`M02h49fRlgA_^_;eHTiSRsZR4tU^%7HSw`hXp2h zp@$}l$l-`AuIM6)Aih{)j4+-!qm3Wpm?DWes#v3sHv-usk2|*bBat))iKLE64r!#4 zPdX{1lt)HcnLb)ZAU<%nKm0oITW|?S`spgn$a_MH6ON#lXoN!t>XPkK2 jS?8B@_L(Q2f1bJKoqGCNXrO7fxu>9t8Vaas2><{)RT`I{ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/ne-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/ne-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..04e5ecf7d3837aec9510f5467282c10f158a5563 GIT binary patch literal 839 zcmZ?wbhEHb+Yh5$94ZWq95Nmo l794Em;N}uwNKib;z{ui|Vj-Z!(9Iz$HK#)0@qq>gYXJ2^5-b1! literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/ne-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/ne-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..6f7b0c2958b20d3b23c5abda3b43dc1559f9a720 GIT binary patch literal 128 zcmZ?wbhEHba@|Np^*2QOc~eD>_wty{OAK7IQ9`SVAQ9s$MC zfZ{(v=c3falGGH1^30M91$R&100tcfAOIQ2z@i{I*Ph) Snkw8Vqv9&yY7rpFU=096AV2B= literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/nw-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/nw-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e49d6967c08db2c02a3aeb9c1f3cacb9c8665f6 GIT binary patch literal 839 zcmZ?wbhEHb+Yh5$94ZWq95Nmo l794Em5abeINJw;KWMp#S2{2G%=w_Cco6{kn+|a;a4FKuB5a0j+ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/nw-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/nw-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..92ad82cf3642db5fa14321505b5e121c878e9758 GIT binary patch literal 114 zcmZ?wbhEHba@|Np^*2QOc~eD>_wty{OAK7IQ9`SVAQ9x-45 z#h)x-F&z*IGJ}CdUf_i1>b(-&iQg7D3A8Y#b~JNvITwj6s8C>;%Es#G!e9*m=iw+~ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/s-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/s-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..4eb5f0fccb6d0e43905f732d10cd41533745c092 GIT binary patch literal 1060 zcmZ?wbhEHbyui-I(9Qq?p^ZEL|NjqWjuN9GFtS2G@h1y2$j3S$0+c5hIQ}y*a>#gW zSa7hJLs%>3#D;~3+Xa-p=6GyebhKN-IP1=djf;=>D>!$_cy3y9a}Xwye0g*kiI*?5UEB1_q}2ZmnDnS(jHwY|grS zYU}Fj>k|%l$$D>Fb8~aX+fl6@9wVn{Oa!M?d$LFZ(!z@^VzW> zaVFC%HL)EM4v!B{Q1+hZvvbqa(=&{-@15DX`T6+;&fRjpySBW%ydrpY+}T}QUtiyl ze0rYm?rm>x?FMR=<=fla;Nak+qoe=-{{R30A^8LV00000 zEC2ui0MG{t000C37`oj4Fv>}*y*TU5yZ>M)j$~<`XsWJk>%MR-&vb3yc&_h!@BhG{ za7Zi~Z-S(9$!t2G(5Q4uty-_xtai)odcWYXcuX#v&*-#z&2GEj@VI=gEEJM<{9TZz z`~QG}f`f#GhKGoWii?bmj${Opl9QB`mY0~Bnwy-Ro}ZwhqNAjxrl+W>s;jK6uCK7M zva__cwzs&sy1SBg1_Zvq1;4?(#>dFX%FE2n&d<=%($mz{)~f^A+S}aS-rwNi;^XAy z=I7|?>g(+7?(gvN^7Hid_V@Vt`uqI-{{H|23LLo2fPriV5gr_nkf6hd5F<*QNU@^D zix@L%+{m%BqsMswLW&$ovZTqAC{wCj$+D%(moQ_>oJq5$&6_xL>fFh*r_Y~2g9;r= zw5ZXeNRujE%CxD|r%fOt?uiw9b0}CEZxUk{Fh!ZPb%($`R$B-jSo=my2<;$2eYu?Pcv**vC kLyI0wy0q!js8g$6&APSg*RW&Do=v;9?c2C>gG~ScJ5XvO>Hq)$ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/se-handle-dark.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/se-handle-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..c4c1087868afab5b5bfd329f52d9907eb1c0061a GIT binary patch literal 838 zcmZ?wbhEHb+YZ5$9Lfxg96SOJ k3mltSSY>Q9925^Vv52er?AV~l(9La}b>~E3vIB!P0N;ZWjQ{`u literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/se-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/se-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..f011a3bb2e9fe281dbfcf9adff0eb0d370456557 GIT binary patch literal 114 zcmZ?wbhEHba@|Np^*2QOc~eD>_wty{OAK7IQ9`SVAQ9x-45 z#h)x-F&z*IGJ}Cde!>KyLktoEC96(26sk0TNWB^$x!`%@(u5fax%VsL+!?F^5i=~8 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/square.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/square.gif new file mode 100644 index 0000000000000000000000000000000000000000..7751d5e15a785f1a50b61bfc8c5c21a0f9421358 GIT binary patch literal 123 zcmZ?wbhEHbU|4d2;*qZ3YaW z_>%=JrUN2DW-zd52%PXt-63)MQ1x^Vjjl+Yh5$94ZWq93m15 l2M#ndammSOI2<_C%q421Gvk7Sb33nm)}0d@l^YrutN|0L6o3E# literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/sw-handle.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/sizer/sw-handle.gif new file mode 100644 index 0000000000000000000000000000000000000000..aa903dd0b54ee8834378cc9db771477132da64ee GIT binary patch literal 116 zcmZ?wbhEHba@|Np^*2QOc~eD>_wty{OAK7IQ9`SVAQ9x-45 z#h)x-F&z*IGJ}CdQNY8%Nu$L_;f>=h6%OYjk=co%2d}ZN*Oqv^;cmsc_YN!!)&M)r BE5rZ* literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/slider/slider-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/slider/slider-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..fbf3ba83406a928e4b80b207e53b7bd04a577980 GIT binary patch literal 145 zcmZ?wbh9u|WM^<<*v!DNbMuA+dv}~XeiVYvU%Pef;+dP*E_F_q!3HE}A3wtbq*&4&eH|GXHuiJ>Nn~YUV3x~t zb`J1#c2)=|%1_J8No8QDU~CP!pM5z%pKTcrzf+GR}4O9?JiK}KQU6w@P04YHl8Q~ZV%Q(n$q`&^(mcb25z#hR{r@|Lv)J@e{@B!Rx#qQchktv&e=X{IS~=;%>n(D`^nj5%7>4X2ih}xI5qXjq-Z>t=){vaEBVN(A3kD|N?uDYWtN0gZnC&$tucAp zTN(F?lkt2z;>5m2Z`$$g!S8u@Rj>E$5p6xXeesRJw_6)u?%E_gOS--^ap~f`hvqw< z&X&$y&CL<`uj}bXkGRxR{!M|`OU<552%i3@l>5BVly|CSLJ>T>)_jQjp_Rks-zt7+ z`u-~?&fQxpc)Fob$8Pn!;Iqfxs9y59^g3n7{;sc1$0UAEFm#TZyHCY;PM77UTLIka zY~@X_pFN7vzs^2y_nFv-zjku0)hkl&J0$+qwMOy7KI46M@!Rt|5|`iJcRA(tV#BD{ zyDv}NwP<72l>Xc5-)#F<2}^F;xNl=!7>D+jMafxSn@ju|m{oKArhjIg{9dqyyQX8E zZfF1Mr0@y;+FbcFdE%z?c&_)jskgzp|1I;j;A^qZGUJOaKWi1dl>U48wVrt>Tb$&9 zi^Y243ye#jaBirH(|Ij=Ti#~g_J)bpx0Bb}<|gjywhLQ*yF@Qqj&V2t>Z|k5uey5o z`ICC?ip77}Rw{E{JG3y~2$*v?3p^r=85sBufiR<}hF1dv17mS!NJL45ua8x7ey(0( zN`6wRUPW#JP<3jaZfGzAgH44Mke{1clBiITo0C^;Rbi_HR%QicgM{^!6u?SKvTcyou+33T=(vHhlRkj=$%I7^@978MwlmGnxZ_liE zpv9X>#cqpAWSD+z%jLy7L9^H__MTEYdAcoFC|_ZN&Hq2#%l)Rwzn}MbN{Wo)#wPP0 zZ4*_vHI{vUck}E2yQjq^CZ4OP_lS6FaGZUql0(;0MW@O z{~_qa=l>9N{q=tcy7uQk1U>!vAC5l%`_I6@pqH4FS4l#`mm0ptP!BO`=nfYDGc zgC3A!#9+c;#&BU%hyX}7U<-u4uocSR4(0EF(274+9@xY{TI+E|xQA&vBjfJ{=sA$#UVM0!whb#JzhgH*aM! z$V&*l5PEo%CG6hQmoHvlWV!!dp6ln&&nLg$d-3$kTj6m1xlIjBKY5iCJ}B&KVUbq4 zvV4R1;ffEBLXSLsA8lDJVRq~l$EA5ELQXf-CaUorF-kY^-=8U}fi7AzZCsS>JidF~sgt$I@_;B;)&HMN7|NZ;-+qZ9@J$p7`!i0|>KYsc0 z<=VAt_wV0-{rdH#OP3x!dNgz9%=72Z-@0|{>({Sm&YU@R?AVDDCypOKe);m{PoF;B zym|A-j~{Q|y!rO++q-w~K7amv@#4joFJFHD{{8mt+fSZ6dH??X)2C1G-o5+y@#AgV zw%xdKFMGaQgQ3em6JtH4gw7iXTCHLoX8mN z*7|^HhsrVC?)U#wX8NrPD0=a2n)kovDWUPEBHNVpY$MHg1a!`mIlt_#PNlDU{wDt* z%eUJ$9e=9wT}x5Lck&TO-bGuk8JYOrb>V&8*S+xP!PU2 zY!7Go_gY@NW47AM9{xTQ@Lp{e-&5zgF%!RhD!RKy zbZ_MTebJ%c{eoAQ?fxinebdyHf}U6Vf8VY2+xL98 kY*b&K&6+bQo{5KH?i&LMUjMf>z?fn1boFyt=akR{0H@W71ONa4 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/slider/slider-v-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/slider/slider-v-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..0cf8c4bcf396694fdede352fe69b574996a6caf6 GIT binary patch literal 150 zcmZ?wbh9u|bYfs<*v!DNbMuA+dv}~XeiVYvU%Pef;+dP*E+|z`)6% z1Cj)p!NB5da8lFJaRtYz>P<7A^-dCCk$%}2xhiPQk07@MnHN0qYweEe$zBM5c(TSh gNhp)&+_Xb#AC*;S@t8j6{w%jXPw*+ z6yhxKh%9Dc;5!7ujG`J|4M0JbbVpxD28NCO+UBR8*c(lVeoYIb6Mw<&;$UDTwkjI literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/slider/slider-v-thumb.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/slider/slider-v-thumb.gif new file mode 100644 index 0000000000000000000000000000000000000000..58afe96aae0b9c6401d8c9991922d2cec6a86171 GIT binary patch literal 533 zcmZ?wbh9u|)Me0OxXQp#xA{%uvfIm#z6GKsSN;Lfo~!S6T>lS6FaGZUql0(;0MW@O z{~_qa=l>9N{q=tcy7uQk1U>!vAC5l%`_DjQp!k!8k%2*hK?h_H$WIJx{~abcI_OBT zvP~#DnPWBobmG!aEBwrF@C%)KtH(M!^Q+<7l&$x^2!9CZ2??R|XC)#}obq9jK70Pcr2=`DtKQdd z-a4Cp|AE4zb6i}vFTZ$sh1sl literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/slider/slider-v-thumb.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/slider/slider-v-thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..6b3eeb703f92943763428b44292197c8b4329fb4 GIT binary patch literal 632 zcmeAS@N?(olHy`uVBq!ia0vp^xDSr z1<%~X^wgl##FWaylc_d9MXLjRLR=p{e7Je@=KcHk|Ni~^?c2A{o;{l|VZz6cAHRJ0 za_!o+`}gm^e*OB=rAv<C>lo@7{g<`0=)F z+iu*raplUDLx&DMfByXF(W5_q{`~Oa!}aUeU%Ys6=gysb_wGG-@Zi;}S68oIJ$35T zxpU`$?mZ#-&=*KqmIV0)|0feLSglEQU|?XB^K@|xskn9J%FVn(1_G=Bw^h%2H9L1~ zHj_?aJatR;|Nm6csZL@`&OMph}E`~=f=Tz2O zg+2eNDRO5q$6Bkct3CIvQPIeq^>t^*XN?0d^FLSYo}>IFd$x_!i|Js`Th!K;C{w!?k>cW)*e3s-yXErJ4)uG?^4ZHy zRE4D!>Qy|bHE5X^zb-poBVw<|`sIJ}MW%#ZcG@4?cOgI5!tK8HN#Q#x=XO6#OB7kK zwW^c#`0KO37WiCDWO=FkI`bRr)~wsvQ<=*OraYX+@@3v6y(>&6b0^x>E8WfYoU$+c q)6O_c*Xhmkw=WFi-Tq`f12e;f`vwwc-H(IP6@#a%pUXO@geCwlF?9R@ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab-bar/scroll-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab-bar/scroll-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..bbb3e3d9d35fd19b61bd8d0a0bd5f42dd3e82ccf GIT binary patch literal 1260 zcmZ?wbhEHbRAJC&XlG!^&(E){taSMA(ACv7Wy+Lw>(*VncJ2E0>o;!PxOwyDty{Nl z-@bk4&Yin=@7}w2@BaP!4<0;t`0(MQM~@yqe*EOglc!IgK701;`Sa&5Uc7ku^5v^n zuU@}?{pQV^w{PFRd-v}B`}ZF{eE9hB(?)aQ7{?;gDC_Qf3h$#FfcLb zfE)$N6AT>x8CW@FJT@#i*v!GL5p!b0!o%$Xo*r{NHZD5CBxW3>qp)c4@qPu@2^td? zE;%__!?=g%;HIUgrz^U}&G6j3>@2sk-C{6l>y=^}2HC1i!~*t=M0VE{$9P zi@oMX9bDPII>NT+#;mWag1Hh7cgcDm%xvGBv0dm!*S9s7ISU>il2tHY7tB}jF^^Xu zVRif-KUEGn9iS@@HP6k9*psLqzdu^sy4PXnrbLFR#@1I4+%&v@zSh#Z)nV3`rXetA5}PyR$*!>=zn%O#4ov)L+b4`x5mc->6qPNwhq3GQb~ZY|jP`SiKP)~c^8 zDg&1DY|2hgsMuY$JmhNL$+@pe8h?I%#=gM*|I{_{oBTvi%=h2FuW5Vf=hLOL7VQ83 zpFvGPB8f%lnFtey+KLBF96r--HVasl9%vB>%XrARcCWshkjGny1}Ebdi2H{)@iP2CISUI#YICEc!{DxP$D-rBLG z)A!hqC4F*iCzbjvvm~B&1@DVkI#nfUrfO#NJ&Uy7gtkhxnekCKmrl!-(tI`}weN@8 atb}_f(`IF@i(KAOwMb(5Bvuv{25SK3cQ--+ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab-bar/scroll-right.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab-bar/scroll-right.gif new file mode 100644 index 0000000000000000000000000000000000000000..feb6a76f0ae36a545fcc77242b53261680199c39 GIT binary patch literal 1269 zcmZ?wbhEHbRAJC&XlG!^&(E){taSMA(ACv7Wy+Lw>(*VncJ2E0>o;!PxOwyDty{Nl z-@bk4&Yin=@7}w2@BaP!4<0;t`0(MQM~@yqe*EOglc!IgK701;`Sa&5Uc7ku^5v^n zuU@}?{pQV^w{PFRd-v}B`}ZF{eE9hB(?)aQ7{?;gDC_Qf3h$#FfcLb zfE)$N6AT>x8CW@FJT@#i*v!GL5p!b0!o%$X+!JPaY+Q7-Q%FB+iH2eG@qPv8va$sA9+SCBOozMC+_uY(~X=Y~m lbWUzm=JUBFY&)M%sr~e0`Q%19%NG+`_f@RuXJlls1_1f>KmPy# literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab-bar/tab-bar-default-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab-bar/tab-bar-default-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..d6b8688a0d96e8ddbf3047fc1d7cfe03c8a2c1c9 GIT binary patch literal 314 zcmV-A0mc4DNk%w1VGjT~1LF+<(9qD*($dq@)6~?|)z#J3*4Ee8*Vx$D+1c6J+S=RO z+uYpT-QC^)|NsC0|NsC0A^8LW000jFEC2ui01p5;0{{f)5Xea@yEyC3@A_aUj^wAD zXsWL4nY?f;&-9Djc&_jKef+?na7Zi~4alT&$!sDE(5Q4utwIUdtai)oVh7-`cuX#X z1?aST&2FOu@VIs;jK6uCK7Mva__cwzs&sy1Tr+zQ4f1!o$SH#>dFX%FE2n&d<=% z($mz{*4NnC+S}aS-rwNi;^XAy=I7|?>g(+7?(gvN^7Hid_V@Vt`uqI-{{H|23LHqV MpuvL(eMJBOJ8`ndD*ylh literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-active-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-active-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2c7b7b3b731c9ead8f4cc4b6a68a4eb853b3ecab GIT binary patch literal 1813 zcmZ?wbhEHbYVQ!Dt8! z_YhG0$->CMz{#M)00f{s(LS0ZhI^ck`VU_SaC~B5VPcJO?%} zKR@50nM>Ad%ZiJOJtk|#p4zhV^74SiUUR*+uDZH9VsqBrQ(ISGU!QQeOV)eanwy(5 zF0YC`y>0F7?FEld&Gp{C?(Xi2&#&&D-oF0+{sv}lIiDRH9vrF6O_H@ z`Rv^E^z;nl?0aW+Zhn4#fpfQ<@2)K`FRut*9d~xu*4NiJB%hw=yL;Q)+dGP1-#fc| l`}_L`nz`lu_U!oh_{3!G_;Y)9etv#ovG;sG+hPX>YXHevhED(h literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-active-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-active-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..a99eabfd5091752b8fc811e4ef32c3ff823a18ed GIT binary patch literal 1642 zcmZ?wbhEHbWMPnC`2L?^%a$##UcGwp;>D9EPu{$F^XJc>ckkYvIdf*mjvZI7Tse2{ z+`fJLcJ11=XV0F0|NedY^y$l&FaJluXb23K5K#Qd!pOiN$e_aj1fV?8KAIzjOWcn7 zgPaiHaA#oVknspmXl!QT(ui3R(B#a?pv0uW;m~xTOI%e(M}lFILkGK}(S!vCj4bS| gN;(w^icT%e98yLa4<0x&aq^3~I4n4j>cC(P0NXGFVgLXD literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-active-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-active-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..0c90ec09f605de0914b2ce709fcc8af2e2e0466e GIT binary patch literal 1998 zcmZ?wbhEHbHP3rCd%p zG&-}gv#QOQp`gUfA|V)YX2ryZjs5I8O*|(rG&Mm8=g-gESNH$#-S6`o7(ac#+xS{>$NdI2wHFVX zSdBCiTST-t7PPV?-B4(e^1G4P${#0@)TW%Lq13KgHAAUGV_U_eZk1gU$~|i5GLm~O zR%s;n>0DZ|xZn2PkHr%lKmB+(QCn%};|XqRFP}_uHPTF-5~9VqWU5QjO_eE8em7I6 Z`o~G8O-s(xRGXe!HB)WI1XdOXYXD@5&}#qy literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..e85bebe1d65a8b3fed6ec594171e22a5ccfc7f05 GIT binary patch literal 1796 zcmZ?wbhEHbELP&z?Ma^61f{|D#|u1V&5=HmN3q` zb7Et1W50rP7mvfHB_}6q1h0zWT(I=?bc5tmb38XMJ3HH=_|=`0o0p%T@6gO8>$PRY z#l;?zwPH_gS$TPRz+$htURzgPT^+GG>+Y$otFNz5INT-cy=~3S%^8`2 zGdnjwKfl1aTh4damY0`T1h0-eyKC#~>l>0!&-2~A?d|Oy#jo$3-M#(&{R7S1@_u`E JJZfOD1_12Pd)oj2 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..95a6f12fb563bdd2064055505008e20da5f377f9 GIT binary patch literal 1646 zcmZ?wbhEHbWMPnC`2L?^%a$!qo;KoERfWw=C zl|#f~!GeR$tlSzgD+HRHIT)0fBs3TpTAIWR<5V0rD!BABIPfJjENEb2=M_+pc+haL dnVp+W#Nj{!LlYaDkbyzLgM$sM`pirW)&Ss&28{p! literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-disabled-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-disabled-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..79692997c0e97cf9d926ddfdd35e62136f955b42 GIT binary patch literal 1796 zcmZ?wbhEHb$->CMz{a4% z00f{s(LS0ZMoi?7dK60ta6DvS<&g2%u;5@bhp<-6jDm*4?E=bPb38UGHFirFXXzZ+ zxcGR#f^(OQ=cXqo7&L-c#c(cIdV0D+@~JtVo0pxPZBhK{&dJTo&(C*g=92Z=vf|=m zkI7oGr?#xTygXpB*IciytFEq&*qn9u)YjG4*C!nAlJ(xU=H}*%%d28fZ(DnNd%@#V zbG^5(ySuyM^Q*h3x39myzk!)s&S%Glhle|awd2n0*!cMP1ZD4eK07x(Jw3xX``($I zo1dRw;M^_eyKBqK%PWFc$DQ4^_4V})$*1S}?%wwH_KxD$_s;I#{{H@fW^Q@EJwNU> HFjxZs*a~}l literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..d856670c7d59f01f83207065a0c835aa321e6a09 GIT binary patch literal 1632 zcmZ?wbhEHbWMPnC`2L^a+_7UX9y~aA?%caakDlDS_wCDCMz{#M)00f{s(LS0ZhI^ck`VU_SaM&`ia)=l#Sa7hJm0!cgVS!>Ji-0i0 v42wdA1{PNRv?CS=k{mnb8C&*9JYZm8=4A5e@%ZS#(5bKLv}A{o0)sUG&L<2T literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..7364cfefd9e577073ba948a238073bffde03a9ca GIT binary patch literal 1989 zcmZ?wbhEHb%+|K2@%^ya~%R}UV%dGO%>C>RZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gnF+j0y@46Bw8nn7E}}EH*qi*up2NRnxJc z;V6@cep1SciH{ol*)^mjG96SrCo2a|OYtaL>cD8g8o=XVeBjJ1^UP;kPHs^1Z?r4t zdfPd9h2LU(K^9jlk&M9Q?hDmowYILjv^;!q+T5tm~^2x2O5+E_!=@yYKmJXQj*Y?`~>-UT14l z_VMn%$;|e8f6NP?A6uv#ueW#Sr{~ufr_b-3`>X8ry~E{;*-O!NFz@VXc@G8x|gJ7f?2maoD)%Xg8x#)}0d@7a#9o zaO#rr+_dE6WR2ieF()@IJw4qZ`P3ZG&CAZtwkUpe=j7()=jS^#bIE#bS#fc($7HS8 zQ(IPEULLU6Yp&PURaaL>Y|grSYU}Fj>k|%l$$D>Fb8~aXWAC6gM(7Vf(?x< i9IP4!79SdzSQ&Xl>>L6Z4l%Oxs~7}m9!Payum%9LGX&BA literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-over-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-over-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..697ee941abd8bc298f8f535ee94c0546f1d52ef6 GIT binary patch literal 1979 zcmZ?wbhEHbeau0|31BY_ua&m*JZ=+fIt2LaHm;1~&=YPVoOE}$s zvHe6g*;QLsTv+Ts*)5i9>dTPjVVlG5YK3NpuM64V#p^Am9kDt2;xyG$+cIyj&fmMP z)LT3+c4yY-W461^bMNmgV}AU1^>@Aa!*znpa%*;McyPF1*gcMC=Es!d(~QIK=|mQ% zpPORe&F3p+oN;+^;B>V!y9!^QUT?d;%vZWB_vWhN<92(kOW)tz*8KS2+TUjRkM~Vv zmS4AL$A`z~C%eb<&HY*O{MzR5`+Bj}gV=V{(k*_@A`6o z`MTPluRb5Q-)~?0|K~T>j{Eh$?jE1t_)n4JK?9eV#)C$FHHn8!0!9`Ko5j*19<~W( z-B4^7snba6P)Xug)Tz8ELa9;5?8c*3{i+>{x=jv6Ebh^ICh@q_dfAP~J!Wj3kNd6e oomf24PKoo$1TQhoClmeEB%e+SFtS`aIV>&m>9im|F#!f^0GtBB)&Kwi literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..39e70aef6fcee1e92fe5a2a05590c5c16096ccde GIT binary patch literal 1985 zcmZ?wbhEHbRZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gnF+j4BEa6C9Wrn7E}}EH*qi*up0%HY4Ie zB2$;BYS5O91&bN`I@5gD#&06Krep*!_L#3_duqz6;MD=E-Huw7t`1+Du)a=I+D!ZA=CsRYy1T`4 zqqllK_L_Qn>br;?#hPzZqc6d^$+*8{Qtzer=sBTp$>U%yE8L3C7+(4 z?S9Ora&!9G1^V@3vR1|~FE0x&*V`*qntio1*?ZdAncp&QY%acjt@iiU{M&09cZ>B^ zZ~u7jNd0HNeKi%IADx)5ZGUdguHx4hR=Xd!tKD7x_QCr4dE)YR);~W#yIiinU#_&eI7)6dWSSMlTX=j+$&|L?8;{f6XG z>M*@rG{NFsMoPcSzZ1z5y!mdXO!Tl@`DCI`(90!L1HvR#rv>M|Tskcwt~0`c!5RQH CRLXDw literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-close.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-close.gif new file mode 100644 index 0000000000000000000000000000000000000000..98d5da9528411ee291e0548246d9c86a82455d32 GIT binary patch literal 896 zcmZ?wbhEHbJo2h-f@WP;TO2Q8ZC-n3TfI!6I*vV6fon wDRve~6%L2VX-sT}ybKHr5|%U0VVBS`*swq&a1L|0R%~U!f`d&=%uEc{0N$%ghX4Qo literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-active-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-active-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..9bd16dd705e4ef8be692a27827253636c897e90f GIT binary patch literal 1811 zcmZ?wbhEHb(`GTKfZnY_T|f$PoF-0`0(M~yLbOb!Dt8! z_YhG0$->CMz{#M)00f{s(LS0ZhI^ck`VU_SaC~53<&g2%u;5@b6T3#ti46-6w{vlN z%<M5i}}PH&&|uu&NgCvap&ab z<>%)+G;_&%ZCP<~vBzYs*i&0pUS1xs*lVuW)>T(mM{Lfzdur?I>+2H^cgcEhTXS=B z#^qJ9r?;)Wy}jV^skz?U*WKM+@%h!=)7#hI-`~K@E$6di!^6WJ!rF0Xc5Hlne1fv~ zJfEGLo}QjzoPF=i&dtxyFL3Ub^WC-O<>eK@tK-h@+WPwXhUC-pe0OhqdwWOm>w9N+ kZ-0OPKr^?z-<};GAD@`49e-}m&d<*;EcV_nBfww{0O_EH?EnA( literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-active-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-active-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..10220d4d07d25a64975e66d301bb873d3619bb38 GIT binary patch literal 1645 zcmZ?wbhEHbWMPnC`2L?^%a$##UcGwp;>ELP&)&Rw^X1EzPoF;R*sKoERfWwP{ zk%NU{p+XBAhp>{$fe8)`?E=bnH6IubHnQ_@IYa~;aBOB_mzHsG5OiW>1uD+ySqE{@uOI4^ZfXIWq;Y&_FP|`xV8N&mtN0~jY)^P zm7V9!`H}zh;B-m*b2>APQ;$z`Ocq;f`6cbr+`xLfv$wXqzPL7Vzn<=Hv$wZbCO?j| zwJy)Ux2=|)ec$cPg;$T4a_jf)*;(}H^kV1v^Zt~7eRzGQ{dv8))}_y{9ZX&&zTWmv z*{8b~>+R3q+w=S5+lTx0_4nKT{r&Rs<9K`f`ucz0eu^tJ{H{!2P{saAJ)x1qY=uH2 zw;RX97S4a+4;#ddek8OB6?rUd7HjHQ*df)nL$OnK(T|6nId-y(BdOEqn#bc_ z&0`&pyNsXRQ0_PTC809Gx+-Hym-{P?l!+c@D^(_XyKz39;`uM)>4b2jpDELViaeK2 Z4r}UMIwPuWr|QhuML(Y=Gcqz*0{~Y4&gB3A literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..65e303b72d6d4cd2a5609f59c393e3ad081b7ecc GIT binary patch literal 1795 zcmZ?wbhEHbh9_7>+kPxVCI(d*|Fi_;SOQ#xHCI8K0ZD{*?XSP&P`8G&oIuu zcV_42=jRtVcgy+i+Vb-9is038XLoIVeSJgn>3P1px4pf+qxki`v%9yyzki^aTi)+a Ii35W*0A&Gt@Bjb+ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..c1ac52ee9eb84118411bec2a3c0d76aa9e0e5a0e GIT binary patch literal 1647 zcmZ?wbhEHbWMPnC`2L?^%a$$Ao;|y8;lhp`J6^naap%sRH*ek?J9g~ey?eWM?K*Sj z%!v~xPMtdS;K74`|NedX^5xT~Pai&fc=ztz|4}d+0z*Fp6o0ZXGB5};=r8~QC{MJH z=7^ymtD`<3KLj{@7#KNN92P3HGI0nisT|m_(7BCCiED;|$->CMz{a4% z00f{s(LS0ZMoi?7dK60taNJ^GIPnoOMTI z!Q$in3eH_Jo<FMbP$*1OcZeDhFwng!)J0~|UKR@50nM>Ad%ZiJO zJtk|#p4zhV^74SiUUR*+uDZH9VsqBrQ(ISGU!QQeOV)eanwy(5F0YC`y>0F7?FEld z&Gp{C?(Xi2&#&&D-oF0+{sv}lIiDRH9vrF6O_H@`Rv^E^z;nl?0aW+ zZhn4#fpfQ<@2)K`FRut*9d~xu*4NiJB%hw=yL;Q)+dGP1-#fc|d;SeZMh0sD{26xf literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-disabled-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-disabled-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..30a99b0924d581adef051c9f0258a8e74b2e74a6 GIT binary patch literal 1637 zcmZ?wbhEHbWMPnC`2L^a+_7UX?%g|g?%caak6t`@aO=vIZ(qJVxp(j1zkmNn!Dt8! z_YhG0$->CMz{#M)00f{s(LS0ZhI^ck`VU_Sa5ynAa0UHPn AmH+?% literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-disabled-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-disabled-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..8ed83d29795e2be78ebb1c2c22e555af00643ea5 GIT binary patch literal 1977 zcmZ?wbhEHbRZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gnF+j0zGC1q@6KO#B))1px~h+u5X)8YBcC zx^xI>rX9)H*l?Ulh_ypRpeV(2q7d^6o(V;%-c$7>qhd6J70%AENZ)mZb8@;bi+Sy{ zEjuS?_%F6^R+8n~l5u&l|75FBsi~S*R|ju)I=U-#^_6uA`@6Qjnwk@_Ik|OJ?5=HD z(d#mAo+`B#*Sobl|MWB4-R63C_m};Cw08A$gZRUB%*t{+I|?2j?iaQWlbLDw^z>w7 z=VN;!H$OSIz`lFio0%m*J6Ko8?b%h7eQsss=`vesvsbs*dq20^Yi;)S{(A^(t&e#;?l=3^ rk=$z~baL@TJGRaz6CA{DKAGsR_HxOjKqJqmQ-jkuQztMoGFSru%mKlR literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-over-bg.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..64edaf02b183cc51a72edc7b0e5be8690d70f6d3 GIT binary patch literal 1773 zcmZ?wbhEHb*-O!NF!Gc8!=58x}US3n+Wd@%Wh7&@Ew{b?3y!#mD;< zoV#Q^H!V3iStEE=%*jnlPfs^UJ~hX4^RlzEEs9^=Ik|cH`S}jbT(VwUR$N@{F$>vfkU)+}xaTc~$J`ZEJ6DFL-=vuJ`tJ zcXwBOes%Zs_VxGoH!yR{`Rv&6@NkE)cHEgA8y_E^pzJ-*XXmD;r)L;v-#fE&^Yily doV(?GcWrrjc}4K*xU;*qzP`TUAR7yVH2?_jZ@T~h literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-over-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-over-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..54efa0c0f56653de9b6d14989aebc948d065fc0e GIT binary patch literal 1648 zcmZ?wbhEHbWMPnC`2L?^%a$!~UcI_-;lhp`J3hU8_vy`>7tfx3`0(MylPBlSoO$)) z#jahuE}T2}=EaMD|Ni~>1_Gae;KPUiqhK@yhJFYr{$ycfU=U`|VE_V9o@gJ<5ko&# zM}0tk2ypl^FmkXsEL31+=HS(cSkcgMxLrV&YlcR`Ar?kvHJy$J3XU!8Tx=E`0+SkD o+1bT>0zN!&U}9yI;Zb-oL5*=XgND@-hJ)xJMv+L`t8&kc{pPRF*?ET&K^{wLa^M1eoeEMR(e7@b@-(R2JJl*df zZ(H&E$;a*O>+9?O|9XE{JfV*How`Cj>#ykw4IE|_51Lu5BotfN{4x?-CA2gW+jxRj zENqvJ`?0V?vFOMBPVPlJ9(JfLd-14Cb(2PNkI5>IMZGGIZYcFwox73TtA9@-rO)}D ThDyKduNf*6Jj^_U92l$t8b-bf literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tab/tab-default-top-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..39ea2d8e92a516d8c462b7b8514871bb171c72b4 GIT binary patch literal 1983 zcmZ?wbhEHbRZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gnF+j4Bci1rAIMOx#i~GafV?W@cx#YdLYD z!IfE1IOfQS4GqVcB<-8t{4iYHFqz3`QAnjxa>I1Sm_t*3PD=A>Gsx#Ulet;_+)Vpy zwyQH6o(IggZd4Q9HD$%cWggvHQ%_A!SAOFy21vU9tYbzN-Ife0wT3JUrIHtv&6`j7^VE z_UpQzJ0rRI`Kh^%_4{;onY_F_+kLs&Ua7ASuTMzKo+f*%^v&(fh1c`W&fb=Fe@)}< zbG|j(Kiu0@ug<@(X2-{8C%Uz#pPRGm^UL#V-Orzs-TnR5-GlXW_UrAl`T698e4s1dFlNNpvAk1HsQ>kMdO`y?Uq(VRhuDe*Ej&Rl z9<=aBNhG$(B)v#%m2LX*uvKZA$D>Z^z8Q-;wHH-9=oUD%VquTsE{Vsz#*ZSByKOG5 zSk$k>l$qS;@=hbA-|F9tlnLH^nJJS!#8xhu;uG}p$rS%6$<%2vNiS2Uvazu+SOWm! CsMAFN literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tip/tip-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tip/tip-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..b9000bd9e67b713d8752e5d6a6516dd317566652 GIT binary patch literal 1620 zcmZ?wbhEHbWM&Xz`2L@vt*!0UsZ)J@eO+B$XU?2iv0}xQD_2&nTD4})nsw{eZP>73 z-@bjfZr%Dn3PwXCMz{H@#00f{s(LS0ZMr1-5 z^)xgDI7}EAStKMF8XTI~IK^x%3>2N(xJ9jUI0}=FvW*R9lSOWk}y9_Y^ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/toolbar/more.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/toolbar/more.gif new file mode 100644 index 0000000000000000000000000000000000000000..02c2509fee0fb4555df61072d8e8daac8dc7430e GIT binary patch literal 845 zcmZ?wbhEHb_??HKjfkTUdnM1~7 r!-9j&9Ku>L9YCQ*K7KbIgN+Z4bP31@U9tF}++`ynz+epkzXub1 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/toolbar/scroll-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/toolbar/scroll-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..2db8cf5cacdeedff17ce269eed74d98624bb1f67 GIT binary patch literal 1861 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 Ln5@mu!C(yl1rmS4 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tools/tool-sprite-tpl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tools/tool-sprite-tpl.gif new file mode 100644 index 0000000000000000000000000000000000000000..18277a3d4873a92ed7b481533026dd6e6f91f831 GIT binary patch literal 971 zcmZ?wbhEHblw;s$_|CxK@ZVw1oH;vo?0ER_;p4}TpFMl_;>C+suU>ul@ZrmsFWI% z7A6UgIUW-k53w<_W!yPYc;Ik{sB_dAjY*4+cW?)-irJa)gkhS2zfpk0=4HODdik%W z%v`Yi{Cv(BCRr`v#*2$R1b6tH3Q0S@TyMS|ufW8HtE(e8cbqvDn%1~J;jmbN=C(CH z%o&$gnLa358$FZ#(W$xB2UPFwHWI%x^>&bh+umw^oevfpo*e0xT$)#-@nON^771A^ J5eWeXYXBZ@aLoV! literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tools/tool-sprites.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tools/tool-sprites.gif new file mode 100644 index 0000000000000000000000000000000000000000..36b6b6755e3635ff92992745d87c7f71e7120766 GIT binary patch literal 5835 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 Z&WpDllQVtJs~yuB{r5_TA#o&N{vY9zBd!1d literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tools/tools-sprites-trans.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tools/tools-sprites-trans.gif new file mode 100644 index 0000000000000000000000000000000000000000..b6d7ba369a70e2f3ebddab526904cc3c70a489d1 GIT binary patch literal 1981 zcmcJ~i#yW`1Hkd$E*LWAeo1B`D5f57K?zGvLsY;4010C3P76i`u7F+V@=?CdO+ zNSLkwKwQ`uqF8e*HQL?%2_(D}kDazKCuzHEmFNbB2wS&Qsu)Pr(%dpnyhfy=sm}$*~^3H?U{27QvSeM^)W1gc z8_yk8v?a!V;mUX;-lm_pEirKO-uk!r?3?3P>7dK`=2ee>{oEZxdu;M&CuyTyGdtU# zoR&8QMK;`KChPt3kXK`sno9fOD-tYgFF)StGKu)td_{m}_r4Av%`1Mvgxv?ZbE4P3hCL6Whdsi#10F+iK zG9f|1t7r$HdS#%o284{o$*JE`83#j=yLdV17=|pT2g8%V8n8B!+(VyV(CoW}`6Uy$ z`+^Fl!HxCVL^l=*$iVSPKu&jW!J*}$;AD%eB3cdPig1|(U_GbRK`=5Ik;Jaa! z
    zk>A&6NIlkj-sVT_OPx%!x9L{cr){prc@2dW^tpj}Pm3ps#$2QLm7(E?1MGy{ z6ZtFOFca$0vaS}V9|7Ko1|uFA-hhz@vcEl$EWoitPr&3JK`x+Ra~%88-zIderr88X zg_LA2mI81a5tcUf;5E@-eG|fipu$b1Jcw2nhKngp4Gzi$Oi@%iEp_$Tv83!QG?#^qi2aEZzy5bNg$xOqmj@Wc)X8?+e#} zx2GKV<{Dy)`=4Fkf%;H;vx5LS{Mwa3j{r%VOGk$2Xv#)?FjOevEmxrluOU7=gUdQl z*gS#mE7&Gm^2u0eS`L@B{XD>_DFmLbgiw(NUhP4@u&~a&>mna)S~O8-e#`#U3%IQ| zN2=3k7_G;by;ep9JH4bG(enlSv^#X^jHU>E=c3D(e^WT2Ot2G%aZBIz+NF&#WGfBj zZDEw;dn$2gb(E6E2LI%s6c2S)mxue8^tJljWbOk;nCiBlGzM>~c{$Z1Af^tgZXzdq zBC4cK!cp#5$_t)cEbR*HsJVn-7^>diuM}jXTs>YKvuAXG_RdY6?-TDfUyXaM)i;bK z<<30{FY|jUa8QjeaJ;l|Sc8QFnH93AFO1cZ?+a!&AZ1o7`Z*B-o+sg0ks7%ci%jrJ zC$+QqdN~03f^yJdCw-b?oo%GDx<_`U+M8*an`qVhj0A#9t-%q+66OxprOG+k z;k#<7J-tcg-Ulc}dv`TPSiHEw?iKz4iSL`JqTi^#zSoG9Lyy_twrF%s8-zqy_w5{e zM0?U#MacpUU)6O6$fPDu-KN4DoSY)&fOzEjuZ1_Cc@}RG0lVmWc&Da=es63GPPFir zjR1j@zf@{qGPdG+I|YZiAdh_9Guscg>=wx@J$tEAug5*j%jz}vRKQGUcQ!4*a?skkU! Z^yiU%cXa=RXC6Piet(@fdA#eewFlE< zV||#xV6a#$&7TBgL@-7LQ$#RD1?!Y_Js~?B4w58&K3^aZ2nK_pP$(P@+mkSqmWDF$ zGA#u&@QQ*E1;dp5nv#cU`3((kYqAiHMw7|pXBLffD8ivQ3ttLof`bWO`B9Lki)flh zKY296qXZAXcu1BYQ9`q2C6!8Lv)Oz;&oB(jvU4T)U55EGq$&67-qvduv&|sV0B|RZ1!8X9sPGm=YZ?3`<~~%_rb$QgO8v1o_bFo zeP-W$-f!<&zSUo^-REss>D-GGYrGrky8G+RtG9R>FwD6dZ(5@Fti|y|?`;QGb-G72 zAIP2fw)I4dyAjvn#+YsY3bSkSyK~1>TQlD78rRJpjK#kVP&Byb1Qxw+VdJ;zMMm6o$NCpDKMT4H4IlwPY@+R-^K#P+^-U-8~x P{CU^aTq0!FVcq`#CX}cg literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/drop-above.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/drop-above.gif new file mode 100644 index 0000000000000000000000000000000000000000..30d1ca7107816233884d23239dd76fce79237fe5 GIT binary patch literal 911 zcmZ?wbhEHb6krfwXlGzB^-Oj%*Y>c~334!T+I5ReJa7x*DTyS#YWmWQ8@*yChwS&o6 zrsT(mM-FYgx*h@@4;QobG08Hm@c7Wg%*HKZQ}Uv~iG_ooBg3QNK|^B;FB^}5K!V!o j#pA)jmQU~$dc{RCEH^Pc0?BK zj4s|4Q@Ag_Y)yK_x{UHY2^CvX>NjQ8>`JNKlUBPgy>f3}?ar*)o!Rv}a|;e8R~}5M zI+k5?IJ@p(X5I1prmcC+Tl3ns7k2C@@7Z0}wX?EwUq$b}>dE`-8_$%sovdm*S<`y9 zvg=S~|DoE>6ZKu^Yp3pS>N(xmcc!K9QuCyv4O0&^O+Vf`{Y>lRvmG-|x6L@yKI2T+ z?1R&1ADl7ea@VxWol~!LO}o-P{c88ji`{c?Oj>eo%Chs*mR*>(;O5i?H>WMVJ$u!a zxvQ_tS$1N<@{-~Tgx`xUa|S^%B{CoY`?W?%iUF5@2}Z*cg>Eg z>v!B;zx&SmUDr15xw>=vgZ29!ZQJ`~+mSmvj^5pQ^4^hC_l_QYap3f`!)G2GJNw}H zxtAxeygq;Z-KCo^FW&ihj$;hsoH8C8796zp$T+b>@c4oQ4ptl9{CxcUY?nYS7uzPr^nkf~ zF-KnfWK`sLl+9v^jSOlzC8As$;v$iu&bdH0ut_86$zxX@GwwqiGMCbLCdz4)g$X=7 zcxoaWQ~HIKhmx0vy2>O}Xevx#ky5l?_wGr-qtgtHrgJ}!+;FF#5#6#i2*%nh> zyAFx!#AZoGf3_x%!Zyuz9to2P8w(l~A)jmQU~$dc{RCEH^Pc0?BK zj4s|4Q@Ag_Y)yK_x{UHY2^CvX>NjQ8>`JNKlUBPgy>f3}?ar*)o!Rv}a|;e8R~}5M zI+k5?IJ@p(X5I1prmcC+Tl3ns7k2C@@7Z0}wX?EwUq$b}>dE`-8_$%sovdm*S<`y9 zvg=S~|DoE>6ZKu^Yp3pS>N(xmcc!K9QuCyv4O0&^O+Vf`{Y>lRvmG-|x6L@yKI2T+ z?1R&1ADl7ea@VxWol~!LO}o-P{c88ji`{c?Oj>eo%Chs*mR*>(;O5i?H>WMVJ$u!a zxvQ_tS$1N<@{-~Tgx`xUa|S^%B{CoY`?W?%iUF5@2}Z*cg>Eg z>v!B;zx&SmUDr15xw>=vgZ29!ZQJ`~+mSmvj^5pQ^4^hC_l_QYap3f`!)G2GJNw}H zxtAxeygq;Z-KCo^FW&ihj$;hsoH8C8796zp$T+b>@c4oQ4ptl9{CxcUY?nYS7uzPr^nkf~ zF-KnfWK`sLl+9v^jSOlzC8As$;v$iu&bdH0ut_86$zxX@GwwqiGMCbLCdz4)g$X=7 zcxoaWQ~HIKhmx0vy2>O}Xevx#ky5l?_wGr-qtgtHrgJ}!+;FF#5#6#i2*%nh> zyAFx!#AZoGf3_x%!Zyuz9to2P8w(l~c~334eSRT}sa)VS__s8w&@Y zgu;q|!z~;Fasmw<8xA%wGBG*Ccx+O2Y*vXZDtTe_=t!5iao(F9ACgZ@)bm{w(wUgh k*e9SZBf7&RvvH|ppWc*{Usi^4=^EOswG7BU)WBd303hyMjsO4v literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/drop-between.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/drop-between.gif new file mode 100644 index 0000000000000000000000000000000000000000..5c6c09d987cf7cee99cf1baec891f85e7477cc02 GIT binary patch literal 907 zcmZ?wbhEHb6krfwXlGzB^-Oj%*Y>c~334oIij5|Ns9CqhK@yhFS=VTXXjp>_!!i-ZjhjBP9&d=d&P1P-@w z2*?REbZj`-z{teJvFE@96*ex`7^N1;;s=LXIk{il(fr(WZkkH%E}e=3)qp;}RJS=1 ZACr#t%8J+VSOzWgoT4>ViN zU%dGJ;lrOVU;h61@&EsShEXsY0)sdN6o0Y+UH6|s2joUjo?zgZ#9+@MbEA=|m5*7N zuP1?_;V=Wcmd2kAjEoFSyb3l63JeWQEzG)l4<-aOJF{^!n#_11;LyO$#4EyJxnXG= zBd1*n!vlvz??xWBngt9APKV|*$upc#SeW74&N(&d!GU0fOO1}n=k{oQNISc~334!T+I5ReJa7x*DTyS#YWmWQ8@*yChwS&o6 zrsT(mM-FYgx*h@@4;QobG08Hm@c7Wg%*HKZQ}Uv~iG_ooBg3QNK|^B;FB^}5K!V!o j#pc~334eSRT}sa)VS__s8w&@Y zgu;q|!z~;Fasmw<8xA%wGBG*Ccx+O2Y*vXZDtTe_=t!5iao(F9ACgZ@)bm{w(wUgh k*e9SZBf7&RvvH|ppWc*{Usi^4=^EOswG7BU)WBd303hyMjsO4v literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/drop-yes.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/drop-yes.gif new file mode 100644 index 0000000000000000000000000000000000000000..8aacb307e89d690f46853e01f5c4726bd5d94e31 GIT binary patch literal 1016 zcmZ?wbhEHb6krfwXlGzhFH%vfSJo_7)vQuAsWC9EH&km;*6LR^?KiYxFJMjooS=wa?sdwqwu&r?{0KDI0upwuR+x56{~g zkq<(VSvvztwnvw2k15z6Ua%vwaA$PU&gkM@F@^i$%l9PIZcnS(l~TJWt#)5}{f^9- z1J*HzZPSi=W*zp-IqIEx!mH#^WYOu+{6mTPhZFOT08vuj(d7JNDFp|U3y&lh98WDi zo>p==rRYRP$%%~86B%VEGs{k8RUS;KJD6E_Jiqc}cGa2O`cnnX`*Pb46}28MZ8%lj zaHgpFTzUJ+%FZKY-6tw0oU5O>vwy;#zG=ssCm!gZcDil)nbs*M`lp@kn035;#_6_M zr`l(nX`gwvYwo%3nHRffUg(*1rFZuAiSsW_n15;F+#8b?UYok``qahOr>(v;d-dhn ztL{u+dw=%2>kHRkU$E}Z()D+iZN9m5#o~d_ub#R;qm;f57%vfxPJS?4f`H%+y8jS!N=PUJlT2r&He)i4xD~_ z;M%)OH{V=&_T};0@2@}p{P5-1r$2vx|NZy(|Ns9CqkyasQ2fcl%)rpgpaaqk$`cG6 zR~e)^Wjr=4aC9<_3F%-wzQDoVIAhB~=k&AfoLyW-Re?t*%+d(FBC_aGf`Fq$D3_+D zkjse)Dz(dOBqZEh6jdE-UYxkdEGT3zv4dmE!Dl=ZWi9e%{1g;@!G-s^!P$| z8==@$AR3<{5^GPA?~^>Pma%d|c$9FpHozQ?Xjg>udUpBYwxjRJ5N111_ak$-+1`( z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|<-opRJB_vEXSch-q28ikEr8>dQ*& zr*1lvbmi&;28RdllqNhC>tgCx%Fvy_p*nG)g9O)&r%wdl%(Hp0p+cvVfx#L8`j$#l literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-end-minus.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-end-minus.gif new file mode 100644 index 0000000000000000000000000000000000000000..55d8a0fa27324b7f4e38c26336106ea63a8d20c3 GIT binary patch literal 157 zcmZ?wbhEHb6krfxc+AIO=#}jB-)YLyy>ozQ?Xjg>udUpBYwxjRJ5N111_ak$-+1`( z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|>%&P+;k_2G)3^V>tM0{}$k(hOBl&Po{$U2) zHzzoHcN%V%*me2~~eL65ZFb1$}72{STS F0{~EqN}K=y literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-end-plus-nl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-end-plus-nl.gif new file mode 100644 index 0000000000000000000000000000000000000000..96f8d723942d4f0c5e23e2fdf9f64d5d414870f7 GIT binary patch literal 152 zcmZ?wbhEHb6krfxc+AIO=#}jB-)YLyy>ozQ?Xjg>udUpBYwxjRTTeVb1_YO$U%B`3 z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|^}|We)q5>opRJB_vEXSch-q28ikEqT_64o= zQ&%x;mMAr~Xh@h)E@%82Bw2LM$6iowpm(o>{suv@X_;DVz34Pv!F%; literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-end-plus.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-end-plus.gif new file mode 100644 index 0000000000000000000000000000000000000000..a5c62fab32adca39a885e19ab9230d21a9cb804d GIT binary patch literal 159 zcmZ?wbhEHb6krfxc+AIO=#}jB-)YLyy>ozQ?Xjg>udUpBYwxjRTTeVb1_YO$U%B`3 z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|=fg=&;k_2G)3^V>tM0{}$k(hOBl&Po{$U1P zo)cWXJM|Cfu-#34z#!4Oq3H+cw0Y|6j{uQT)d^~>^T<( G25SI?qe(ab literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-end.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-end.gif new file mode 100644 index 0000000000000000000000000000000000000000..406a88dff55195c8f8fbb65c37a10280e9689e25 GIT binary patch literal 70 zcmZ?wbhEHb6krfxSjfcS^xx^&v19+iK=CIFBLfiVfC!L01Cw}5e&gx43+Bx!j0#)d SwtMyY(nlWCo>_`ASOWlykQ)2| literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-line.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-line.gif new file mode 100644 index 0000000000000000000000000000000000000000..e25ed03fb6cebb2a0f891c0730f50977246ddace GIT binary patch literal 72 zcmZ?wbhEHb6krfxSjfcS^xx^&v19+iK=CIFBLfiVfC!L01CwM+e&gx43+Bx!j0#)d Tw)?qX<1KZol+K0jj11NQyrLT7 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-minus-nl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-minus-nl.gif new file mode 100644 index 0000000000000000000000000000000000000000..f50bd40ae3db3333f583681ae0b875e2a83cadaa GIT binary patch literal 151 zcmZ?wbhEHb6krfxc+AIO=#}jB-)YLyy>ozQ?Xjg>udUpBYwxjRJ5N111_ak$-+1`( z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|<-opRJB_vEXSch-q28ikEr8>dQ*& zr*1lvbmi&;28RdllqNhC>tgCx%Fvy_p*nG)g9O)&r%wdl%(Hp0p+cvVfx#L8`j$#l literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-minus.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-minus.gif new file mode 100644 index 0000000000000000000000000000000000000000..a7287961bd3f1eb0269c1ac04f18176dc92e9722 GIT binary patch literal 159 zcmZ?wbhEHb6krfxc+AIO=#}jB-)YLyy>ozQ?Xjg>udUpBYwxjRJ5N111_ak$-+1`( z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|=fg=&;k_2G)3^V>tM0{}$k(hOBl&Po{$U2) zHzzoHcN%V%*me2~~eL65Xvw}qcA*DiBm HV6X-N=kiOC literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-plus-nl.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-plus-nl.gif new file mode 100644 index 0000000000000000000000000000000000000000..96f8d723942d4f0c5e23e2fdf9f64d5d414870f7 GIT binary patch literal 152 zcmZ?wbhEHb6krfxc+AIO=#}jB-)YLyy>ozQ?Xjg>udUpBYwxjRTTeVb1_YO$U%B`3 z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|^}|We)q5>opRJB_vEXSch-q28ikEqT_64o= zQ&%x;mMAr~Xh@h)E@%82Bw2LM$6iowpm(o>{suv@X_;DVz34Pv!F%; literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-plus.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow-plus.gif new file mode 100644 index 0000000000000000000000000000000000000000..ae41983cca2f762abffb8638a43869859a276e44 GIT binary patch literal 160 zcmZ?wbhEHb6krfxc+AIO=#}jB-)YLyy>ozQ?Xjg>udUpBYwxjRTTeVb1_YO$U%B`3 z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|_rpm|;k_2G)3^V>tM0{}$k(hOBl&Po{$U1P zo)cWXJM|Cfu-#34z#!4Oq3H+cw0Y|6j{uQTpXw|H*T}0 HAcHjk$M;B$ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/elbow.gif new file mode 100644 index 0000000000000000000000000000000000000000..201c413e388369bf82b1a1289baf47fa3cc06f40 GIT binary patch literal 73 zcmZ?wbhEHb6krfxSjfcS^xx^&v19+iK=CIFBLfiVfC!L01Cvxse&gx43+Bx!j0#)d UwtMyYQa?4X6w5`|G{qRK0oEWJ9RL6T literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/folder-open.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/folder-open.gif new file mode 100644 index 0000000000000000000000000000000000000000..361e1be3e4b28bf8fc4e39b60f66dc805c5b7835 GIT binary patch literal 356 zcmV-q0h|6uNk%w1VGsZi0Hr+uF-l`X|3aB(0h(w6oN5G~YzCli2%>Nbqj3wQatx(& z4X1Svta=o%ei*ZX8?}NRw}cF z*SJ91zii^OL*l_u{nc>)+ja2ddjI5ql%>6#rMxBRBiTCh{|M-*t|C#^)od5r&#KgqK#l_9d&C$`(#@6fD;qmA1_v`cj`uqI<|NsC0 z|NsC0A^8LW002J#EC2ui01yBW000Joz@KnPED|#r%*A3n_MSXmrTNSBWLRuZ5`jD% z4I$>5%|4%u+wanYx!-WvqBg19@AXd$L7T+NWicHSECzjlaBng%6CedNKYlKgl#??W z9t4nnG9#X!BQqQu1CWt1A*rgVA`}8OLK6zJvk3#~t CowKL_ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/folder.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/folder.gif new file mode 100644 index 0000000000000000000000000000000000000000..b2fd81a12d520bb45ce681ad14801a3e9d2ffedb GIT binary patch literal 351 zcmZ?wbhEHb6krfwSZc;#=#}jB-)Uw#uSU{)Jbe^l-}ATyS+tzSG&^QF4Y6Q8i)F|j!x1&K1Kh;RD+Y#3{TH6J~Pwg z_V%FL+YA3+$^U=5^#7CkDNFax0iw0XmTtYaa__CZ$Bykh_2mEi&i_9q|NlSp|NlAv z|L;0*;K1qAr_Y=@bNTY+YuBzFyY~9V!;jD3e}Db?KYpP2lZBCi!Ja{f0SG{TVqmK| zFu%YrY|>(@5!KS@?CREHtr5{um^68c7E6t=mi+8FbG4XjgtX+AEM2C>RBRv5 f$IH#d!Oq6Y!lY~9Y@oM$&)yv&2M)SAGFSru#-z0M literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/leaf.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/leaf.gif new file mode 100644 index 0000000000000000000000000000000000000000..445769d3f863fff85bf8dae9e50ca2fbdd2d580f GIT binary patch literal 945 zcmZ?wbhEHb6krfwXlDQcQ_o~GuN3{H6Nag0EsGx6l|6PSd+b*I#H;qP!+!_A#wTHI zPb1o&CiOkbneseu`t#JOpR;CuEt~zKYW~Z@xnJuSzARt#t#2GZdv-WZP}~tRj*oB|LorIYr@vw({}!uwfFDhO(&LbJ2U^lzeR`sUwH800T8|T z00#d*{P_PLi2nZvyK9sf4FQ^mfZ|UUW(Ec>1|5)1pgh6A(Z?XlA>*-O!NF!$M-7&b z2M@Kd^GWGABrIrf5YP;mqG0Ic!oef1<ENsed*j@4Yk?RR_1qN#Xfm)wA literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/loading.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..e846e1d6c58796558015ffee1fdec546bc207ee8 GIT binary patch literal 771 zcmZ?wbhEHb6krfw*v!MQYQ=(yeQk4RPu{+D?cCXuwr^cCp}%d_ius2R?!0jBXnAQ) zOH<|l|Nj|aK=D7fpKD04vtxj(k)8oFBT!uNCkrbB0}q1^NDatX1{VJbCr|b)oWWMT zS%hVC ~NwO_yO%;SvZ5MdNYf|QNy-I*%yJaj+uTdt+qbZ z4E`Fzb8m}I&!N8OKmWEcCmrLs^Hs&3i)mt@hQVdcqghkaBs*D}tG_lKew4?rTjzIZ z9tSone1TS+TR7tu^CunG)Y7Jg#sw#)sG9C!c0I%LEzP)9;hqRf&)s$D8d5Db{TBs% zgl0~5QQ91luq4Q9tJgt4QLbaxZvAaKeCM9!oy85dg4k>TdBSVqjHub_PG=PO&J-rx z7oYTuF+kH|tG-UK+EkUhDjYx?zW?T|lx>+aOQm zzL$v$zBLo4Cj=G&tw{H}dW?tlTkS)SY4<#NS92z*EY-MMB6Ftp`R=*=*Ev7cS+X%W zMCur^FdlokL}1Y+&aasU2J4#EOuNlnb9CmqgLCGTSY!1BD42pkHY^XidQ5=>YQx%` z*%Pm9D!CkBu&tMWm(%-ejACVWGS2RX5=QOJ$1*tr7F}F+*-OA+Ly&Isg|AEuUYicA z#%IG6kPXkHt{zk2M6zK@Vu^4Q(1zE$?yY6M!^&jQ+2^E?!p7{g*|X6}vuRC3p@jk0 W117c83?+LXEZI4G$p&LV25SKE>nb+@ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/s.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/tree/s.gif new file mode 100644 index 0000000000000000000000000000000000000000..1d11fa9ada9e93505b3d736acb204083f45d5fbf GIT binary patch literal 43 scmZ?wbhEHbWMp7uX!y@?;J^U}1_s5SEQ~;kK?g*DWEhy3To@Uw0n;G|I{*Lx literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/util/splitter/mini-bottom.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/util/splitter/mini-bottom.gif new file mode 100644 index 0000000000000000000000000000000000000000..c18f9e34ac1f4d06525592c5ec25783921e7ab1c GIT binary patch literal 856 zcmZ?wbhEHbRAyjhXlGz>c6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zFlAunknz~C;9xU5Gl#^14GRyqF(|p!cuZW_z#t(WR-;k)_;9y`aa9RNLW=VQMPsFy Kokpn+4AubBJRUOu literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/util/splitter/mini-left.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/util/splitter/mini-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..99f7993f260b374440c5c8baa41a600eca99d74d GIT binary patch literal 871 zcmZ?wbhEHbWMxohXlGz>c6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zaA9EP;893e(9p!fE+S&!pm?~AUD|4jgy5sYono4CYdSV2yD|teHi#$`Jzc6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zaAja+k&tj`IMB$%CgZbW!-Ix)HhHZSi@+q84iWvZBN>K^-5Dep8%#8W7*0-Pa>$EW bxpC?7J_E~BDJKIG4z;p#3-JgDFjxZsq+}v; literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/util/splitter/mini-top.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/util/splitter/mini-top.gif new file mode 100644 index 0000000000000000000000000000000000000000..a4ca2bb20aad89264b9022fee88ee29154dfb192 GIT binary patch literal 856 zcmZ?wbhEHbRAyjhXlGz>c6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m zFlAuo;89qx;9xU{u$s(?fCCNf0?JM-3L76eGxBgot>IYk*sW87)#{JM#>MWF#5uKM LPHswdV6X-Nu*4oA literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2508ffa9ab01722b7ce41da2b758441199889a90 GIT binary patch literal 1652 zcmZ?wbhEHbWMz+Z^fkBW#hXDvcd7^zZM+}#^9rXt} zA;1yHz{nxuv0%Z$W)5Mk5QznehZ_YH*$g-mk`8u>=n8dY7%(*S$#Yk+ymU}zVq_Cl o*dX!n;7JBSB^d{U1&f&{GD!(!bR;+eO;K1^@s6 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-bottom-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-bottom-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..3693bd78718c7bfe2c1cd6c3f9562b1e62913a2c GIT binary patch literal 1620 zcmZ?wbhEHbG__Fd70QF9Z~SvM@3*Ff-^d00AgZw2$V9 zk(UZaeT)bJ4nqb;76FG12@DKO+)^$U0Sg PlODKD6cJ}*VXy`O7Y_{= literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-collapsed-bottom-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-collapsed-bottom-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..51648d9a4940549b885c77759cb73596c9907fe7 GIT binary patch literal 203 zcmZ?wbhEHbWMz^X4Yz?wB{PMtb+=FFM@qyWXAEQ|~c@(el*Kmf9nfz?Anq01$6UdF0bj<@?B zeb?>yY}+fK;~SvFH2H9Nk%Gvk28NG6rZ9E1W@d8nw5cudY*e_{z<86G__Fd70QF9Z~SvM@3*Ff-^d00AgZw2$V9 zk(UZaeT)bJ4nqb;76FG12@DKO+)^$U0Sg PlODKD6cJ}*VXy`O7Y_{= literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-collapsed-left-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-collapsed-left-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..4945b654ef4399097c27aa6352fa25df83945fbc GIT binary patch literal 151 zcmZ?wbhEHbWMzg?FXz+epk DvV=yQ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-collapsed-left-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-collapsed-left-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..a75896b5a8178aac27ad4e5e09e9c83ee1b56c7b GIT binary patch literal 1607 zcmZ?wbhEHbWMdFu`2L?^#flZLo;`c<;>G__Fd70QF9Z~SvM@3*Ff-^d00AgZw2$V9 zk(UZaeT)bJ4iyGQ76Au=28Sjl9zLCl2@emo@G9DcbWB)uxJyvi>xhM6^05X6YXEZE B34#Cs literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-collapsed-right-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-collapsed-right-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..83ac06471b8f3665c87d9b74b532bb114ce9582a GIT binary patch literal 204 zcmZ?wbhEHbWMz^X4Yz?wB{PMtb+=FFM@qyWXAEQ|~c@(el*Kmf9nfz?w%q02E+C}Y*SobFjq zHR|R!S=_(O(RhhPqebBG__Fd70QF9Z~SvM@3*Ff-^d00AgZw2$V9 zk(UZaeT)bJ4iyGQ4hac{28Sj#b}o&If<&hlUP-Mf9EFdZ+XeN5j${}nA8TN+1^`K| B2dMx6 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-collapsed-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-collapsed-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..248255fdaec1f0cbf64ad55be7d92e9e7602ec3d GIT binary patch literal 202 zcmZ?wbhEHbWMz+|z#z|{!vF*zI~iErA1HJ=Mha!DT9G__Fd70QF9Z~SvM@3*Ff-^d00AgZw2$V9 zk(UZaeT)bJ4nqb;76FG12@DKO+)^$U0Sg PlODKD6cJ}*VXy`O7Y_{= literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-left-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-left-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..2567539997a85811cba54c8862bf79853311fe95 GIT binary patch literal 1647 zcmZ?wbhEHbWMzeQ+KqhK@yhFu6K{$ycfVBllWVE_V9o@gJ<5yLK$M?FMB2ypl?Fmi}U zEJ$!<;t}shO3XtK@;g!A4d-DFXok1;%Cu4t@@g9SkZ?oeT<00XvKmPfu1A b?()gFnBq2(QA5hYpkb;1bge)(76xko`N0Kn literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-left-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-left-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..a75896b5a8178aac27ad4e5e09e9c83ee1b56c7b GIT binary patch literal 1607 zcmZ?wbhEHbWMdFu`2L?^#flZLo;`c<;>G__Fd70QF9Z~SvM@3*Ff-^d00AgZw2$V9 zk(UZaeT)bJ4iyGQ76Au=28Sjl9zLCl2@emo@G9DcbWB)uxJyvi>xhM6^05X6YXEZE B34#Cs literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-right-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-right-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..6a630bc71719f00087df2fc501dc6708ca663732 GIT binary patch literal 1649 zcmZ?wbhEHbWMz+Z^fkBW#hXDvcd7^zZM+}#^9rXt} zA;96sz{nvYu^_>bi9=W`=EMd?r)E}muPGdY4Nl#hhDs$34vsAxj4TQj0uL3Nm^oe5 lcnlnr8K)a)d&Rtbu&{xRg-aG__Fd70QF9Z~SvM@3*Ff-^d00AgZw2$V9 zk(UZaeT)bJ4iyGQ4hac{28Sj#b}o&If<&hlUP-Mf9EFdZ+XeN5j${}nA8TN+1^`K| B2dMx6 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-top-corners.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window-header/window-header-default-top-corners.gif new file mode 100644 index 0000000000000000000000000000000000000000..119ddb831d1684510334d4989bb40f797c1c50c5 GIT binary patch literal 191 zcmZ?wbhEHbWMz+|z#z|{!vF*zI~iDQ9w>AG__Fd70QF9Z~SvM@3*Ff-^d00AgZw2$V9 zk(UZaeT)bJ4nqb;76FG12@DKO+)^$U0Sg PlODKD6cJ}*VXy`O7Y_{= literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window/icon-error.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window/icon-error.gif new file mode 100644 index 0000000000000000000000000000000000000000..397b655ab83e5362fdc7eb0d18cf361c6f86bd9d GIT binary patch literal 1669 zcmV;02738NNk%w1VITk?0QUd@0|NsJ0|X2J00{{R5ds1i7Z(~66B`>G9v&Vb001Kp z5h)oOFaQ8I0021w0Y3o&E-fxEFEBACCN(uSJUcx_0Rc|{08I)CQ~&^5003P90ZlnN zZ2HgaR#tRYR&iNbdS75? zU|?otXJ=+;Yin(FU|@V`YIb#ZeSCg?et>}h0EGYmiU0tO0055<5Rm`?kOl^o005Z) z0GmN+?~005%|1f>7~rUeD5005~41+4%8tpx?M0RglK2)Y6SybBAy92~17B(5YS zt0^g|FE6h$GP@!ovpPDDN=%4PP>)+%g=J@gYio~fZHaSpjd*yLX=#~kY?O0znsITT ze0->1U$sL+wn#|6N=l(?ZKHd8zjAWJ0s_Pf3(Ero%L)p|939OP64C(y(FzLN0RhLMcRH8%DjAoeXS{Ujv)EG+gtJ^wQ^{W?3v zNJh*-LCQ@{#8XqnUth>oR?f~+Utj)HQ~z6A@Lyo#VPouQYVB}x>v?Q{t%gd(L*0R{xyxG~vlatYag2Jb&>V$^kk(2*{ zf&Yw*|C5vdnwsaLq~@lni75b z|Ns8}{@~x^A^8LW00930EC2ui03ZM$000R70RIUbNDv$>R;N^%GKK1uH+KXhN+gI) zQmI(8v}vO?E0!usk6NLdNb;LSjN7_}3)gKMEm^BfQ9=}oWJFkzOv$3fZRN_A+GfF& z32BcxoBv$pj74i3x2G;S3XK)B)FeoEmXWL#snn`jv}gsDrLa^fQ>tQ`viiu;6mb&4 zIih50RjgR4R9RKTR}rL1lO$0B9ElMiAmt)9>blUBj4Y5687efWvLQo=T3ms|nUS42 zGT05w#%K~HN|L}(qt>OeA3m=K#Zlp_nV3Y10NJUdgV?}Dj3P~n6lR(~fAPA&<^wy< z3SY;ip*i$tjvF;7)cwO(hY@E;pU(dEJAMvK96x^EuyA(#I4D2W)wt>4TNE8YjvOf} zG)mrhfAgFX#~WKj)1E)1@X?1HY^b3I4=}g`${ckFf(Rmn_^}B+|J5T5Fy|aN${TUW z0S6mQFhRr!;UgPsq@e^7N-V$&6Kb%bq#Sa*Vdfi^>~mm0dsJzqm1!)YL=j6Upi2{A zuE7S7XQmMhKT=kc#-N0zk;D-~AfZ4mcqp-i8dkz#<`P*@Bc(t0{IW!$Ngy$V5I-1@ zizZxdisc(i!~o5u$IbJ_rv6JTkwg(c{D4CNyI4a65=m^j#u6#8*Ipi;`17AUTJ(BE z5kdIy0|yB7l8z8W9HFeL2U?Ou5|`ZbpQ}X_F@z60{NTU@$Nckz5JFhX#WM$9V(qqN zczc{Zzy$F_4?N^RzzK;Blf(}}6cGhE|5-BcwnvOnPkU1IumcV|U{F8}13B@74?zS0 z#dwzlam2`nic7|EPvkH$4mJotfiVMJGlaxG_)rEWKMWD>&Oe?)03;wIQ58SrAhy#rm+eCjRSRuH))@dW!7dZ& zW5o_u2R%03bq^haWeql1000EIv_ld+Sb#9`4TvW`^x8Ju-~j^zOmNFONd2>m2p`;_ zHs5>m&A|f!9AH8(f>-{JI5cc`2#jD0Go}*+k21NqFv0{8KoG$M PBfNl1GVhQS5C8x>^BLCH literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window/icon-info.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window/icon-info.gif new file mode 100644 index 0000000000000000000000000000000000000000..58281c3067b309779f5cf949a7196170c8ca97b9 GIT binary patch literal 1586 zcmV-22F>|LNk%w1VITk?0QUd@002Ay07w84PX`%A3LHrS9ajJYWB>?a019mY3w!_= zeheW`4kS_$BTNt{R2C>w87x&AE?6EhTN5*F88u@cHent&Zy_^VB{*RwJ!T<2Ybrfu zEanAeNJ0@02_k<8;bxSjRY)#049Cl8e5Y1_tY3bkWN(XQaEfVlk7;?7 zZF!SzdY5*8mt2auc!8LDgq&lBt7(C!V~et7k-lw{yKsuMageiql(2i8y-tSTQHA4U zhskM;!F86%bDF?tGlSHx~QzWsjj`Ou)c+z$A_QDf}_NMrOt$@%8RPR zi>%9lsM?CJ)Qqyzkfy4!pytE%CW@Nu*TlB$=|re)xF5pzRlaC#O0*M=&Huzs>kT8$>*ZV^`Xr3 zq{{ZD&GV%F^A_)Y{V6-P_#W#@Xx7+U3jK?!?;j!ruDO*W%II z<s1(&F;b=Ka&^{@UjA-Rbn(?f%pA|J?Ea z-}(RG-{a%sWQF}}=T6!l(LfBVqwLzTzdz--gr zA>~JRUspdjz=SD#uW#3T=*1z15PotP*O<}1TXI=rW8fk~GqY79KP}1YrcVGlvzs zDl$nW+ZJ<7GW-rh3M7OOB8UkZSwRrC?KL;(Q+JJH=Ywg3PC literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window/icon-question.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window/icon-question.gif new file mode 100644 index 0000000000000000000000000000000000000000..08abd82ae86c9457172c7a4fdbc527641cf28e48 GIT binary patch literal 1607 zcmV-N2Dtf0Nk%w1VITk?0QUd@02fyP7F_@vT>uhh032%o9CQF5e-A8e03mY#BzglW zcL_0l6g7B5MoUafO-xQwNKjc)QdCG)VMGais%VD1YKp&Yk+f=&xOI)E zaEiQim9}=7y?K_jd6&3+oV;3t&|-(kYnQ@tj>UPC!+4gSZh?S#&mcD?Rw3D8!n4hVIpuCNxypy7?lBc|sslAz{ zv!1E8nykH`pQ59qrl_Z?tE#T5tFf-Ly0EXZv$D0gx4OH!y?~j^f}_NSpv#4+%#5bO zjit(rsl|+~%!H%Tg{shuuF;CD-i))_m#xK;uF0IQ!Je+okgwa9u*sgY$DOs#l(p29 zwb+%o+nKY|oV(kBuJ?(u=#RDcm$&DYyyKX=;G(m`qqxkgwZo{l%AmW~pu5Wy1~n_!_~3H*|^2hyUEtQ&D)~F!=r_S`L&GoF&_N~(Sv&!PL&+@j??Yq$Bv(odm+WouL^Ss^uzv2JK z#>vRX%gf5m#L3db&e_e*)63J`)6&(_)!NwC+uGXR!PV)++V9BJ>B`#d#N777-1y4d z^3d1g(%a?H-|XGp;>6+p%jEve=>OE=@803%+~e!f;quVt`_t+E+2!%y==0m`{@(Hb z;NRop*MI`>g(&|>+<34{Oa!Wf0xe!3Pge_@yBbqQDAy z^yqLDY^(Y`Bgb#Yy&t*SHt<)MmubQE= zM_%4K|K!o54GAF7UTBq*Ob!?g0o7_ijR4L$#5Cl7WQu5*Y1Gi(Bmg6D)2&N<*T z_(l=0(9+Fy7{;fLf+vi?iGtvWSYtTY0MiN@9f&f^H7LmFMINyXBrZBDyqCps^d=g7F3EF65lHnZVrI>UYlglJe zU~oq>afkv8HsRE$YQu zh#-bkqRKD4cwz`3RWxA(1Qnd&3}YuvgUT2`;GhH*Q&3SwBCD*Dh!i~7&_D!W@DWW; z1F;hgDs>bA#0Ei30Z1pS2x5T)7=Y0SG)EyV5IfR9lMEkstO3X(t9(I08OcCnvDYWD z6Ol7qAd-p~6!7sjC){4MV~P`tbU^{7d>1~=99ZDpN7scTEv^xRGv0Vk((EBd#a;&l F06QAMRrde@ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window/icon-warning.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window/icon-warning.gif new file mode 100644 index 0000000000000000000000000000000000000000..27ff98b4f787f776e24227da0227bc781e3b11e8 GIT binary patch literal 1483 zcmXAoYc$k(9LB%H%(yfgGuR9b<4z3ocd29*O43CNd(`UWmQ=H)a>`a4DYpzOx}c(x zSlvdcWJ?+unZaR-H7>b~v1S^TyJ_?Ptx;{_9t|N0Ki69nENoJ2v3`>&g|W8&busa_So7*+dD)$ zvLc<>kt@t%F{f~h9qzG`vt^ZG;7|7JumJBhJ9Y+8Lf4suZE^fH#5_9C`L|tWUS6U8 z{=uOE0fBzowgqiH9`W<?y6`^?T9Sbi>kIro^$r3_Y4hFwk)R(#Q}G+VFY!jG?tX{A@K zA7Ak-yF;xiAyhqNys9yLRL-ovzEyCSA}UpDxeZO_LcSl+NfU}@28A3*bVbNWrHA>fZ4D_larvD z0o4={9|wFI(DV=ZJRp1#nxdfzI{Lyuvvho356v%?4p|^%j&Mta>}F3~{K0|F!GZpTzVLoC6_EgdgTr?dzB>V$ILvD;-4MrIlR(m27G@h~>JlYZ zVAt|_ro3YUVh;qD&xzwC(+MYO@wD@Y_NS8}VxR3300jn*@X<;}{z{$rL zTQ1Ygt3r~JNZK6NqxROCFAF5#=}AsXB5Gp!SiKu3HLoB=^T~;XI#AbK!S$~9M1UFk{5%nyiu}%*CZiIbNf<7_U*)eK2jmJEb7FxOYX=;RObGwm=_w(}-X91Z& zqYL6B`%{}cDrkMSM*JWx2`jXogS!VNpUr25HWVJ_hwMpzlk(}y+|3YZ)%_6gfm?u*PI1fu~NtNN%<%o?1bnQ|HcP z+A{@eE%wEmbNMT^8Mo3bU$&{4r}IL6UfVqFo%2t*Tz4deYD9aVZE~6`7TH{nSG#4; z<6vfan`>!V4h5%@)!a#Ahc&Ef--@I2iU;@wEYEC-zjIsI(0PM(`f?qQqf=C&8Tb?#p4A}3P=ZzHb8 zU%2?008r{GmdfTSw5X-f*JnevxfSlSM{Cc=no(Hy6^Zi{dugQHUH~t06Bw zQt4307HjGF&8-z0AF;fZZq8-%?^|4nr#0y83LDz+toN8`gZZg2p9Yd5@bP-%L)8(V zUmmP8OS8yf(llyk`BV+l3sY@pR^S)K>*+DB$}jc0e)m$1w?{Mi5Ahq5K8vj4mE(=f iL}jwpve+-)v>A%!R(IJo>4b>g=+Z^fkBW#hXDvcd7^zZM+}#^9rXt} zA;6K!z{nvYu^_>bi9=W`=EMd?r)E}mt{#Dh2OF3LB~%;)9ym5JaIhBTpkV!9yG8sW|?&qC>&(& JVq|2n1_12V2)zIR literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window/window-default-sides.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/gray/window/window-default-sides.gif new file mode 100644 index 0000000000000000000000000000000000000000..d02950f9d3e4123db215134a9bd87b48965ad3fe GIT binary patch literal 1776 zcmZ?wbhEHbS~+CNvc_RPqTbpPvn>9 Y7iW96>z%FIntgRc@aZ%gO9cjN0M*f9kpKVy literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/WYSIWYG.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/WYSIWYG.png new file mode 100644 index 0000000000000000000000000000000000000000..67e3dfadab2daaadb8c83b48263777bd2c78a6a8 GIT binary patch literal 4702 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 IOx>dX3jj$t{Qv*} literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/arrow.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/arrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..3ab4f71ac115188898fa2701b6b11561d0461e4d GIT binary patch literal 828 zcmZ?wbhEHb%U0_SgpytR>ov#y;X2)}`~o*{vVshy#-wVk;=fuKCAZNn}b2nc9|jh&LR zOZxdzw_E@N3glMNH{CqyWps8zc6A$*J~Zx-MN9H=6`y#mvmYM5j)O39nD1Sra7}!= zf<3#tr|lDDwtjU!$ns}8ZIP11O&mcO_7Uw>f zD!T4<4{KhD9!f@QpWU;$@IAO|0yK`)pEnD@&hFPM1wJw+kO?L~Do36|AyvUSl5fy&DxjSJX#uHh&aC zjq~?OII^efPK$lloHiS}u2)TM!mdTD3NMW#hsZY>>-j9_R%$IE#r&Sd>EelV!b_6{ zQo<=PYlY7nR4!0Cr{aSzdLyw42!HE(wJOcf-^G`rv$%YTeLp!}!B2Y8aA zbrh*}9Ghw83_en}G1c&xJ+QC_ua=P)j?HC)D>#2xofA|a^y)BG9ZqWkk9e$HHptdBQ|Q@4 zU%gqd>5qiFYB^nX;loC5aafHwDC55nf*Q3nFDmF1ukXau$hp$1mZ?*5mu+vR;|M4s z(<-z#n=XXql3q%-(BCGb@EPAlVFNqQd%%1cuWw;fMPav^(gMsdq$7lmH zcG5uwhGP=?Nt-!o%#ayehC}1Zdq0m{4`#~6ocamMV5azTvb473pnWWYK@Frx)^9k4 z0KF!ui*jmLf*LqF-T3e1jFR2JW*da8SX@4){@n~d+{5jXn*&@ObB|iVrr%UqhF2)+y*bP zH}yDNWA2Ve(y6L3^MUdyFyK~wr^}#Kf`W4G__t~Rt(Y<<>a5~21&>_rTu$ExxW?6+RYwI! z3U-ev`1{kBo_IbgnS~MCl~9|PuXw}vkjTBR+y~OkCMbQQuW8{DyTIIN=Hz{Y}So zu&6zObU|q>YfJ)_aulG2?kLr_ARH#N4B$9;hqyr>L)5lAu*7;#yE11;6gNDOLZ z3kZUKDW!?2F^91qtenO2@*`E_E>R(v7Z6Bf#dQAj`^~LzOC_T|8Fo5Fl{i(qN&HWw z)7`3accfAb_fXtqxNtovhYT5&@}WdhGnU|9=1O0^D235;vbZi%W2tLeHjSCjy7`ID zOwFegV~i-MV#$c3K;m-|lXuVqAGN?QS@#uem_`(lfaExH2;}M*yRM)f;ZJ-~eHh|K z!kxG?+$|P1*iM`_f?IHWBeCCn4)hA2R5Jt*W*Nh-t?P(@XiW0l4TsSMoL_Kc+~cyf z)rGqV)0t#BxTEY{2%uK?@?jGLu^4^?gUO7)v463Al8`_kPUrpc4BA;RKR@N=I|J+E zv90pUF1_9Efs_7$dK-)cb-p5%LyY(qpUU6|{G-k#>)QuJXHH&J>~;@-)VyA!T9;{H za-dNsyvPUc8*E#pOFmV4PBrOlKTeV?O@a+Wcv`Z+4>>;J56M-uJMJ2Tp~ij!`0;yw zmg}uA@DFZES<(=9H15EralO3Xb$2>2)UkK2k*^{I} zN)+c52#0d*7-7O7SNAaE2(=NKgWu)c>90vsvk_CH<7=lh${1L1(sY-^^f>51bp=a; zC5nRJ-<7V-1Zbtc7Y@(IG@@CmURqvVsN>ZC++HFO_iENF0aUO^|FYD)+u2~fw!|t6 z?Qogm4pYqMwZP4WuaW`KK#BowX97iE;{b@kPR(^UwOITNzM zHPcQx0xW7F2bB(gJ$Z`OH!EStXg%@i-(6;nmOZ(`qLCNU73UDy2Uds36Rwv62b^J~agt*T6#bfK8ba`3(j+9_fk+!D7o)Q!k6X%Cl zJ5{Y=>@Dtcpq`W;NXKGb9YH_LYM+Y(_nXMHz;ReY%3wT3eB#eusTh*|fLaW*&j}dj z$>g3-u+=jzLT-U0m6WwPnyRQgNq$Wnoy_+iKT(CLa#dEw98g=f1dZ}Ww;bpPpm+X& z+1Yzdib|R4gwgWA5Hh2kt|^%6M6`s#MMerd5Zvf&%#fH$agE8#Um7l9DGuU9?Bw~# zmFuyN$il$kb_>gG>K*~`3pEdgr+6YQF1Xb0<(!iFc?6o|EONYq9j%DuL8B8GcniQ74f}}c zX)lG{hgi;-I!Gpc?9k%!ymZKD-E5^@D9!;tc;7e^F@vhw=v$gD;HyT!7BOhIx7>H* zBqr1X#{52=(EduKsE3`Otv62~10xU--$)4yrTYUMQuhS8dg!;WB(u2UmxR~|s9ln7 zhPH_)-+oJOb4I#In?9VP!t)Y<=|{P+lO^9c^d$a5RkR>YBSBTaDWsTBJc#>+SKMze zgeF_jo7fx>E?RHxNtZ6f6rWED_q$~{mg(-%->T|%zmS^O^bdIr93`PMp%l@*I1V{W z;dLgsW1?zL|Fofx117rzCc?Vs%+5u&U@#nH`B{wRge|f|KSh*c2;T!JF;3ypRD@j{^+e& zeti5tGltPB)5l#uD42SPKHgAi+(QjtZWbA-w1{Z@Ho-MxzO8%GwX*R@>%ibXWe9kH zA?T^)^~IU()FnTat9hXIJ%)r^gMdiqOeYJw5<_3hkxHBt_=x=rX0f6OvGt0JrCL|$n}Tlrq&#)roh?&s$oi%d5 z$f+I(W(r%_rU4|eO)T~3QQN^Q#7SAS6je&%{>IU^tBl|}ZMe+WqY`hm$Xy~*AW#V? zRSgX>jY>Voc!T0D9@q)}Us)CAZ{9_~LCocOo$@O9c{F9WMe() z2sjSxNC#l#cKZ0WY$$}2r80dnyt?K)Z4DNfnnIEhlwrft`uzM&HgYn=xmnHW=ewL} zP5}<{9pdrS_63<|sx$WR8YUjkGZ)oHy;AA~m(b4;C0P!oSC-y{gUl(1VX#zvL}OY# zEcvEFHzQ?MGOgKU14l)DtJf>)yt1f6`Sqcb(qmX`yGR(uaV2GM$rmL3R54SlPfKOt<8RI6VP1nwsK8p72v9(3k;C&7Q31pXoGrd(8Ik8)4S< zq@ApZ9=UiFFAI&OzqDqpFn-ll6fei8aQ(LM!~V@yc(C>}ILF?bEoEY6X;TK(N|j0% zl5zyQza?KMr-+&yTH!bK&M{icM52o|p*DjgZS?>VHZI`&gf9L3tk+ut-&~VjRaeWk zYxUW#ZWA>~{xIMHX}ntmzZoJ+`v{bSP;{&%&0p4&3s2Fl&A(I0Wy{qN`+(XKy?MRK!ehI~vps}fpALhh zGw2n}DuMINkqKFujT9y_rdTqa;4G6~3@@2D=|gv4}o6GPl`6`a<5+G#>` z*idu``pvNm%0qA?@k)E^@{DlZOUm^YDzBef`hDjPJuWCh(L+f=aN9-F>=|M10Czdl zRRTt2XK1h|c96yXE|qWh*{@t_LDiyPNuWxfY} zU}Dqv)^U4s#shj(aOe7s`l%<&BkMRx`iRK3`3FGuf+P$6E1#U5|$eJ>xh)L{RWeE^Y{I-($^>EgPpO){2 zNnU@S**TYa--{Oi83+=(nf;*|*OP8>OPVx5xweaYMCY!y>OM6bJ-17*n>A!%Z1V=K zK00z~r>(QD>FXR?D9LcgGci?FeA(gW-ab8+nr9xR#U;ARD!PcHY3~3{?*>x5{a!se z52wj|*NWLH$LugZ#VUxdbJUie)0SY~R=M0_bl6Z=H-^f}wRomcXOG8)XwtowmYQMi zq{YR>^{=y`XF)N(m6)wYM-9yNivQk7R{b0ef){s1@zfHRulYnJr~7)k$I zk});Qb6SS0@f=(S1f1q%dl}}-SKbJZX{^4Y_F%Q=P z|8J3>9TCC3TaLGvExTebwPd;~*V&Ix7%n}pCV%eUvQ^vj+*TSLre=&9uy*Z zCb-CaX%_T(kzfDWo7g~@s5IV~|9drK%eWjc_u4T<3AbB3?!9N+ki54n*dInVJkF$N z=~WH26Ri2uW$vMM=;LK*(T0;o5zBqQn}2XCRp^@_jioo{t4{kdr$?Ho7xTA4<5HDb zMz=KfTSvHNaGa>mcGi$w&YNaws=aOkWIr97k)sP7y=2T^Hed*O7P* zKL{H}A4i{tj+{4J%GTp~z7o6T2F*2@%d(_p;rDsKz|m%RfD0mSA)p5wWu@g9o@)Qw zeO_$wn`gS~O_ps?r4!|o5wlHN>EHN%PlwbGFAhLgAj`al1O7_yNOmUw7JU5k1j&0M z)Y-CQVGY9VyNMiU3-NF`MP6cgquq><2*%j7>qd1(e z#|_t8XVgis(wTQ2*LqIl<&N=AsdIfzpUWoyYP`o|9vgMCZZlZHGY&sbg*iIbORy<^`BBF%)Mi5DKzmlBR{;#=A zgX?X#rIC#vi1Me>sPG;!%`@lwDL5C@FMFi9^veN!*iluLfrhtIQ9Wu4u7wUbc{7Rm z7d$?Ii9fwhQkJWz)y8U%{v121-Dnd(1aV>jOo^h`kY?j>_54x%Yhta%ip8?bPr+U} zO-Sm=7RRYH+LUKN80U@%BCv^?l}&@p%CjOBAEsQcoR8s`DySvw(9DQ^=H@V&&WMTq z5GDsPqqG=lPLjAp{alV)R?T-}0w7_n{qd41m1f6~YEuC<*EhkS#QV}(5d!wrpBM4G z3|8zQ{G!w9g?;gd?fY)=+^6(?Cbgn0#N(}W zE=9pT*Zr5ZVEZB6?oSC-)+iS5+{|2Yi!V>*I~9|i@=B+-mqblk?OwI_vP^0~5!g+H zbW~(xLV~Q4(oJFrnDC1yl~AGBwsqO;*v{zmX*pu1>7`Z9`G$Dg2=ioaS;ekk7?zvM z2eHup9jaJSB^W2KQrwv|1R!K4hLIsJ^60kbR8RSU*Cf%arB%i|-ONY6)aJ~! zFb&ip-(&C$@5)<*nFidBrT7qI>*` zaASNmuvjxD+8Gt+4s^=@<7jl;wJP%R*khQDzkSjHrxCpiyu@6O*Y5YC$G6)Ti7IzK zgW=y=_l@1tu!^sB#mtO~19jUf@yx@_vv+X0#B2Su;i7uO5DZ9(1*YRyXlVn-YB3WOt zj(@q)^+YjjM0s7&lvF^cZ2Fe%lqRakRcPB%9={!&?Ut3d$DY_z)67eDJpKjDlQK0~YBMR??# zbq&y7(~Z!MHPg}CLXjNAElz<5VeQ>NdsO;J^GuO%u!d;krWyv{rZHaFABS8Az1_Yg zR%JP7eQz6Rv5IxxUv|jsYXxSyT0PLT3Aexga4*=#dVZvy`Vw8GBiO>8n_eq^7GAbW zmJd-(4j;BpmJiA+>`c~gbL4I%09&ix;RWyVWw6>ksi9T&w=r5nv-7h?u4JnG2cepC z+M2r7iTsXD#I;Q#aro0xYk))FV!L8v(rPR8fnweVL5nkG7S!QE%H8DlZ9Vr%;CMm< zyz%`y+Q)K5CyzLHkegTbJ$bnSdn%#&Z-{u_;*Ngaquj=-ELd-{fpGJyRHhu|dOUa3 z4~30;#fVd}h}XsR+p60II`QXBWUR7Yx&3P3W$gTFq$JhpYC4N(5oRm$NS(BJ5lwBY z{Dt#wksx(kPs*W*`Jq7#Bie=(aMH|ihBxZCc+n>7s#tI4Mb-7dxbycSx`kUguySAl zm+UYoc(Q{dzt!U{zKU6DVn*v-J`}6O9<7RnC7&6sf<lkT*4<9*6`?kZ2Os0yfyrubIhYueeU0b{* z6xC8y;|(nPEvo$m^KQy!KDD_@;_h5tB*hR=$bEYR%?!E>V}!fT$uHO2g;vVdB zT}Jf1XJcCqCB&YUTU@kAj<#;{&IDziieR%SzYZ=*QV;sfvQ1LLQ$+QEY*{2aez5nr?$97}lhFxaNHy zk{2Z0hmCg?!y-=-d&%kAl zzs*r(uwI?y&B;9a!Rg^h84BdgQS>A7V+>lP$n(L_rth&{<~b?bQ%2xxlx()!AUSTU z(G(v?4oDT^Pu=0(DhfRpcfq2F=`JkZ&zPRSqKrZ;wK$2 z@7%zruVbRPtY!@XQpPJh`O%*32CvF%U7Nk`5ZUrm2Vyn99%rB5F9se73HscR&$L87 zI$rX6O+?3?P?suMkC4S9RnBEa!7Gx(IKc88Aqmd>=>kj0Y_lvjx}fY;?tR_)W(=@d zO09=NyihA+ADbCCX#_+>1v6H;^$-~qn_r4{O~hpQ&6j#fkKTEcDX_zO1CJopgREN07wSTx z*ld=rt+6KI)|t|*rraQs%sPl>7gpSb6>zew`F3HKX~VU3PcREAwbG2WZR3>WAEC#37{j%pv$S)fCi9z zf;Jt!BW2tj2bM)+(Au^xxgDYB@qoAh6C7MGw~{p**fJZg%Oi~~xfk`h$MdgQ(x6w5 zF(w@*8R4zC183e1Oxaaeq!ZCtGt(QS%~f|zTTvs62&{yyq zu35r1v@N+|l|KvW1~1Cpl4xA_+{J;qe{}%8Yr5PLdq^)b<1tcGq*58i+kX>xT{Nw+ z5P)@HcWtcTUwdurumiIr+q_^$hVoN|>_fu?xb|d!ecW`j zcs5PKQypbH({149!HFTXO~$QB#;-!}#%3_#5c)$t~&;=t5h0Abv^^9XZ&oy{`p2Xs4Us?loU3*O5wvw|j z{efWMB8=h$u?h8)ZF*^U{PQ@VJ`8ar^G_9Zq%@d_S)Vp@_I6iqr*}6aP};a|pXqv+ z#une*XU+ZN)DMleW4p^{dX)S;HF0!e`%y^6=*qd+H3@P!wv(O{RX_4=%Rx-0|2XF0 zEBLz%b~X+iz12YXZ8xJm?Mjc))nt5l+CZOU#AS(KcDZymIE30hJw4tc?dh zNHd5Hsur#pWh6~;MPg~>1*=v zHzrI0Ho+mIugl%lz%X&g5D^!EFK$seX74uTIfehWXViAcYRlxxz5q|1)bHGVFjE&C z31m10TZ$q&|G0-Lc&S-x$OB>oqqJP%hXdG%&a35O?L1cInqRf^5%~7qEG|{7>N=1erS`bt=BZwTw@j7Mvff>xbG!2*-aNk+o8 z)R3x*J|EEU3DVinv%GHHJzQ_y}h9FbUWBEv&D$U82 zIZc6*`d0gU4Jk7Bs#j!IEEHFYPI_%&Y~QV$lLDm0`$>w3C+U0Tk)M*Aq9&_1_0IS# z3dDe30qE{ea|ts(m!Fg_S~u5)mg^psq$~3~L_AD8QG|O8ElJfVp{N0k0G|j48s$Q)nEY? z_Ebf&3?hC%*+G}klP0|FEi@On;9<=IMs1|gbp*X2s$W~Kuv>gh+doZX|lwi2rCaIw9XVNUorlB@0<&1Qn=`o^Y8p?V& z!5oHp5ts}Zn#eE5aBGryXi%dLs%L_+6L=67`5uvw;T{%izW}y`L9!5Vd@~jj*U<8& znWLf(Cul(^%&MG%%(IMO^LyDc(v)3nyPQNu&FDhO*{yI&NxLUZIz@C~P9we#Alsz)#@E?HY*Z*5S zKZ5AOHvs_Y-?~HfQ(@b5V)Pr5D;BKP2#s=5qP58nFyi)enkj%1)&Y;NJ*nDj$nc^x*>M^klWm<@&zgwL()ut z?>1(%ey%$I`>@FvH=aqJhVYZ24OOybhAOhSc(}fX#nh04qT9&#AJjq|ILx&@w%SD; ze@>ETenn!+O-`J=?(5JXC%mq?-^Fj_@zH_k#oE{}gU6@|OQZVHP@(5#n^a3@5@O!$ z`?xRRH#~mVu61tT!s3Iop;N%XiW+CIAYsHw@~O_56D*ML4e}~;Va-7!gPz?p6H^aw zEPrHkd89>9E4HzSA>q@gQOHnAB`ay9bF;lnePWB8@6+No!Rx1*$>#h{v)$jRat3=_ zwa)oibuG!)XM+*sd@<+YcW9;kIje4QYD9JvkfSgW zX11gZL4`Y0^Y$qpp{kon7$q@4f3Jc=3VLv?;LL?B#Fk}z14Al&#BP4Jnu6v4 z+0L5ONSEKESV4AebN{u?!W*1a^^}Z#LAo%9Fh4&#n1+RBaasF&=JNunX%6f-HqEZ2 z-FP|$lwg6FnyF^(cVty&gE(e}7OG!;={0EJ+H9}BaQDV`e*~M}5TK@K0H}pctl{N( zl;3Am#L>y235vsrP~~VWjatJrt_bU<4Q*P{cS*RN2+$b|d?_36C<4Y*%I)O~d>Id@ zm{{0gmi>qPT}Lw|e#j!k6m5)FvzA72V)ToG=Bf0XC1jys0Q|ypJA0=bd8OJW!n576 zme-u?Px8(f{M`a_DqP3tHDqe=RDKxVQ^zwJ!Gee6Ya8vem3ZC^Y(|CP8|)wx^R+RgZOYEoka@ zsUYo3<^5A;x35=YEgb1~NlG)vS2{RlUxd@r6GM0cpEAJ}_RlTp_h&#`E3~bv(~2Tp zY%h0+PqV5KIGLn*iZ` z5JpuWCKK;ZY^RiHC}_z~fHJ$riS3s^ttO@0-a$H7&w?e79V0P?7BsZ7%ZGb^&t5(C zXra7vsKZ^N?=pL)sWVtE%5ePeS@s}9=s zZP8B&&%FxdyLu%}JRa2^EOrU4{_2J7z%StN*mAUT$Kp%bfyPPO2@1tnA*UzKdaWwu zp+wsWv*X^^&%Pxasz0eO3G=^qaE&Q{wWuW6ZQA;&ddOA6ch3|*nt?R>-mE2@Qf4x=^`rp{*)f(xaj3fpvBtVd3cY-pwm zF(-$CsX44RT(INDPa3-R(D)_oz)aSvO4~|GvjH2~fu`E%a{W;k@jf5GW-O4lD4*^GQB!uwBibS zio1(Sc`_vRS`O7FCi4N42wPlH6H}+&c8LCb9d^Qx=mlVvnmv2v`R3&aOf%2IOKPsq z*VyWnoCg#{LYlX#tc1wkzZWVjIS9?gHKBr7_5e-0->yr&M_;Z&P6gBOn)wb!>(&1+ zf$%GK|7{$14s)d0(l{~vNA0D)nIK*O-Jsm6A>k4Y3-#LbA=Go#?}}0 znP`kzA*`G&oH7jMqe<}Ia3GU;)eZK7W4yY^vzNg--*pSc#xF$!9db@A9J}(j!aXBW0#?(3zg8sRBwF}3i6CzsBp)HszwsD56i^S_m8pQ z9fKV5td!MTC67GX>x!B^jpJsVl;d0>}R$Op^ikG@H$EKaM!2`c|5_n@rdI{>#X9IhVR?IZbREw{0VRZpz-jY~`~ z_nrN8A9gc){kxVcfMmRFVlJX+TTjhv&#-V{#P~wUc;sD;*N(?}v6G(RqVi9R&@}0i zYjE8y^@)4c7M}HAopn2hv;3>kpAHRy@uHQQ!&-N6l$y6VG3_)y{f`9`4Kil$V>Cc% z*4@4=FPHoU>eLL$Jq}18tPR9hjlX_fm6n6eD!BN!8PK4QQ0BXDmAJh25xBCqj;s#@ z!>M)V6I$%XX{^SJfAtr-N^R>bHOD+ii%W1+L;Y{pn@oa#bvpf1r_b6U&NM!Cdii;B zV&bn(Pi$^{>U2(%Z_Zzx{@Y7HPFMe5sI~?Z{cFrom7J|oQM>;yir(Y+FHkgQ)yry% zt1|N)8-v4N!#+yQ(GR-#BUcRcm7Z|;RmYWgSE!217~`YYXo>{1@`0ViTRu}U%=BNkF<(q+n_Zm%iOm^zBW;9 zrdP7&pG}@PjMG+_A4Mj6>sY$?HAvTU)v~`3FS3te`m8_APBJ%=M1J!0e)7Y=^K_=+ zo9LYoe2Mj9rU@G#U&u2GhT0Ez=pej5xO88q`PccQTo)T=>P?-J$6-vFX)j6`Qo8B&y#vS-G zoPjG4u!r2s*s?o4?QB8yt<~z zQZ`&}(wo*!Wi#*5P3q!nN11DT7a=b1esXj^X*y-&*t#HQ-P}j|Rb&~9XuDQKPf~5X zoN*a8@B-=VPWw;E)qx~=_ty1S=Xt8U&S+n5Qc7QVeq~o5MMeJ>Lupxk2gf>o9YV^( ziVYpu_$aE(h|t&Q-E;j6Qpk?=ZW5KCLEAjm`U3roH_%!xM49+Oy>`zuLTHnv`I>h2 zsN8srR?Sd*8Sut)favD)JN62$28VHB_=4EkJ>fh#)-s7%{B--mPK?C;P{{VcycJ+} z986&)@mO2pa8G2so>;ktyfM@?I_=%GEv7F5(2eh6Eue6gQWcdAWBEBa5IRO;=xP#S z--+b;EARJRYb}#xsmmkX+&;2lV6~Ap@rJlDgmb_c`pFE)#TuXmkc`6)8vOw;8l^WD_zm|+?B{Rxb zavg`N+1EUFybN}-C{XU86>%@c{iXf^$%u2n%@?1zZtGFMexcJBFdb*2-)PZ9g~j$XV)PPgMB`bg(^eGm~H zLLF%nGWw^i!7p8gT)XaPW{ycE%Ng}7w~hsrb~q~KPDsqDh61Q-p3D1ib(l1oIHI4P zprh-0StHuG!&{-0KLVcbVa_6yru}5^iU;~86Otj-$+o zHuJFMx#_Q{i0|212zPvPu3g-j&YABd>9Uf_YtPC{VdLWu&qP`@05}QV zhH?=wCeb*8eKUy`G=FwzHpAFF9d)ts*eqp=Ux(nsk6ifF;c5e{eRES+U*|M(2CL1B|j{%dZuQLJ7e~K7M<7;b=o~{1_Qvd#t-%k-H z^-h|MZ_Vf2$Ioqu9`4vL;3YMWng*W;G^~M8Pl}16O>HuJ+;6n%fh?2rj#+C4~ z;Lc)#r-40}qqiu0tF*Z|wA{{GKUt0M(=R@RQuFSSaLRL?Q&eTZj9gO3iKH=meQCKe z)@yHutfHiL5-tNOZ>t_^YWFus^)-8sa{>X@=Wz*(oH?;-IFB%|Ks?os_2&HA&T(;j zn+tZeB}&6(hnohkoH*#LSY7^8xSOTr7x4N9``V?Wc*{bdaRa~yHaTU~$l{dXbTy+U!{YcQ z#W2|ISUGUbHY!>a5Y72h7ONmxq+yJAHgBo_FB;bi_-@;YvmsXWT*Up#ij`d_!5<|q zVW&vE`Ti^GXZ<;8eiYCH;KXd}{4X>f(emE6G(2VR>~T($1T!wWw8uqKcGqR;S-@9{ z?$aD;8Y>BAwq7fEi#Up8HyP{y{OP+_?IzptY@q{j)q2|2E)&xV;p9==cy>GM@|ek{ z(aqfPgH@Uoo+M`nQUm;@i~Ef&TjK|1*LhmZ{3Hv&t(&-ou>Qu+yI1i`s#` zNe=AJ*1FI?W~{ouOudFajJCVW`FzP6`J#`eFJl}~iyKeAnx9#Ci|I)A=*~mYoxW?d zK$*}jS3dc;2QMA?l`NwK2zuf21sG(LA%j91@@g>bfk<1@%620<0z-&rUHq;cXuenR z1D>rI^S*S>P^sV}aJ=x-?(jI{jPVPU3vw6Dky|;mH)1MBh%BFRbPGZgqV*@Y#VgGa zvgX_ciuD@}XQ?&V-p?}jULNN8N|e2R3B?v&V$5KMXLkDU!tZB_#%h6S^7)ddE35GN z9;$nMnIy~naqT%UD>J8o!;5|&!|?R_-opwDd{$Ya9qUPR`B3l+ z^#9m6`kcJD-qw8m?9I>qT!w#r7tK=n28d$jkl#dlNH2JR0~Ez$^BhH~p*JsI&KS9P z*y{IGP4`D4IY8k83>b6_gDvc%(sUd)UhI%Jj(mzzdBF#JwY%2Zk9rv^@o;X=O`c#X zi+YoYi|>z$?QLi8j2mTbFOJ&VQeh!p58vt8*LRT?s@C%)9^J3Xply1#aeiccAa8>= zyOS?n@Mf~u`+tN0!9yZ+sy6l02y<(i77MlAaaZ8BU+g))o6S`F`{S*@;lF!pt#LHt z)@Bu1%nrihI7HjrMib&O2c7f2a`v3Q>n{-vxqHejkgL4L>%Sev!^r@eUAldYRW8mI~QPjvImpU8cO;Lx^}>#f$EO?oMqSA{IGuYJ}v1;Si|yFY5~e5xZTJ zqImcU-J>8KI608n4>NdLT^@1hvLVO^ACj=2Kxn?KJXz>hN77m9toHBn->3VqO(n0@)> zb(xIV!}31Y$H;e{hvCDw>a5y5E^cjS_iTjAM@@NCz3Ri@dv?1ukG zw57RFO^QB6TRq|*(YDO!D64bc6ne1o85l~HrnP2!@KK(8Pt&GZ545J=PBT^E?^+jr zIYz7*vdL0yG-c6w{DyFq>Ds#PkdfU*|NDYmqV1O{yWEQ3#DcZ&Js(z_qZPdSQ+l`; zzC|E>|Mn~$+(S9+s9{5T>eJ2KCnF4~|W*fviMb z)i)UVNeV{@<dH9Y%FLTCFI1iLWKLI1oK<&U~U?E!Ic z@r4?1-|8i!Rdmz(GRl2uB;qkqf|rrmO=ZYr>~S{0&D62?S11-mTG&QT8Aps}DAL9Q zq@5y+TMv^V*+&G9y=v>zXwJzb!?6sl;HAt}^DI7@y7n(q%O!p?wOrIEQ_HcTudp`A zvHfN0guhIk@X6Gec@}64BXuq3V+?Rv^ZPi0M~cgO9c+U3Nnn;!~pjUNgJ{^3R8LBGm{TJ(vL1Hw$F{i8C=Hu|G&=5;a1g;D?*`4HNzc-n=6 zHEY73nJj*0qVO{DIeXr7PxHS$UH*Sj;d9pfbT{-Lf^Wjz33||p$ul(F-)BOXf6#$W zRtC5-R1YGq4z}YVcvVHYI{I7Ee9PEfP3Z_N0D7BUUaCLf{rb?}=@b~=0Q+Aw{a-%y z2hBR5!QxInAe>Fw&uxuk!3S5KtV-XZZ4!fAWqnO4#RzDVr(* z58qrf7rGpv0FAi^NN$M6wK_?8PTs2i8L3S9q?N;Qhf72H=Y@n*f~0C) zPwer||H0aO2SpWZd!qyu5RfE6$)W_wAUO;{f|5}rgG!W~GYmOM&XPq$P%=o)amWJ* z40(tSdB_73ALrhC&Ux?q#gUcJ`t?$wS+#H?lGm473kQffAL z#AzZRaRwLc%+YV~K`$JYx zcwRU}Bx|}55?!P(*vBAoos7r$r;F0l83APV^hiGYg1Z4eIp@Aat>PL)iYlzI;8tdt zi;y&L{>xLI;E3+nG1(@AYvFb~hNf+dH0;BW+vZ2uZ?V9FYf%Jua%Ke3@s!<}%XzeL zaTr%3Qgkjb9AY}p6RZZEZ2OozZKSfISp$P$7E!&qZhcw%nIC2&TEC+tU}w`33}6II z)&EjxNdX$K$w&h@FU)L3G-}v?>Qs>Hy6FC|4*4Iw(p*c1>i_qWDznWRlbz%s@x%N! zSq=W1e;Xl#xc|ns{Ew?{jnMqYr-=6tqxFc~sfgSu>D?*+@le+hM%w&?9ru|87N(r1 zgF4W1ntYS?^ws}yu}-@)!Mfl&FsZRdUqpAC4#L$O;>iT^%>4lZA2MM05VM`$bYu0h z79b%qU{{P6yxuA^xZ#6O)dWhe5jZE&jZHkZY&r;hCv{M?6HpM08d~gbv-pD<^X!6K z;vg{pkR<@*5EpE-9B>SQFE?S3;|N$crn?5o0zp(D6sqTZQTZx!Ma&S#f3b!{+~&Rc zAC_wc!2O%b7P+@SZ*%`V`1dddEb{vwQuuFQyA^LiVk#34Srl_DjXT?efjCJ@qRp2~ z!xnq{@{o4BR|;S-)~Lq8!LI!iB{lI>L}7Mz?|UHzvU?H#ysZP!$jgHr7`O-+v?-1F z1>5v2t;DmrM)czJ_HI67MT2ly%+8-Oo&Ts73A#Dkfr16Pf>Bp8@LCC*I~OQ5)mhZ< z!puUQ%WeYkX>9eC<)t3dC-X--3a{G??<4%jxv1+@cjzD=g2UtbG!6EC8 zBh&DlF9LA(#I9Uq5jO>Zmba1fUbazi=REjb%4B11xG>#36?e zLA8_V6)qF!fuK`4KjPpCre>aUDvt}!C4UF2$bVO(AO5-b_W1fM=~DeDGvqDnFFXFC z(_jb|IZj)N2EMbM$L#?NI>N@W`>y40-uWIf1-uKM7TAmsoRTjO36p*2;nSudKgte3 z&>9qAZc@Nw&__79Fn!A)c2^e3ae2I5ip|6XGjH}ZEy!V2P1$ZChD29h=q<%7ofm88 z2%Izv@E)bMTG#-sXJMUaO;=u1vqAo=GG@ni_%^xql_4+&K7r&8Ud1HuiyynMVxD$! zGynpo#IyF4{`{QyL_Z9_0s+o6(L0YOB&ylBL=SZ=^@690@VzhL`>v0mOt~yMd!|Ua z!cqz^$I{_=)U{R*E_Ddb&J`?3csUef-8SVRax-EHQbxw$;PvHb>Fl2udu`1BY$no@ zi0oD1#F=ZaTuUUcB>(w~;KAj>KC7L9QX{andsyH{1ML1HZPC2@m*l>mlhwN|o6d0d zilL?oyXTX?&R7l10-DjLH^0>scjo12EXsI2yid`AjR%_VcIMDn5|}|LfCu+ZzG^1@ zJbID`$#NIwml73}PiVYXITJQS+iu7533#!UZ#L-vX~n|ouL1JUnd`=%=W3T7;4eaOMH(=h*R=R?#k%T6$e{mS^$Ii1?2!Lpcv5F3rX<0h;zF!&wXr+t zQQ_5FqOz-Q+I`pc#~HpgL2qp7t5GYxe~L1IyhZbSJPpm0GLPtgAC9Zy@6a{;mXY=& zM;$DTfDoHJg0VVpCQ1G44-Am$|KMI^ZPJEtl;@p|D3@<_1}xQ1%`PWN4*nWjZSk+Z zd4HfQ_9j2vo6Yfy0pBkT8qZ~BER1C#RV>tn#rSVEAL1VDqmgeQ8Sw5VYh}0ZJm)I% zG6(fYv|1065q7Ozd7@|I17RgeHYX~t8ES63sMTHf4m{4j7+3ru zTDW)d3V1FV4YF@I^F1529-r}s_>K)3^3fYbUO{`;yxE_`uoWvVxX{9lipe6oHj@eC zAlXY{ZU4c_AQcI$Bl16yAZh`Z)$_OjLC3rmi2Sx}E*K}5IGGx(T{N-N&JZ>kbyJA{ z2ra+ky<_NKWnDR1SzR+@9l-R@&hvbC#SCC5*`rpHHU?p3#RqQ^7`LNX#^$BRjU z9F_~SuO8nsyIgh{b=FbvIeCM_(al&4FOVenf! zPCtuV$3C4;^#~Ky1iGQE?Vqk{d2m*7(a5{?nN+rS6vx3EEVyOhE2%W8Z*K`6g>O#> zwTp_fQ#faNm`NB&B{=UxxdR8M3)~8Fx_oR_b_jf@_DoTgNWYqc2WsW;#&KkK64V?A ztpnJ}T=KzOpfjC>ORm0>ZRXVtGmuPd4H)_nh`(e@^ZD}}!D`-ff{dL*xv1Y6pda&dwlSFw_TQn)$U{^2Y_RbQ0*2 zAWc-#4OWqxA`f^r9|d*4;Ze3aoioO7R2iH;`tF|dyL!}LUk$@w%-*$RqPIhQI9HduukEgyCgTu1mis_Z*%x zQW5l}TkYgEvrdch=nkQw`ArtBUy`suLk_(0D}|J$O3_r^&rR}9%sY%b2#bFS9Npsa znc;?&Z+#t24F(@}o2u>HIlW=_Ezd7H2DK3|FJEj0@^41CUUV|8ykWM6WLl0D!Y3gS zqu6Vaompm?Pj5Mke4j%neUUNEIqA~(X79C?fk1YUs;2ZeSe@c6BG2)|HHYNY{WkbB zlSI=H%dr~kz4_|q@2B;=1^M%*7p>#I=8HIq|5EaG`_}^obMT5I%i__i1n-nCUYjya z^9pMC3e7#V_5Tw6(kyXOv0pj^2*NA;C7&Mt= zkzzik*Qz~LAncx`)=HdM>MP&h8n~0WK`N{I>+<|OakBRvw#cJiq|;?_&B+zFkho9= z3aWE%a?NWZ;M#QmcvyAx?N9vJu}8ss8{px-jcpx{HhEY4z7SElQ$Sjgr{bDreMbdD z?J>oSpG4jKVROmzV}szt<0}2?XXlT2J6pPyt7$6H-OH9RlIEqNkXL3Hy(>saog)x^ z&;KWw!?GFY;7Szo(%)c*qNm#87qalZ7_OwyEuoEQhYsb~dK}~02$25HG&fd_8Bqp3 zXly<9T^u0-R-=o?4&(uUGEu3zr3=Dd4<#p7#3 z9>RShy=%O|TwWeGW<4Fuz}tC^2Jbu$((H)3++4pDy27;!qp|;RQIDgXFwLKBLYptD zZ<6e!qpBfor%j&=3f~(-5PYIzI$MB>&QyH!?5?|JQYhW9YshiPglTPwqYjQ3Wq9-H zP|b=qWQb>rn0bI-w(x=Pj}8G$vZ(uba3;l8A&|@Gm-mV9(|2`gl`fCdr+qfgxa&RY z+xl=V)nZ9-k)NHhZ)6Nx;zx0g36@}uX>i7Qm86m&(Q0pj{mrflc+p7u9mTR$!vMImnl`5F<{fg~e{+bIsNL$;h$$>*CB0$sosd)_ zV#+*oukJs_nWIYR<&yVAh%TIxmHya>zYDgxLbS#fR#lwoW4N0a_WH**)=1uAp*Eve zCU2RF4Q$Z?Sv zbimTPp$yNvCw*;qysqFaD&4-|8>lI$6Cx9Vh^oWAcLMy=YW{PO`$s%+g4m!6oL)p- zr1pl;;3}^=8$dJAPgL(+HLv_5<-J{h_Cr6JxyK!9oCgKth~aoM6ex+pkvBfxQWI*3 zqtl;&R&s&YayV0iLu@hxHk3@c@2fu6<-0JJEAcdU!qz0i~a|P9MxZge=d*F zK`xtBq$>|~mWy>{WO0=^&jPf6cHVLEY;Yd_QeKy1TyO|7;ka%ts8K5|8qOv8Nck;2 zwz{~|mABl~un-wOewEO99c_@a{Syw?%elmOa9trfkIi7fDlS->SN>b$7O?Nd=kWl6 zm*=H&iW!%xY1CuT0w`dl}*xpL*Z4fXg zOp4n(Qa`G}nj>=4VR4vCvnNM}W8-V)JLi?7ShS8zmk5_a*Ws2zh?g4UBwD(y0{sgX zxU=dVHj3Ssz;_mor`^rbGl%LL7O=j9F^ZtxR445On1f3Lie@}n3oxl8%Mj72L31A% zUFz|#l~q6AnZk=z>7{J>CI8R2S}#7Oh<)nt4d7*PgNJv&@!x+CYC`_o*!6!{`JW-~ zvLu=6oBz*mOm&x(Jm2$UQuPtz8s=p`(Zad?nD4~Y-|$k9H=Yd9AO3auz3Kwuu*+~z zGAoX`oy#C8FneS1=47Mawfi6O;xEKfmmS7X>K9o*Dy##%d3BP7ZEbH#nsem>R;wA3 z2i~TbS(u-DjXlOW0g)Gb5U4A(3xht}83Q7}UC}qzobfytoZMl6rD|i$s+YiZORhKR zJ_V+qOf2W>K7e0O7GMRXZ-7|z4MhA>2gl!^Yqo_M+hfxc^6z7AMAcZ@Hg-+i{Ph0Gxt+3Yav%A=HAoeort< z#te7yEejq&mrAqGnprpXmK8>!A>yo_0G{BuNxoJ#MyIYrSpEg+f}If?$Dz+%m>%pm zMf#Op^X=>>La8u^?(Fz*F~?#Q>U~kZ6;_QS^tSI@?{Wqt1qYfZObLVx2T%D}B5@M(iqS3GGaEwCTmZ)a!sXCJ*jPqO;}6bW1D zx!_l_I5>B-v;&NveXUUitS?$GhF9nABvc}oyv z&$^I$`idOng;@!qhXkgc!H_N%Wx-)haFf5+6m9-53lFl-!H3P~V!N?>IGE80uoP$L zb8=Byro+t0bMypNXC*YrH0EQxp1v?hN``}(oWX-a)>|!~34-tPO)p5D77Z9b17GcW-!JO@;k3*v-j0O&{65Z;&54Fk_SeLacR5O!;{=`lSTUNu z$LK6w-AuUzcS2xixserc(p0rk=s{B5y6k%Tl90HJCUy@UGju8QVh=jma&IJ%VD$1rcKmhv_-Hs_h|Dm59d@@~g8#(|l z$Xi#1(GTa(w|h_3>>#+KK;D^T!sav}gvANvD~pej3szh0JX}&8Do?RM@~~bOgf$%o zykd6SR_o40lh$l$9O6~Z=T8Ps1TKz1ZHD2bs9d#7V5+dl9%#9$2JBu_mh;Km*_J*# zUA|kOdk(uATvCd97BQ9b2i97Z>pcdbws#|Z@l|*W2z~cwsb?k9f znahN+sSMLmnd@I^d>)_zMGOCXNE!cvL_C^1aFVeOT9fx?=BR8H*{)F2*SG_{EYjG9 zOR?@AqvyYNkF=x%vgbfd|fBwN}oD{mSy&?%#25u)h;E)2}H( z#Ip4O7`3d+x8&&>7j|5qyc`0yDtp!;4g$*DY=J5+Jkf|(!_1X zJxZa|nC^3fk8eVJZpyGF7Oe;aG93vW?!6!x-kUezJ+%w;iy**)?Gfv5+!UheIRNC5 zl#MV90gHfL2eq+Ti$$Zi*5D0R3I_?XPWn&*`vN;Vo{w1>fjU1_j~Bl>bnY?2nc`Mo zW1}!BA(Ng0ThvR0{`u3m6z7N+i%mK!M{wF8B^F$jHM;N&aV-eDUL^X0?foc*T^{Kk z_Q$SX!wvq`<^Rhj{-JS*vrOOVXxWkHlK0hg}pk}sN)V;l;F?zB_3H8u0!hLD< z6ajA5aYIYbU~NgS4-T8@+9WfQ61e0y(~J~0vpOD3>Q$ojFpoc$tS`A=Bo&{z@HioXun8ZllgP(3y-X*3k6AK zSJDKGcm^1DXQ0%p^Un{@-^G0J6UE_u4M(z7K}z~=ebUN*JFs>C^Ld{C#+ki!V5fzt z@YwJO>yQ!{CSJN>%DbOTlMT@Qa>utP7yK_u%LC&$sh6bJQ@85}{$EQZfQNr||K~Ti5N8z0 z{{v#7URdO3MfFnlV(RDkT&0m$O5x!JMVjw=mNV9lmfbD-J>S3!*#7SCuEqQU@>$t5 zS$<|E<^V1UE>c8Jh1@Fkf2B&Lc6`k-Rr5;t~@Q5)%1xfO@F>b@b ze+Z)bKBlCfz|DN{t|J~aDy0AXBlCLLeMKj zZuKmxD<}1sEJ`xHG_jSy?~L?Gm+#S(ea)47b(8`6bQY=05jWCJ*6rlRn?_L$JAMhUFuGOq_plHgXvv3^er%3e-Gn%5{O z3%}7Az5fJZVLL28n5I;48c#-fxYRm74J#kAfJjY7!UL4lz=dD+-LBVX=c zRockhmo3L!(|!1Zmgj5S{8pIfFa&pu5mG8Lb>qI=eA>;7*A@f%n!0>7?uL0m<}&tZ z%>8|a(NOvg3DO7Lc(u#0DByRg?vj8?boD5D-4zNJt32&p$EmL~dH;+%-9L!QPA0Wo zFQX$nf95L9kH{o`&jz@+n*2M6a9RYb)ZWKc?+6%d^S! zH4_&Sf0f@*RRQRmxyceaeOCn}lsQ6_0*S-TYyRAaY-StG8WPl#N#x83105Vg!fi6F z)Y`i}=*B=dtW#Sr7X%oo8m@xsw5SPDLOY=;gj=Yi-R%ycNwa%P zXMVtx^J*WkJ5<}`8>u|Uogwmw$b@wzm28rnQl8B4HctNq#bB=;fD&q-)cDYuyU*~I z+eX+(-C5`Fi)Nm;a_SDbo;GrzBpD=P%Q2AhpD(>&e)li*@<+ z_ub}`jm$s=k4xPz@{~i4eZC2fkj}1RQjQi1Mhi>1|2AE>m=oWcUpn7<&&Ho?%}KrST(0TaK+mYHahhzmMOwr{ z^LtD2f^z6^kUewD_`zM#g<|>8ND;P2x^0w5cN|25h!&jGK#G}rfacTo>~d&V&5=`T z{EU82T7DGPkf~gDc6H}dl0g~|zW!cHvV!Iy^xjN$WIQg8nV=a|=KN7sgho|8UEjU7 zo~gf8wUcFM>l$Ii)b=THJLxu;taGKBB4(Ac`C=wmy6O4jt}z;KvH{z>3)0LAqZRt< zIRb=di}262;(ezbb^YQ=4k_ywGZ^H`C{Uwdr);M6&JrKuNst2w*H|`n4!Mmz z$QP|`K=;8Ts`p0e$#-%{W{}gRxGays1@$aS*0J6Xhak{$@ouR+!w@ANUvXwjjVLaj z@#UcjaeS-F>F7{3{*1f($>D;88)F!tC1N;XO{4N&3S#itgW^ zqIiRwE}_Kxjt@D}EqfMnkwlT05q(&bC4KZ|P6Ll~NhC=m|; zd8EplVj^C-ca&d0(S_1xt0uCc9(>N~>6zJctO*{M9j+3jXZ$JpzCLOwjlFn`o1C3b z<_b-PC*(wN2a~S5lGGnbo9|YZEsK|_+B^ByMRzD9%mfStinr-n<^ag>o5)oT7-v=) zrtBNOT|rw*BKm#4{ne--6GSQPJ<*!M*4xYUKu%AQ^sqZqb;YjT2RwHA1kP;zPbh$5jhSSQkUVMLWe9A~agJrw6by-MO@0*7$Bs<~p>P6QO7QCSh3Roc zx$?qmSVx_4&KOxxz@3W|Y1=qPj=oBut9`48kwe%usN+?T@chCjQ5r?=pqnxuN?YMU zLYmTfa&3*!*j&w?iHgTd0!0UZ4gfPAi{}0AN^ibeaJbT)VFjE*pWO){*xU?@C$AYm z7|(2le2U%9h|sOZi*=`DIq>F`;Eue@bYmc+L{OaO#1^1>;0H;%*AVtCUMmkVc1Fq< zq-#s|?sER?m1B4+SDtp;#mDgs!Q!VX+L^7t?yD0jLO!jb^ho8xz4=)M-~QE8d?}S) zQa)ohcW8KYvi{821YT_xTD0_Gw)Fd!Sc*=SgGV{V*!1boYwssgTk}c_0d5iFmGigT zO{<*bNFykdS!hREj1PA~{zbGaU1DB@n5Z8!RHP7Rm58u_LSFPQX1Eq(U01w(xn{Q` zNG{&PgX~2j;mzTG8Tz519fl%TrN@IB+Y_Q2&G5rT32OSa+RV6)Bn_6dK_!@pfASuDBZx<1vCT>n9g;}DU^Jyv!>xZ;jy6&G6Dk2R_ zDs)-BiaS5zq(Uxv4=RXxD(^m2o~v`tKV_9vXNcIcu|0*i4tbHKP0H%NHo;va)ha|J z!&7dCS8%(`#qD%23N(VMlR4f$pbw`1P~=FZuf2);%9S1R%7DGk@yrlEG)yxg&jfP$ z^2;4GawCx$_lC`9} z^}?+ATxsWSaGIjGIzqqr`&X)alLUBkb_a+r$B(sGk4ejAC1S{Q;+v(1k48-q&f?xj zK37SrAQ{o5zm0Ok=wn~zy)xef7nWUA4elD5oPFo}?HN=W*h#H#-}CMLelW)D@zs2+=D2-&{D?fYMtTx_4$`V zt@c=-n6cXkBTa@yt_^;v_3l|I%@rbV^jEA0x(u&pyYEGTIs-Ygq{sH+>^+Uc#LyAH zwj)KR3+Yi2@+B&p9)X{g_>k2iA#GW^f`jdd>m07wAEU<;;w5`A&wBgS#)aqSo1KG? zi!B_gU5;it|GdEnktqk@$AgYEjiN;{`NIYgSCLvW7I!zX7PKKoR<)f;q4*#0AMg4Q zs;S@gezE~07yf+is14D;ybTBN#V*1;BIJ%&lA?`*#g&yP4aJw+@lsTw^yOy9qFK&? zFWAkca2xGakd@ajT=pI=(1^YM;~D82zG6Z4>tzwbzMLXF@ggDMD!jd^1d5TwWv(;n z9%Ptj2NcksoVN)#G5VEmhS1}o8(&LuSam%M19#C>H(RL&TAyb#u0jc!+d5sD5wQxs zgF3jL);?G!^ygpj}V8)F<$}(({qpOmYe1JP<6aJjLR&ux4 zK4~3MaOi(e2=N9lMU#El|G|VFp)SREA>|Q=zQUh6&KETwilitBxI{+q3kTxYn_kgY zs(>VoMy_9Z%njUsQBITf+`ka>krfP#AM5z@Sdb%*+^=?ZdPQbPME_QvzvA&PHy_P! z=tzK%zS+am=e`&uom&u>Io`P-Z_h2=D&yYn`pQ=tTO`5|gNE>cm5C72+>0qP*-Uz( z@}1Zh8$8Hou{X0H#gFNgB=Iq3UmvnI;JGzk=8haz*vRg;9lhCWrA!H5I9%fW1C3zX|>jIwdj;@3}9EKai6K`@|s;%@p{Vp;BO?y0ze1yMON{Pi$Syn!- z6w=sZxa?*4Ow}}(Be5i3i1*g5SS%*KW%2iSr^lkDZ_rN`3idURJ7bMf_M>106{Z_v z&R50P56IfO_3-4Lcn4pl4!ME9Joiidcr_Q-cD$9n#qmjtx8X*i-Gn`b1ltU*4slqY zG0s@6q-97g{yp=Q1t9i0^Q-ecuYK=WbGDdgNeW4b)hOu)FYG0kBU-)`w|jXX(u?-U zAn#A6>U~J;3m@K#glJM$)-+Tu6VM;TH2v%pH%Xc9kqmmzI3&LMgkUGZ2wxa#8A=gwmy448 zSe5@LqJ26U1*kl${1tNm7%4yLP8){Z@taeaV z8humm&-hm|{>RDZ09HatFVlMwrhDwEq{!07r+loF)tXh!Hd#-S?*{zXdG=~8T5;cT zWt^T$f7^*&)EgdxiPkzyUozchaPhUVIl*7XH?(B4P%D0#%cW~TS!c(6BbwUGu zifz{KLL7DaA#X>V+_{qt)Co@}8ts!Q$l6ykBq`hY6ufF1uZH{Q!Znuz-H3lb%0#oq z2`)Sz(|nTn(Av_Uj1>+na^!n)OsY1Xg_-{NQl76DEa2)${RHz;COSwW%T$1tsqy8! z@)5maei79+N8BgS-#sTBx+V@>RQzhba*FPZc=LRX^<}qvr#bH$gN+JF=2@0y1wa4S zoQNN!OSM)%nerNTVWAe+-KClr)L-1|ghQwfD3w#7%IUa_>q6ypsp2GJJMBcO?Q;wc z^*H@fefW-~5}l*{KCI$(ZxV;ecmDUtcVVt&Ia*^M*rYrdsOX>K(HzgUJtQ>Y@3232 zv_E6L&k9gZf7(ofvdB918c0TTOIdTLO48}BMwu@)-R9WwHKqQB@9V^{2bO6}u+E%y z$%aH?T^@kf}fZu@=ew5?K>fbBoCZ{c4;|3%-T6v-_!Rh-oZ3Np1FEW9Kn{si)yeLnfT=s;@U+DV!#iwq^K{-jq{UAu{Z)0}ib41AR= z-XsNLr+alIEb}B~gys6!*iR7*(csVazXUo5*#lW~$*h^kzdbQO0Yh-h2d%^gtpXn$ zE9^dg^c8tgnfL?qC8EcHzm-kz!LRW?JRR#S{`ouez0%sBACg$Bm1U2WYAs?*Pj{{n z#ji--U8~787+wR}@jb-%@_eV&MbGOP+UZa;Zck2`AM7N-hAHJNSibb8Q49auMo*1J1YH&KBa_LoH#vg4{i+BidUX4&mV&7Now zM%wpjP_3(RXg7@Ry5Gh&vNvOxX%jue5;QV1pQC?HPu6$PFgwJ57`G5^4^dhbf*zErXK~NeT zgmqtRSaX~@ImBN?j(@E7l*YGh;}V=ghxa^S-s)&jV8@z2YmHb5;DE>ty#DS9dM}y{ zG-R_0kWJKmrFKT4oE~0{5-L~NeQ^Xrb(0d#t+AlQS_s7K8Z-THR!K*1yVWjMPzH}K zIBN7~8I_fX0AAL9Af}7xYt8owLt&C-mj`>+cAjrH0Tf!|!F*%{mIb-#Y^+&k;f{-y zch;^8oxCO^ooYP4#!EXt5rJ%pHGjmnF*7GNJ0ly*TiFiu`vBE+ZH?Fa19Z~$)sRR$ z+`A=oTpEXG@qurS)e`IUk$bjBI0kUqeGqZ)===d#G@UteHNisS+wzt431!sST10=p zMVq&0B{KT z`XYNGok=g{yli0(L(yHL=ea0pnNChih8VSn%gf=vIrG(n;#Q~Ddw0dcHB;kovM)v= z;AdtZ@BTpDN-CNv`z65KRx9wG`19~L+p;lvi_11Si9&o|*((;v6@QN{balY4qPB~# z5;R(fi=4mbI~Vj0K@sDZ& z2^1=%e-}yh!`SfWLZ7Qm72nU#T)*Pgx!SrB?_nMo;mOUVUD^na+=<)vssASH@hT;a zaa%GJm}a8HJY_!+l;v07tbTr*!(!Pu;FBS%Q>3pRO)nW0(?)Q(zdHrJ=X%v)1N-}m z2G$UNj&J-r46CGbslTq8i(h>+%0#3%&yP_(1a@GFPRqyr!KY!PYu z=F91E7ToW3DX2!>k1F~ie446kY@6}-z&^)ZxjMJUPllpc5+YW^-L~P%>90BNca&3- z%@-CXm*Lzq|BBU->reL|)3=2lg!#VXJc{BWoBbKF=%V1}3QvU9o3D-sidOnGNs}TU zFo2Ma(QEz2sk;-l&p#N#XDnklx$eJq6mltz`&RR^#cwwm1tiTd6I4%M86SB`w&6`U z=}uviWww-{#=Dc*XhaG;G%0;6AHYQ=aibR#=1!Ft*_zbVI+Aciz@f3JFK{NPoZe3K zZhplMqz4(UEZ^DNI%hQ_-K0Ex-_i`QURkCW_HW48@zz=vA8M2|F*29zzqW9T`sJ&4 zK&R3LBj+TBC&W|<)7g5^=;splYJ5VS!ls^5s(q)Mr1^6)yP98+ybQvh%4A?ks5!A0 z|lC`Uzf|mA|o>&qWbkp<5*N;$}#t0*0{GUvD;On^=Q)0ZY-~I zIq*^Lcj6qfMEwnlRD@PQ>rgVRTY{0t1#c#l_~+j{SF>zRDufTzm>K;ioH}EqsmD`s zuM*de(p*{Vln!MT&5{yw&BT+fPj)e?Ki1t@*TKajQF?Kvn~lPF2 zf)2tbr!wK5_;0<3oNRh8(>~@Z1}nB4{5_&8ocN6u-oh{n^(Y3ij%eJZkA7i%_@}MI z%VC=63^Zj;r};|GqmYD(;+w9%-8l+$ZmIdPMZckBk9@H3fYJ$2v6+%l$irScZ(0$j z+V_{(bsk3Q`-zjl(IP|n9k-W)8`@Ch52F6Td7%A_UzmEfn!Zc@or$;v8>&0XACZ1{ zXX9$ae(i~?^)~!OFsD`~>P5|4i%6J_FH~6Pze!~rkuz&oB`C9f-XXM?%1pRig17QO zN0%@K2@>P>h%|xb(D>=4Qku}o6PJdleO0t!(dNJ0y1_XZU#v)E&vd!SAYA}|TA%1P z*Z9o@)5SDrKBl8&7F^ffzGA>zGn8Ka%=tST(iOcZ?e~Oizp8XPf>I`WKp*z-C@G_r zo-C}|YCA7#I_I+PbcGg!#?Y%cIji-ReUM8grMD+Oqw6bIQnUQ)9n}Cab}>1us8Tid zWV_C6B0d}$Q-IATQ1$mJnZZg24wL7vQ7aMNtXGb0^9 zXNU;r&FTWvaSM^Ehl9g6Du!>&QIfHFr2dMdL)-Mv>kKJLsEQkC;zEDUP`*l;q56Wj zlP)FLTIL=8k>@hZq``?n`hd)HqvJsMrxqik5jB zW~#NMCO4gnkDkqpGsdS4%mCJKFWxuasjT!ZfUsBwE=m+LF;TZtKDk&GsxUsfcUrBG zZX5iiv}ptf8`M>CsBs=%@{xw?4YM%EcHe=|ta)g6)tLH@UlataKfkK`EXG6}Zw2_~ zz*>acVaTY=uq}{iY|I8|SWZ9IEtuxwWAilOc7018l)B%aZpQy?e>WoyWgnS#=pWI0 zJ$OE9Mq;HQNKZ0WW~?^bzLbKEPNbd=;Iw)|_8i2`2b~74;F|r9REpfWbNz|Fm|k|& zGr7Ot`S4Z3XrN_IHWUKOF0IN@lS-`&w1R|<&sTzO$AiDCG9}-t_LzLu zPLQE4VNbFriSds__PhJT$L859o=La<9iM66v*(;l#rNtIBA8!x*q-;#v?|6d=Gb~>kadpnl}D_} zcVk73!A!H6^u#hSX%2f8%}PjtDZajrb^Iumh1y=OV&d3OTWE+eJ7#QZTV-dT;gr~g zzWKogTBs&ua9yxM@xkg@*!?Vx9cM&1ejTN}1#Z>Q_?vt5lSX`Mn$k^K2IA>x)z9^l z2hXjDT05m5`z`xM27R9>^sUN%hOx2Nx2xS*K;r*h`D@)R1^bO2&-^vk?^7t+<3s+^ zE+^3*CNB@bor&(n*%ukVbWE{R-r^=4ZKdps_%)lEcma7cg5MlnIh!A}OHL)C*Nc{V z@ssPo0Liq(ZTZ?hpLLAkaplo}r;55)s5~`) z`r`VN>`R2poqBjN$F(0id#Zt4JwOcBMPd5ue!b;SaBuT2<8M8${9flcAMG(^%kk6q zUt|1sr_q}s}n6FF}8M7~DOV5oa)0*F&U)26Y*qvl- zH03u{PE-1KPOj|5eg6S<2Ax#d?LwiT++-M#iAMCIbexiS+!S}EL?R8e7EXO)vZ(Wv zSHlnSX*^91?)hcsbqh9h*6v5_FxlM@=qFSC0Iq0;j$EQ4HQGXs8lTkc;3fG|fMJLm zYmF!PE1(eP*s!LEfN1o43^oo7PC6=Ny*de!x9~ghYyn`*=1$)8y=2_oz8p`(|CvyG zJ8xe@v{ztANT0ln9M-;CuamJgm}j|)LMBJD9<9-FLeb5jkz&? zI7m|R*G@=4BS3;$Xvok=b)}@sm60%kv9q}*UNqoAeAwquA!1-HT{UH|m1Mbo$-Y|M zH#^omq4g^oGJ+p(vkeX&U!O&Gw%>^_@U40x_@ZHLKKV9O?K)QO(tB@uH&CY`{Z5w>L#KN-KC6GcXaDx2$PHHZDPrikRZquXVi!k5Lxv>+l9G8+F@@;n2z<$_ zL@ArYz6nCV5$v$T5%wp)zn03V60jgLFG}t&${A8V8t0YIITVFQ@Mhk{hz%W>f4}Em z5ED7z_QQeezDJEzV~6U?;YywmX|k z!rVT{=u=P-RKRZM{RSfP>Dk5=i_AFbk*(?XaezdQ0ir_}lI0_zB^#T>&fn?QA+Ble zJ55zJ?0D>;dR+^39{DcU#)IKhf$D({;?&tDId%W`M-spPpLWhHsEKTi<55&L2NwkO z3K)W;g^-o7g#-iw$S|NnSd>LW2q8cgl3>Cj2qK8eB8z}JDh{BC1r8{PL^df=w&)d5 zP(YAfaRI!MH8&`Ojt_IIAExR)bm!%y>-T-<^soP^&O=U|Zo%!B-&5$7J~AhbLVl-| zwyewQxf-M#6aG?5u3H~Ag?W5NF)r{nLn~v>IsQq5QpMXj>TF9+i%V?FL+_3D$s3O4 zG-s|9`Oo$4^{&jH@G8#f~O3X3#A+IP}vFu2Im| zEukMtB=sSM-K`hwiVm#+SEoj+-%X)+yjLieWBb*3rz$=BGerS%op zbd#)3>&n(HtC^~QV^)$IHsa+Nd5zeWOSrYdF*n#N^nM|wDCKHNlWgvGqLOe${0_Py z_Op{p<1hErdeV}{w(rgzbk5&m^QuD4eceoSFNGs_zd0}JBz`*ORJO*mstAqwc_L7@Zr|aDQ>L?R84q=`^;jL{}7ASl`c+%WW5hS>pUn4HmFs1 zFUW6dAC6t!OZ=2Y!B#!E&^htAYo||4x`meJk!}gqw4O_5_+^(%Ms4&cUPBs#8Aidz z6T;i+Tl(&t=!q6NkA%dP2)+3bFM7uc0s$5RBUo_ZdltzND=aJTAvFf zd!|AMkN@d;lUz<=H4Cb7sjquzxHXRIz@GBjBbiqfc1$JiIjk7uSPK1JnZJ9Pwcbou zR1bkQmt-<~C?X)mQ6$5+>=BI>rv=yMz1|# z`azu+1oXZ5y!OkHhn6yZ0;oVJ_nxypt?!qCZNIgJ)C!L)^H zW0H7dcc-18;Of&|AKa72TWqr`TlZUds*seqWEuQA zf2Sd@)3N6uXO8(>V7RlnsAw&Iox+v!#_+si&FDKOch}b#WgSGnq>XU96Q&+mUW$`c z^+Od+M_nx9BL;O#%L_MOZp=I=+3uUw-{#N$h;;2}O=#egAya#x!gDuwuU@bB=*7%@ zvEjr1K=Vt#aj>2Lf$UZD@Dnh_ufB6L}-b}zIQv#?ws5g~HXA)rVE2>~nx(@;7 zs&9|7XIoPJ=(|HXRHsk}5+yW%V(bGmGgZI~aMA`0Dvt~mFanueoPYrP(ibNkFPuig zpkEMP00CycFd@{J5{-eQ4RLxH z90~iDVwt6oWz;!ck~A3QNLZaA*`x4}IXf`mfLr<@PKex^Kv0IT{T| zqu>}635CV!p>X;}i{;-zi{*Iaf}QVdeYq727y85b|7FpKvLulm%nAH*uY4#-Y9N(C zW%9UEk?6mQ^r7HIUB1At&KU7#*N1^~fex=>l~DG5`n$(*^1RWB?EhrVG>s$N(T1Oc$sNkO4q2m@ZHkAOnD4FkPT7Kn4K8 zV7fqEfD8bF|2AC;-*$dbnbPeZeCfUpZ`Gp8xcqUml@3vQ0d&mVapHp^<8B@A3$xj^OGWDlpBx)&~->6O*(_n}BUW+V2qS ztCwHCX0itFGtH{$*r~0r2WvKZH#hZ2rb7OvVoNAQOP;bC(%76W>r!pUK1?VR$f#X? z-CVT)L;d6Bp99V1C#!KrCQaI7Q8SrUN$yM~_ztaQE>>N)^J&}mwR)};`nHFxZkf)x zC4x}qeATNI#*bn|GEjNj^znVRIP-Pg4o4Xqj4ao^)q1=GDx01Xn`tv#D)K&UdntQG vY^EqEeNRef{Ohre!!~89{WPd#O=2XZAyp%0ly^$G-r}G3Jv@K#TV`88Mr&YJdo+<5RWKZ!-4T@C9#hDIqPs$JJ7Goaa2!1h+Y^fE zj?C+g!uQ4y7}5ECu?77|%5)rYAb~U#UpSamw~$#opVP3INu4CLZTM$({gd7OEw?8i zr#lGK8;GWd;26+6Mr;u~zH~IMWF)bC99}k-N}f!qnnHBeTzLdI7MI56R&~u#dS=PpGkx_xJYpc6WCL0s)`T-`UyO-rnBY+S=UQ+}PMyUteEaTU%XSU0GRKUS3{W zT3TFOTv%9`pP!$bo12-LnVz1WnwpxNoSc}L`0?Y%`1ttP*x2akD4Wf0Z*OmIZl=*_ zjg5`<_4T#2wKX+0)z#G$3WZE2S5;M2R#ujkm6ev3mXwqf7Z;OAq{6~NB9TZS5c2c$ z@pyb*ULFpI!(y=*35G@{1^1! zCPX9vk-lH=hOHR0&blEB2vrj~ouz>Y z@v?Vggyh`eBKLaOsfU$UoI^eP3D#+Z!jUSkF&EUsDv}#jdTVK{U>N~D=ff4AiUrF6E#S8v3cMk$-8XZ#a&+S(<5u^(@1>())Z{{Dlgd*hM7 z!o!+Lc!mse=x5>X^EzUi-bW7X4HRx|`Rhw_3 z5s3#biNWD_#lVgc_r+$kEns38GdamiM^1RPM);nvvk@ulk~0Pw#M30sVk?jV@!=AI(>kr<#nT!NR-zaYKQm;w$eg%)jE*ScMU#fTg-+CQ z@rARv)8a3|uS8}>RXY@1BfOhLzBW@@MW)5=taLD&ZxOmET9FT}VtEnVG^j-XF1Z6mA7+tYzDR^}S zn26P+NuZ-{{^Ae6r;z2?Yka1G+h=@}ATA%HIcB#mso>;q+ITR)Y`OK|C|>NCHo;4; zQQgL1qg`BK@9f$c1-1f< zXW)cL>2uj<^_0&!HXXTEQ*3W7lkU@ZP~8L?-_rXQYJB{1^$P9Cbz?8ngTJJUJP%fO zEO<`SFI>odc)4FDNb=-UcT+RT_er(pl8l$N75aDG<;)ck$4taje9BBr^$Ta<4=?vg z06`Ca{o;PES<>Y#UE#z3KR76xN83dmqDbq87qKDca>c;Z z5k2jvxe@158+uJoF#Pj$ zP{T}0ZX?{>YVwc?zFEGbIKt{fj#M1kOo8SVVU2k%lc4zhvf864C-Lc%waj~`VSO>L zpt-;Fk{}G!9QK9hkjzkJahC21hgw%xJqgKYUfGo6;?g)k&4KeyZSrpzmGO zMI#@+5o{v5%3teZBfCG_JETpDtKBSG?0)-NK7G(J&tMqT^9f#-G3%2D`r!xIfOGXS zN7D0*XCL$iD(Gh%veqy?dBiSExRoP}@%&A_gC4cEl`H7-ymK>(4jbP>bB|rRWnyTb zFjR)oxSemg*v<&jEYHyn)wrkA@d!>Dz)B_K?_FPdlvuf)tuuJZ`YVc&Rp*GiRhV!4 zr}6-Da{y=Fo$rwB;)px<1#eeDu*;%4WJ#7yZ?@JI<&2QU+tS0vbo2?FXdRu48`&h<^A3 zAPv`u*8Th@`_%pCX{S2=7cc*1mFJt9yv7rApM#GZO^WJ~Y5U2=fhUhWKYo)*J9Szo z?DkU+u@G?6xjL`#2kFmGrt!Y3OX)P*O>(xp?tJj^gYFHXBi{dsFhZ2`x8!Heg@(rpt`sZTD?96aHA7(Ew~I9l!T@zZhMd z)s6#oN#EN-jnvGgc2IhJd$uxn{S_;YPce-GxTF5Dmt6h0xyUQLCa>?}CHDCJf_^xoLLAq`|+;(qD1>m*W z)@`QJ_vUT^{NA{_?L6E4C09Veq}Oq)==*D5f!zt|dVtqzE8I*2_7-gG1;cb9w;I@A zkE`FCw*>?vfRIP87w*sj;qJc=OfgW*AW+;X@DMmq0ugwG9C(ZwD8&nuQ4EqZ2s+^u zqyP?5LOu~E z$_#yGAh{(Q=3x-#p`rR39Oj7#dq)m~Pn`Y43-jWIUDFNsaSHcYI1fgILlEKCjPL+n zcmVTaut5aWAmW2}LfkBA~5qLvv^BwiG$?OLfpbh$zF@xP+Uh-mVHP7O1!$ZUg$Z>njI3X`iL@8bj6ff=^f5BxaPV*B~mEh+<@C(jxH9xop60S*sUtz(u_;78d zL|ss#zH{OYzeEE7nP^B!G-4&*;U^j^C7FVf%$$?V{gNz@NtTo(D^`*XKgmuh*&dYa z=$!n-FWCv1>_SO?%1VC5Pj**I@c^Z~bWVBgm*R;`c}Ge4z)JbVPw`Sp^#-N-IH&&Y zmkLIvLMW;JtkeL0YM>G#7=(a2Bf|U;5lBQ71rftS!1#!GB_te#Omar1_#qKUB#MGe zXCX8B$ZRE4E(nEjM&bNWcqEEIK@nLf5+7BplvWB#D|b!{bXFuI)2PmhU43bF{In6- zbQ&mq;Zb^vUphY_y@Qf2!AS4nrz^;1FhCg>>@$Y^GOoij*pv)=M#eZlSY!jLbEDCR#3Q6O>hKpT+gdYJ_JAC|L|fmXMz{Etf53n7v`2eF%~* zmY98nnl0a-EhWglAfF>=n4{;AqX5YrU@UGQNLd;|&~Ma9SDvGFhgK3+K=ZkV6slAi*} zN1*ai)ckaIex@KlTbYn+NWi!da1a6>MIcZKL^gpWAQUSXlo}S4yA)JH3dpDeDz%`7 zT~H?|Xiz5742jJy#1;s#4Mpsr61&*M9s#jexsYL4IN(w^1Sw>q3fa`cQFh_Dpm0K& sG-XJdaUsn?NDC;^5|y;VCanob>&iu&hDF;hMO;V`4^_lemJzx2KQD+sC;$Ke literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/group-cs.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/group-cs.gif new file mode 100644 index 0000000000000000000000000000000000000000..3d1dca8f05ca550917346830a5a0ae4e16665181 GIT binary patch literal 2459 zcmeH`i9ZvH1HdQ!yk5P2p?H)dxpp{mJU@!;=?=U!!Pkq*zsjUC!6Bk-dSFVOt_!mB{_I3VoryMO9y{@Ma z=-n9DL$B{GJqcGoa`AW@KtUEXYxS9y%>dB{M#Mz_E@4eP*_kWX z^$4C>m(33o-~&JGx7SyMz30WrFL$>$RxxA>k0+M{zIVY>_Ns?Yre=MWTI_qhMP6lu~OPcC3oegZjRc3=(^V7L)w0*({)+2G{4{T;} z!o0jGzAzuE1S`!ys~+~X;Ic~gSFD>2s0i!s44Nr2{v9?`?2ia5C=Ng`%#;QugJvIl zX2534LY2Z0<&i8qVL7rJG?#U&KWwg2Z6tfHDp4JGvpPj7exmxGdU$C3eVxYnn$L!U z`PxTjbD?!bexlEHC5Xm_h{s6L!t<)w{UTi5CucPzxwui(_yinUcAMBO2QMa*XVGKC z=GlNC5?&-)q})%Ygw02%fDp? zVNB8KSM#G-X(81lbZQu7nT3hsnXV^A4@CVZF?NFV-}t){`7%2$Np8AIR-7-nvHOnQ^Yr z29ODG<^*{=utg%~TyB+{CHl7?LfQY-rAyiI?J<{dz1}#QCwUHfpd2o~hf|W=KB6QJ zu45SUAF!!>)JvC{YD)6?1&ZX1^D@s|{)cn`#dBJlpkU5!N_ZIg4~{NC(Uzy6x{{=1 zKe?rfYg@ITrV0~|@8ub{|BR&EQ|Ia^S=qK8j9Iy>vok3>3+xaUQ15r1*4vMH-k~NY zr<-xLf4OeU(HvTdwc$>QVsM?qQfg-Hww|)w(fE}flAPtt)lx0AZ85ZzM!P3YPuBpu zIz4GQX`B=4@`f%`F)25gdrYI#mTiHRMj`BlpN4SV3>xj>^#pw_p3!SNBqur_%-}Fb({3Vq!raSJOb>jsf$Mg_Ll=3M}zGh0*jv{cQuF zqmjT9Ni1sMYJk1%XufpWRdV7?$2CxI+916|kz;5kukQ^K6G~rle?6IYiE>rdD!AJo z!NKDDVl5bDbMZ#j3K=C~N*BvVzNyC%m1wm(h9_K{;$IbDeX@-l!VY^kdI9N8_1=jfHxh8T3_)wKnK|Kp zd#kHb=JVjpZkT2o*vDFxiHooYdyV1V)pyhI?)CaUwehdL_6Z^()SB zh=d#_`1@P3XpBUY8&RN-J+pLr$&4YwYPAf?9 zNv=0?zgF??W86>)p4GbSeVcF@FJrNNcTI26z+a}2%;xSja7^K`kr~TUVtBW8#)oO;GY8+ecXL81wkhso@Q7N{RGV36L4-Fn0@B=bZS$i$`@>*e=Y6L&Ng dUQu}td}@Irs8Us{==-D1xS|KJM_Czg`hV^ynJEAO literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/group-lr.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/group-lr.gif new file mode 100644 index 0000000000000000000000000000000000000000..7c549f96d6064d4b0cc022671fd823c13df36d8c GIT binary patch literal 861 zcmZ?wbhEHbe8J4f(9Xcn@V{aEiR+JFe`Od2qaiTzLO}5+3p2>qIv@g+Cm1-a7??R2 z95yUC*vuiU6?0<4!o%$X%3gCkHZD5aEn%E>=fuXv$NLqWyJS2!Ejc+^BY0KJ$xTbW LTbP(wSQxAUYf&Xs literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/group-tb.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/group-tb.gif new file mode 100644 index 0000000000000000000000000000000000000000..adeb0a4cf54bdfb626ab6f3c070f6e2919f374c0 GIT binary patch literal 846 zcmZ?wbhEHbWMt4`Y-eC-_}{So#PvfrK0JQ?m0=W&hQJ650mYvz%pfo8fCx~YVBpYZ yVCE5U*s$PWGl#HNOoc$h;dTLKuQ?tY7ai@EFwVMjV&mfD{R+-`G6D(;4Aua=h#nIF literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/s-arrow-b-noline.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/s-arrow-b-noline.gif new file mode 100644 index 0000000000000000000000000000000000000000..a4220ee9066357ea2270a842ed244bbaadb23de4 GIT binary patch literal 898 zcmZ?wbhEHbJi)-n(9Qq?M~)mhbnDyy|Np_fQDQU%Mo=fuXv$NLqWyJS2!Ejc+^BY0KJ z$xTa7Pd7+DHOF)FGT%0aqGx+fZdP}nYuC)RmLp-s#l;?zwPH_gS$TPRz~V9<4hCxg D_B%R6 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/s-arrow-b.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/s-arrow-b.gif new file mode 100644 index 0000000000000000000000000000000000000000..84b64703006ca6d86d335b89f8d40b9fa3883c48 GIT binary patch literal 937 zcmZ?wbhEHbJi)-n(9Qq?M~)mhbnDyy|Np_fQDQU%Mo)`~r~W##4N0gJundTm{G tbu}Af#?`K^tFNzT+TJAVU8dErDdY00*wfqA-ripD_|#nQ={XJz)&S^DQ3wD4 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/s-arrow-bo.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/s-arrow-bo.gif new file mode 100644 index 0000000000000000000000000000000000000000..548700bf45a4766e4633a2ad21cdd03a907e191c GIT binary patch literal 139 zcmZ?wbhEHbJi)-nu#f=+R-O3x{>OhHL-8jIBNqcRgAPa(B=5i!GpB#$>9_og=WMyv zz4@M01z+1Ek7>_3m%Tc*Z6(9;Pd?Yb^*;Y~?)yJ}o<}i97JcmS(V9N7;WKBi*YYc? qzIL6>+J0x<_w3ZJ<4-pI?D3myle6{rUd98@zwG+kS1-=MU=08a%|q${ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/s-arrow-light.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/s-arrow-light.gif new file mode 100644 index 0000000000000000000000000000000000000000..08783c9d2f269eeb9799f2591ef41ddd2b14695b GIT binary patch literal 116 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 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/s-arrow-p.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/s-arrow-p.png new file mode 100644 index 0000000000000000000000000000000000000000..9a072a33fac5c3e9068897b9f502eca05ab1db2c GIT binary patch literal 48251 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 z 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 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/s-arrow.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/button/s-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..dae5e0cd27352f69c58bedb721918a2eae6fc664 GIT binary patch literal 48453 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

    A94GKDA$)Y^ee>*CH;5!9)=# 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 QlNU~Ep02g+t=icAHmx{e<8*vNrgMFJfx< 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 a3x}g69itbx=e1kkAq$x~Te(NRIO{K-FpUBL literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/icons.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/icons.png new file mode 100644 index 0000000000000000000000000000000000000000..1ea9e2d9ed8c633935ebcb1d45a6f0e5549e5186 GIT binary patch literal 94176 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

  • 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 K%-3`H?Y{sp6&}n0 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/invalid.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/invalid.gif new file mode 100644 index 0000000000000000000000000000000000000000..94239e7ed4d666df311f0316351f1cea08d815c9 GIT binary patch literal 229 zcmZ?wbhEHb6krfwIKsg2Ur6Zx)~)}eqyHNl{|ADZGyivV{D1iHzkSDA=Qt z({#k5!QpY?ajwHm;sU&dyiJVe3MxenPlVVt9hO=i)DBnRDC$-|=OA!c;BuiPPovTq n1NO(_&Nammb5`j}&&&)nVCK<|wo2k}(c$GPVX{$HWUvMRWzR@+ literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/radio.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/radio.gif new file mode 100644 index 0000000000000000000000000000000000000000..0705496826fdc4ffa1a9a4915128175ad9a4fb3e GIT binary patch literal 329 zcmZ?wbhEHb6lPFkIKsfd6|&*~|NnRH+}gBhW9j_M@7}#TckbxXqemV;e)RqO_sf?r z?%TKL*|TT&@83If=FIi$*S2lj!axd8{K>+=&hVc>2c!vPCj;xT1ckno%)U-$UY!z! zoh0QQ5L)qr;;@2}7A(DP4+-)#ma=KD5$GVK#a9LQ$y0{h7nB zIeBwj-!U9MHMg59)?{ISIaG$E-6S3NwFKnX<3&S=R75^yZt=qQ8#wRN6JEBsV&3I&=O6G}E+s+hh rIkiK%uz_(e!`0fbiu7u~7WErVk9W4WcB!)Vu4kM$dD8o7iVW5O2$y|( literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tools-small.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tools-small.png new file mode 100644 index 0000000000000000000000000000000000000000..d11eff59ead4ae5c01ec071693f40924e96d71e3 GIT binary patch literal 44324 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 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tools.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tools.png new file mode 100644 index 0000000000000000000000000000000000000000..0ab42b6a76981142c00c9d0f9baaaa7939c6e82a GIT binary patch literal 6834 zcmaJ`XIN89yWL3u>0PB0LZ}KPbV7?XLkS>76a<6>As{uODi9D9q!+2uk)|{$O0j{6 z2m&HqX`*xm4ILpD&;8E1_s2bV|JZwG_FC&*GxI)sp7+_Y=BDRa82K0h0AMl1=ve>& z$o#mCpr<>&pZ9>N96xwT`j<$S-q%QhPJS-HIlQ;C3)Ill$<@We#R(tm+vB1E01z0# z>JsS^)&zy~_LOz{gOLsL^f_h&fQELEj}y+rg#>kWaV2 zLlgGjrY>R4p}O9FE>I;|gbWU$jDRX5WswSsDk>^xq4EeMLJlD>hm@B=s-P6)Q3wR| zKNsvcnjiie%0kcJKe3K`nlLvK$pk@b?dK|oR8v#?qaiOZbBvH7278g5 zf@HjiqJJysxe#%F1RoN?+Y9H9gh6I4q;)Z(Xtb!)j?6GcFj00p@`s3e5RZvdYc6stdiZHB* z#JMeQ_am5g*4ims;u?>GJu$Q2Nlgmv5o6xStJmh$b7%7oQuG@sBc=`XweS0Mc){za zGttSr?)2xo-LMN4dsygJ>1{o=ueSJ*Vl%=|+0(FD#Rkt(d&9y@ z8tdzeHt(};76khLSZ$9@O7zd4b2YJR+aDb6Y{_~=;kW`0l z>thcLibl5p7s{R&L){}%L1q0Bl92ppYkcl?w=)o5Gb*zT7-M1^cF3bLfE#GDUslMA zkV`~E7}Bl#?uUVEUsA*4aKp+eP!5R*$1m z0|LY+z=b<{DocDZeus(_Nt%@2rJ1+ov5F>WT+-$ZX_}$5nAY2J=$DcyC$w;iFgrvL z-TDWAppi<`OXV!c-mft{Q5d?gWNb%4>b!bITiR(?`EnTaiIBU@k-a;#Rx0&6Zi~@C zda5Z#!hm!629UnJEanoj%MaK8JQsS63=wcNLD6fR_;Mh4xM#!aAJm3Ztjn8}F!dY8 z-D#N~8MuofBzky^O-g>>G{nygXjljhPD+~T`O*!Z0euq2uSx&rF z4y9eEZx!hOKzH-C8v1(TGUm8C0i`=UePgk~4oM zei~|sN=YK9yTxh#s@$W|D_Hui$q?jVnQ$!^B%k$Uv1325{`WO7Fm=-Cp_KcYD9sGy z_U$(q;q&$AyOfa(E`nr`R>SoAuSrK4z%w?8!n)NZehpd!DSExhDb_zgkI4^$Gm7fp zs$LLdXqwdPuz8M!>F_a#1+9nQ05%KM>GJ_r+}s--6@yH{6v~iyZru~$Jzje1qQr%7 z1M?C5s-64vI&x};*3}PC$%D#EDTI_ovDskk`>AH~D%3e% zg8n5pJaqd}+t)nYW@!#pCEEQcwdz)LEf@H8n+~x{IQVV^c9Uuq7ttpJ7Y+R_k~ptm zHnD!Gu-;gSv9Y`jV7Ho^CrdlRfO1sB&8nL+NMYJtJYQj#QT0HqV!WhEg9&=!Wlw!? zBheEe(H6l^%5z{CG{<5EX=2`wb7_JBZcyDF0=hWMcBLsU_LUSO(td0@`H`v_<_(v} zeN1i!+){p4%IP-;(p8bsm`OF|S8^;pp$Aw96oq@HodVveGF|@2eEUJ3+9>Dfo|;-6 z`?Ja$R(rSTCc8NjKe`&&KH=&~jC+rJg-FeuBL>OjVPwlln1>3mXpIiQH_=?E5U*_c zxFkhEenP77QzjS@^1%Z?t0k&-pIyqI{8FK5xS;4fYQD5`l53GL6u$ENM!b=B$BuG_ zp6GoH)`Tmym9yC9(IOJOi70YxmUi4TEealD0M8p<%~zk(b0*i+<`nR#>r(7` z20sS40wnuw9dq5hrSzGWr3yAg3_tmihVcYdNZJ-DF({rS+xR|L9X@^9tt78gxuc+nWmyliRK|8fPe}_p z6L-oil-^$2x=n@3BffUQ`QGcc9DZ+&0Cfc$SJtM-P+XfKq20%cMPtiZCnIMZ*%rcC zd1dd7vg0BP!@7ibC+v3bj{$?;dF0QVqUqet8y{@w9V`v`@mf#=yLU|=xfxF zp7_tG*+AY5-l!GgEJJ`svX1V2<^oS^hSAN^g6E2*o}a&Nxjq((#=ZY_uYHFOoe2~& zwimyN&f+kyC(62s(xGRZp4AF|J75kP?YrdOtJW1EET)_Y5bPjkhi3sJ{nMcI<;B5w z^VZ-By{_&st24l@cTalgR`{MTG3+HRfclr8WO+EMgY$hE5H5Z9=WpU8eDNy4O2({1 z+S*Ow21(6FlyUaRqu(7>sAPFg@K??2nP(g?y)?+a;g;aBl9hyVYF#C7=F-Aji;aPI zTWM0-S5A|isbyN8rA}pNg%}!hqi~!Ec0})1$OB5P|54!V$%jWz60fKOq)|?Cj#Y4D zl~Gru*{7-(52w<1Q~-17>hBZkP|o!;3}n=_%HyhSQIO&e;P$>UBZI^PPCe_iEFZBq z>#a$nxynOkrETm1SGd0K<(7Kqbg@cv;r`{dh3-MFC$F|(Ad*qkZ64szGLOm>@l&~y z>Io)?%!z~0YOOK}vyTG+EbZrJAictcn7K1e%gG72z;gpRuf7c7iug{dw+wlsPKkI_ zzbsFq^=jRdh?dPR064a-I=MRm4xrV1!V<(i*55awdJ^sH;0i|Yy!HwcLbYCf%vrTj zlI4#hd$W}&IuBF*fhCL97B0xv;tF@2qE3e}jiEY`EilY}Y@psCa&2|zx>9Mh$!w*Z07VlXe15-w z{qt;jt1Eq+C>Uy*cZ1)Av(fXGYZ3l5KT!0XD{@vU?1$=gn^1WJ45vZ9#qI9k?5HfB z*mV_)jrK%_v6pm@VZ}%ED!pc+Aj$5%dr=3k#mAW)L^O%#jUMtyq;|gElo`DFHkKO` zyhcn9nVH+wN&pRboGA2E&*j^8!OPImNNdL?-(9zxRiltMBQI2&Kg<_X5>QU&hU>A! zudDlPG}J^$OlB=g|4{tk!B#^2zJ`H&HfBFJ`VbH``*ddG&EXB!B z(nL^%0o8huI=DwWjd+7f*(9cU80@#pjMK||%tuhE=tbd@fL-xxIw(jXe+2#(KCZR~ z2EfEW^e=zI?gQm5l}TVeo0LIi zOj!7%>4H1uq49GRjV1v=S%5ei{D^W@bfLSo^^0EX+Ro+aH_?HgPq2R`CLz@q@5@@O zKei4RkmR4&mlK%p6(lM+mB!xB&b|DItAuv>f{9$seyqrq`w}e@ZV!LyS)MhtjBLKy zFX1I)0OH$x5L-KA?+5c;6}B`ZtB9#xQh4D9NH3qq7u?}oM}TbYumK!Vu`}(9XVyVo z7MvHo!5;%(!0>i!YXL=7hjjX!Mh3;|T-Eh3ZqF#!{R&P}n4aa^3#`kqpzW2P7os&hkP`ARuz$TQ4Oez?}ap zQDkn@aOR+o&IhE&PdAiwv&bl)y?nwSWG;JKG5Pk;&)JYuNWh)IecH5;0cdRQtgU%x z2*36_7y`V9g!b4%2Cc^&Y00(&4qX@rFi`DTmjbTnN-oPgE!9mGupmkDXl+ZnF2qsr zlLfR^9S`XWt?_~v@3F;qk0Rhu#C)m5E5p*~+)rBrID2wx_4~ZQJ2T|!~nXarzz_*YOKI(@RC4MWK|jPZoJ!%?yLN1;Qe7{EM7~2p77%2#u^XV zVd3)bb+5eWB-#jW^#yCSSo}vcd`5q<$YFZd@2i5i&oBgECQNgbmT5}2)|3>0xifD+`*hE75;!ZJp(3uenNlW9g z38e>A7Jp5PC21W;`-;pDGZU#OD*X#I&#)l#nY#f3evJSay!YYt$n1we>X-FV#zN}B z!-BI3zaJk^J~@U>?}rwKFlYOHK2bGu+F!WB%fnZ=qGq+7%_?*C%)s%x{D)b-lCPc)c_r*!w>?w}2(>mOwyIHmL4Aj#9vcf&T^dNSsd zAD~sOG{r(2?cOJOlUY2!UG0xZ$Zr#Imp@dVss2>$L%IK^YNNGAZAJYj0eZ!*^#}0Y zdcjzg@pE94C~#@4of)@q<)cn?j@?{Q<{BM(it|d3$x#NQ<2d3R5FJZpq(AqB&BV1s zr~+V3?|!aQe<$x~0!9al#U^awqA_8D2uQr|O(a1ei1qbO+djoxU}XdC ze}={Ct3IceltEHx6k5?FxmdNq;s>boGJeLXX|*_S~zochV-H2BJ(S` zEy;4jn&78n>=>5t_H#$H3|rfiV&yo+XfpX4h~BFN8fxx(3yAWfAmdvV>6^1!=1I524P~q%572_!%s>$cEtC zjY3)BKSK*S9F}CRteOmrjB}kEN=mnC`Ey(=9^>-vYlZYYt)IWiX5A55r~(-MfP9Mq z7_>)foNu{`Y|`W$puL&U8{7<`C-U@~1KVpke?T65FT}ckv7|7>M7Dg{(VY#pk7ZEN z{-HG(QFlb&>#YwqPxKcXa=*)WU<4TyF{)K&vBn6eU4nM)*{Y^&QeO~&w=J{5PS0ML zw~rmoLk9i38|CBcNWvB3cgu}JW$)cRvo&Y&ZE~IjPF8Nlns=Rt53d}XV}VC!9iZ)j z{XfUH7h(*-1;&@}MWjD0U z?HEVa-wnnGHi?;6esrUSUKSC3w5c_?Gb@!J#|z#7?}Asp=sFkd(P>tevDxV;h4&mq zH`nrlzSIw1nR~`&#kE0gbLU`$on3FpmhjsA$`R!HSmThjBU?q zPx%Lgc0&rnXY+2dc~0-0=)04n?IV(ICb;N&{*y+n$3_U^430#EURJ&iMwR zvmX{!idCt--*+x1w!Gr;Xkt^8nm{sy>4WmQBx!B0!cg**){YySM<8tZSLoP&=j4;6 zn<%(OOW-%a%5U>yS9+p-^d!1$>A?cMOJpi9`R-RYc;i9N+H^fZ5@asm?F0_z-MAUo zcAyKhmu4(}TX%o>*SILwI$zZ+Ev%ZNTryN}tKuuz-qF1W@?ykdN@sA?^GZqmRn78C zUUGj*+3+Rx=mkS>b{n=dtI6BcuyREV1@)@yh=_3=*5#=jm{;ba1}AghvZFza5t z+hRh~dxqu$WBy%&@Z{5rMJApF#(@MLAG5P9{+Lt)4s_6~#B9l}2U#wY8nKO8a*Ec$ zpkZ821^feJwPB$klSocErZ*cW2ouWtAMEdvW$E$Y9HK>2I5sT$e2= W?s({I?&t;ucLK6U}At_P- literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tree/icons-blue.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tree/icons-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..e9ff3f13cc56328191f4a40ba8033010195feafc GIT binary patch literal 1055 zcmV+)1mOFLP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyW3 z7ZC+ZLCCxS00W;%L_t(|+U=aNPTNovhX0@p9V)|Eb!ibVK-s#qu-BrJA0XikVC_&M zhOP}yK%&l`+#T}*C3B?;-k_<)zyw_!)LM3&d+)JxZ2zBx1Wx>M<8$nDk8cuy5JCtc z-QdUd?2$hD*5xCF5JCtcgdGxn^btY`A%qYMdOQU6bVz$|c6;>Ew+Rc}Q_l~l0FIL=m^%dZ62N}R)8Zrw4%orf=6j0o_fOk{cW?L9_@whi%9nHU z=WfeVR1~!PScI1{@caFI?5_~`lJ7{J)FFr5InUg0^dMEdrSuy63; z%gvv(!x_6wJOq8x`6A+zzR+p+6&16xB4<)CHTnM8KTe;QH;LIzyAac3Ddu!>wV@yZ zz-BrFKKA_ZIEjLZ;fXR!JFP*%Q>IB2%-ULz8n6c96kqN6BH>%5(=fRRYWH=V_e&o8 zn)$o82B)>FZ<^Sq?WbuXIwsyGfQxkYJ2YH`8v!^3u$9?9PakudwN-WeBz*gye--|p zx_uSKS7p8k`mRbY1ZDd+%|}|uMoV9p@oX$z>^{$V=)CHM@Wtm&q&|P5-RH`St^TXL zaXF0d(bTsrU*fZ!8%f_H|4Mu=w=(A|ZnN^G1ta+x=m-g+m^HE zaVGia>9$H)+}@J9&86MvkifS9hCja@_L3-wv*WTD-+%dH;mggJB9E=FC=MB)%Pr;E zircJw={TjwCw~5E^=ZH6NV?jxhO{_w&s`S1lPH*bes}`lBHeT%u!v3^6ZrYF4cy&7 zj9lZZJzpGsYCEJVe4Zcf!(#D%v2S+5s@>NW`Z*`X(#1&AHGmoxBPWuDBZ-2E=ZB|@ z-!1m9^!RCuM;-CKyMK_J7^un@L7&9@~=}J671eMvTR@NzE05CZ)#`?{G>ZsSFX8s zxef45EV_`wZyV6=%N|F`b6?Ww;$lH!K~n$SX&hhsJ9NfZY~pcM@PX9YoGz}?H#M*T zxzU6*8|@cUj<4M?zJ$~~!{YcjKEn7izJw4$2qBySa(smGWqb)Cgb+eF1LXJ!<4eqr Z-(OFcv8U+x#CHGy002ovPDHLkV1fq<0(}4g literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tree/icons-gray.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tree/icons-gray.png new file mode 100644 index 0000000000000000000000000000000000000000..f7fb7cfd9a9f84be366f538793fb2e35e44cb9c2 GIT binary patch literal 1045 zcmV+w1nT>VP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyW3 z7Y`>&V77+<00WgtL_t(|+U=Y{Zqq;%hJUx&2Z>4uAyl|Q3+!nmZ;*_@CrG$KdxGW$ zBqwNc0&l#u)bs*0Hy{WhgjA&T0!bH)D`eSm#`A2C?f+Y~j{S8y@7Zt06B{6e5JE^d z_;$P8(nnuiK0*i~gb+eFL!ys9LI@#*5K;h#T~N&o>CNehLmz#0_(*#R!YDbL9sq#v zxeFVdx-Lgo=zFeXNg&1mX1?dHnv^i6{by@DY>#hK@}=$h)|LFNxgcEwnERePs@tjS z>NPkPmjEtxU{bI!T>!Y=wi zuSUSy=UiK_1S*Sk#x1KAg$C$_jSS1^CXe{ zYqhOZ;@ewNx4ByETLBn-{4j8Q&s`)vMSXF;6!4|yOO~goFRR}YK9gI@%RRRh@~L)8 zw@>{1v(;z&HAm9bmNlgK#GRTfdi$Qc4#MaHz?Ir`A+U%}Oh-)z4mO+Z*fhSj=Zm4w z+8I(Az95XwP+;*sJ~laEwcXbhdMPKx&c#UGHGm2hBWIF@!}r`-5Js2r&jpSzwf}63 zM-}niY_^gE1FP~y&}Z!osU+VB*=2lG4otq+ P00000NkvXXu0mjfbk*<3 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tree/icons-navy.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tree/icons-navy.png new file mode 100644 index 0000000000000000000000000000000000000000..938857b4f5fa20798979c8cdc47e53afc63aa221 GIT binary patch literal 1037 zcmV+o1oHcdP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyW3 z7ZD%;MI8G800WIlL_t(|+U=abZqrZ{hkrp40|J$Si3R!qmP!W}hPE3U%nT&m7@d(R z8Q8hq5KEH|yhhU(NF(_H=)_7;r4C)nfSpRlj&tulPL8jCpH!)J?5{UI$3FK@9Doo) z2qEoYb~(SJkG^gB2qAF-EKiT2QWcm`dfEe zy1ESx#Sp*{Q9J<Lbtk`Rc#2j%1w=v%`z8Bv<^bX#<*5i}T7b)NW7k}}# zJY_{eyN^Y96+J{ToQqQZ&O%p{3)1}?1KuNw4FKa6Bi;PeDMyK6ZR?Mo3oK3;h1*rjRAb#=Ho-Y!%M+W~Nz_I~@8i*O?V?*Kf_ZC|9X`SsfBI)4Jb{g31F|Fdadeeuq${+7bd~mWcO84rCYSt+bX%=t z(_2#0Tmk#80Q7&If9W7G)4a#km*tCtuP|TAJg&a7^Op1ZOexRT+~(v<+bP{X@#{~k zPy0Pb(iO@YQg-27UJ;e3R?Z`X6+VjQFr*?!?i!X`~ z;j(z29h>j4YWKB-Zox&ddNI;=4WRzT$gybQNX!^fJY4>6e|){?Pg^`T5Z~*YTgi@r zu6&X6sU0EJ>gJptuIdjpumJhdfHfQKH&eDRY#3icHr&Hv z``A9h_%gnP5JCtc>;bZUgz;s32_b|KLf8Xj`v~Jp?9Sg`r=dPaxc>8>00000NkvXX Hu0mjfZ!Gjq literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tree/icons-orange.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tree/icons-orange.png new file mode 100644 index 0000000000000000000000000000000000000000..557043b9f7c883ccaedb938920a1bc471f761513 GIT binary patch literal 1042 zcmV+t1nv8YP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyW3 z7ZM+x4q^oW00WXqL_t(|+U=Y@Z__{+$N!gB>V(M50^OLPyr^46`2_F{noPI0pP=~$ zq@yLIB%h?I*pMI*D+8TaG3tiYx&vp_8as~f9y{mr|0h+docPzPpU3yyOB{d@LI@$< z;Ok=>E(+(MIU{e@R4vyB4lUNZvjAQ z%zbcHb*ZXCrTr*kNrVxAsnWP?Q^L4jKVReFdwkoHFRt87`uFmqH;h%tJ{F|h4*wj$ zOlb@@?X2o*b3sbmH3M+0G-3zWIe^2Gx6PIQTirt|NIs76@5cArt4~MIUmtkmlg<|@ zU$(Pfm!hKJyN^Y9Wrq*jq9p08>e>!qkZ=UxeG*{|U~E~KP5>;{cu$Z>FAoX(j-Guv z_-$r5W0!%4pieqqM10b-4c~o51+J{{RV|pl`0jM_b2Avt8^r9HPQPjq5_7t^LMTW8 z@DRW$fa4^>vC^1UIaz5elL#|Y-13+yjb*3>sRer=PVx0UUnG3CvyY-q(05nGy-yjS>l zn)cNgUoZ1T(05VN5tN^{qR>8$RJ@btM8spn5Z_x;&<^f=Gs z(7vRqZ&ki5_Ln~-eQExc_*|AU<28?2`Aj>d+b4ei`Ren%&yjS6R*){uNO#wA^gPZa ze{7D`O1iuywagW;?-IaZXYf-gjd|8%>r3;+!k3#bMIKvU(RIuCT$YrVYaX-mnRZII zPyGJ#)#rPkBk2ld4=KHI&s;XWl}4OIH~}y*hfV}G(TOA1TMw{xeKm58ukZQd=<{}l zREO_o(m#a7=6!l@Zy3+pA;Ip0BdgB!-PZ|P`(SKa;5Rjprs&#(u{V?c)M6Gg z>kZ>U8-3Y6K=R&~bh@}$kXVqs|L!!lFZ>xg<7?jsWVk4JAhj{4i;FiAA%wJekQ-7# zA`OkO*gm$8Fusg0A%qY@2uFZyA7OkMUqT2Wgbi_@% M07*qoM6N<$g0_15CIA2c literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tree/icons-white.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tree/icons-white.png new file mode 100644 index 0000000000000000000000000000000000000000..36b9cb4f7039fc95e42c821977f30c926f364d34 GIT binary patch literal 842 zcmV-Q1GW5#P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyW3 z7ZEvRF0?xU00PQML_t(|+U=X&aT+lYfcHWQa0j6T+ySX1X~7kQ5=;fYPD}*>CvQn+ za0gsonPD~$K4vgEeok5qE8X`!n&Y$3?%isU5CH%HfMM``xl(-iZsh|20001>L&Ap- z00000fDQ>CJ{S)AKT}nmdUBfjj!ljNF;mrXZVBVf=Xl;sde4`X`B!>(5c0lL z_l$Snfp^hfH|_Wz4R44b9j;BEy$A2}H{kfX%oi)4sxBg)_lw+o z6r?f>(uY#J`G7Y0RYc|;FU{N6lCke7tU8s_ecSE!QJ}y<{L_flygD)mgr4bEEV{4SOIeXg7y6U1B0Ic U_8-2BuK)l507*qoM6N<$f|v_{asU7T literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tree/icons.png b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/tree/icons.png new file mode 100644 index 0000000000000000000000000000000000000000..85a228858dcb5a0d767b30a15ed4726bc907ea0f GIT binary patch literal 986 zcmV<0110>4P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyW3 z7Y;bybBZ$n00UY{L_t(|+U=a-ahos{$N%p6d%8iJ4Fn4`nIPT3&Ia}b_6Bt(h&@T1 z1wb1#8`Pa3{UUNH2gZ^f_zC{MyWAxhey8xB&=Ud!gb+dqnFd8^-|3_8T0TMuA%qY@ zI76b3K0*i~gb)(IjHh6j8B(5^8GZC!!$-z_ZK-X#2Y@^?M-5J2*UVR_rK1$3-2&L> znR!boVPemp)_7=-Zz}mR_I#U4{$6=NdI50AGqb$5)7LdmI2IcKo1(M_0INJRr--1w z0J!Ve?U-lgo-???e4pdH(BzZO7b#!U+S4WLQElf!yN`qLSr$cU5jrRh;B0iIJRp7i zV*q{@rQHG81rAJW0ObYyj1uV%BJ5iL`0HjkyO_d5&?lWQB0lAD6!*0aW?h4v&w#1P z_v!ef+pnpJF>V&(doIPCF|IKTNC0r-D&SR7+Et#Jy=OE!kr*9%gCf*HzXIK3$Js07&03HB* zt!+QK&!VcfzRsVNuWkF#z8>SNGG7FJuN@bHu47a4krDD`r2m(9HRcw(pBg@T>U$x) zx_C>yf0BwXf^SXjitxVs`p)GGfZvk7D*rlsF}E^L7j6skxpqpoPrUzW^=ZH6NV>*0 zAicRt_cpM4-qn)-Y-8iAJzpYy zYG+7&_=?irAz<;oI<{W0YWGcrdDrM3`^e$|)xutK;K(zxFG{t>500EWR=aN!B>PPbsb1{)raRGASopq2qsX@pn1!@{+kkdo{X9y)sv+f! zadAN6fTaGr)7ZZ8_YuZdtnhekc_DQ$XN;@!p$2xeI8s=%(H>*Ak9~ygBV?G0hV5hf z*gx1l#+ML62qCNx*gm$8Fusg0A%qY@SRt@|Y#(8K8Q%u}0itkp-??cd)c^nh07*qo IM6N<$f@TZS8BM=ZQ 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 z%0A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

    -I+qR&rA4xza9O@<;F(Q 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 literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/valid.gif b/sfdx-project/force-app/main/default/staticresources/extjs/resources/themes/images/neptune/valid.gif new file mode 100644 index 0000000000000000000000000000000000000000..de9442fb9cfb6b0ce5d2ffe4fc9a981f57bba90e GIT binary patch literal 170 zcmV;b09F4-Nk%w1VGsZi0J8u96`L1($9(_)|3Ixm#OB4P*{IX((@(Te@cHl~p(VE9 zwq3ekip`5`z-{94;s5{uA^8LV2LS&7EC2ui01yBW000D6P{`?sMKen^fcJ}|3C(AE zMOL0?DkvtCG`U_Z#7Sz + + Private + application/zip + diff --git a/sfdx-project/force-app/main/default/staticresources/jszip/__MACOSX/._jszip-deflate.js b/sfdx-project/force-app/main/default/staticresources/jszip/__MACOSX/._jszip-deflate.js new file mode 100644 index 0000000000000000000000000000000000000000..578ffbf024fc9bd8571faa4af1a412dee4a4340c GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kk$AStc7=yXWVp=cL9|7#TQc z6y@ipf^=9LIvN`~Te!OD8d(^d>Y5n1IO;kYo0;euxtX|`n3@|Km>62tfQ(NE>(+y4 GWdH!zbt|0! literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/jszip/__MACOSX/._jszip-inflate.js b/sfdx-project/force-app/main/default/staticresources/jszip/__MACOSX/._jszip-inflate.js new file mode 100644 index 0000000000000000000000000000000000000000..578ffbf024fc9bd8571faa4af1a412dee4a4340c GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kk$AStc7=yXWVp=cL9|7#TQc z6y@ipf^=9LIvN`~Te!OD8d(^d>Y5n1IO;kYo0;euxtX|`n3@|Km>62tfQ(NE>(+y4 GWdH!zbt|0! literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/jszip/__MACOSX/._jszip-load.js b/sfdx-project/force-app/main/default/staticresources/jszip/__MACOSX/._jszip-load.js new file mode 100644 index 0000000000000000000000000000000000000000..578ffbf024fc9bd8571faa4af1a412dee4a4340c GIT binary patch literal 244 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gX1v@xK5u5x_AdBnYYuq+J^qI7A5ADWagzZ6zUro7#Lcc8kk$AStc7=yXWVp=cL9|7#TQc z6y@ipf^=9LIvN`~Te!OD8d(^d>Y5n1IO;kYo0;euxtX|`n3@|Km>62tfQ(NE>(+y4 GWdH!zbt|0! literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/jszip/__MACOSX/._jszip.js b/sfdx-project/force-app/main/default/staticresources/jszip/__MACOSX/._jszip.js new file mode 100644 index 0000000000000000000000000000000000000000..79a775522bf3f09b181e6b48e57e669554916b41 GIT binary patch literal 82 wcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u>uf-_(4F-5aJpU0-|vN05F*aW&i*H literal 0 HcmV?d00001 diff --git a/sfdx-project/force-app/main/default/staticresources/jszip/jszip-deflate.js b/sfdx-project/force-app/main/default/staticresources/jszip/jszip-deflate.js new file mode 100644 index 0000000..bb1891a --- /dev/null +++ b/sfdx-project/force-app/main/default/staticresources/jszip/jszip-deflate.js @@ -0,0 +1,1695 @@ +/* + * Port of a script by Masanao Izumo. + * + * Only changes : wrap all the variables in a function and add the + * main function to JSZip (DEFLATE compression method). + * Everything else was written by M. Izumo. + * + * Original code can be found here: http://www.onicos.com/staff/iz/amuse/javascript/expert/deflate.txt + */ + +if(!JSZip) +{ + throw "JSZip not defined"; +} + +/* + * Original: + * http://www.onicos.com/staff/iz/amuse/javascript/expert/deflate.txt + */ + +(function(){ + +/* Copyright (C) 1999 Masanao Izumo + * Version: 1.0.1 + * LastModified: Dec 25 1999 + */ + +/* Interface: + * data = zip_deflate(src); + */ + +/* constant parameters */ +var zip_WSIZE = 32768; // Sliding Window size +var zip_STORED_BLOCK = 0; +var zip_STATIC_TREES = 1; +var zip_DYN_TREES = 2; + +/* for deflate */ +var zip_DEFAULT_LEVEL = 6; +var zip_FULL_SEARCH = true; +var zip_INBUFSIZ = 32768; // Input buffer size +var zip_INBUF_EXTRA = 64; // Extra buffer +var zip_OUTBUFSIZ = 1024 * 8; +var zip_window_size = 2 * zip_WSIZE; +var zip_MIN_MATCH = 3; +var zip_MAX_MATCH = 258; +var zip_BITS = 16; +// for SMALL_MEM +var zip_LIT_BUFSIZE = 0x2000; +var zip_HASH_BITS = 13; +// for MEDIUM_MEM +// var zip_LIT_BUFSIZE = 0x4000; +// var zip_HASH_BITS = 14; +// for BIG_MEM +// var zip_LIT_BUFSIZE = 0x8000; +// var zip_HASH_BITS = 15; +if(zip_LIT_BUFSIZE > zip_INBUFSIZ) + alert("error: zip_INBUFSIZ is too small"); +if((zip_WSIZE<<1) > (1< zip_BITS-1) + alert("error: zip_HASH_BITS is too large"); +if(zip_HASH_BITS < 8 || zip_MAX_MATCH != 258) + alert("error: Code too clever"); +var zip_DIST_BUFSIZE = zip_LIT_BUFSIZE; +var zip_HASH_SIZE = 1 << zip_HASH_BITS; +var zip_HASH_MASK = zip_HASH_SIZE - 1; +var zip_WMASK = zip_WSIZE - 1; +var zip_NIL = 0; // Tail of hash chains +var zip_TOO_FAR = 4096; +var zip_MIN_LOOKAHEAD = zip_MAX_MATCH + zip_MIN_MATCH + 1; +var zip_MAX_DIST = zip_WSIZE - zip_MIN_LOOKAHEAD; +var zip_SMALLEST = 1; +var zip_MAX_BITS = 15; +var zip_MAX_BL_BITS = 7; +var zip_LENGTH_CODES = 29; +var zip_LITERALS =256; +var zip_END_BLOCK = 256; +var zip_L_CODES = zip_LITERALS + 1 + zip_LENGTH_CODES; +var zip_D_CODES = 30; +var zip_BL_CODES = 19; +var zip_REP_3_6 = 16; +var zip_REPZ_3_10 = 17; +var zip_REPZ_11_138 = 18; +var zip_HEAP_SIZE = 2 * zip_L_CODES + 1; +var zip_H_SHIFT = parseInt((zip_HASH_BITS + zip_MIN_MATCH - 1) / + zip_MIN_MATCH); + +/* variables */ +var zip_free_queue; +var zip_qhead, zip_qtail; +var zip_initflag; +var zip_outbuf = null; +var zip_outcnt, zip_outoff; +var zip_complete; +var zip_window; +var zip_d_buf; +var zip_l_buf; +var zip_prev; +var zip_bi_buf; +var zip_bi_valid; +var zip_block_start; +var zip_ins_h; +var zip_hash_head; +var zip_prev_match; +var zip_match_available; +var zip_match_length; +var zip_prev_length; +var zip_strstart; +var zip_match_start; +var zip_eofile; +var zip_lookahead; +var zip_max_chain_length; +var zip_max_lazy_match; +var zip_compr_level; +var zip_good_match; +var zip_nice_match; +var zip_dyn_ltree; +var zip_dyn_dtree; +var zip_static_ltree; +var zip_static_dtree; +var zip_bl_tree; +var zip_l_desc; +var zip_d_desc; +var zip_bl_desc; +var zip_bl_count; +var zip_heap; +var zip_heap_len; +var zip_heap_max; +var zip_depth; +var zip_length_code; +var zip_dist_code; +var zip_base_length; +var zip_base_dist; +var zip_flag_buf; +var zip_last_lit; +var zip_last_dist; +var zip_last_flags; +var zip_flags; +var zip_flag_bit; +var zip_opt_len; +var zip_static_len; +var zip_deflate_data; +var zip_deflate_pos; + +/* objects (deflate) */ + +var zip_DeflateCT = function() { + this.fc = 0; // frequency count or bit string + this.dl = 0; // father node in Huffman tree or length of bit string +} + +var zip_DeflateTreeDesc = function() { + this.dyn_tree = null; // the dynamic tree + this.static_tree = null; // corresponding static tree or NULL + this.extra_bits = null; // extra bits for each code or NULL + this.extra_base = 0; // base index for extra_bits + this.elems = 0; // max number of elements in the tree + this.max_length = 0; // max bit length for the codes + this.max_code = 0; // largest code with non zero frequency +} + +/* Values for max_lazy_match, good_match and max_chain_length, depending on + * the desired pack level (0..9). The values given below have been tuned to + * exclude worst case performance for pathological files. Better values may be + * found for specific files. + */ +var zip_DeflateConfiguration = function(a, b, c, d) { + this.good_length = a; // reduce lazy search above this match length + this.max_lazy = b; // do not perform lazy search above this match length + this.nice_length = c; // quit search above this match length + this.max_chain = d; +} + +var zip_DeflateBuffer = function() { + this.next = null; + this.len = 0; + this.ptr = new Array(zip_OUTBUFSIZ); + this.off = 0; +} + +/* constant tables */ +var zip_extra_lbits = new Array( + 0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0); +var zip_extra_dbits = new Array( + 0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13); +var zip_extra_blbits = new Array( + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7); +var zip_bl_order = new Array( + 16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15); +var zip_configuration_table = new Array( + new zip_DeflateConfiguration(0, 0, 0, 0), + new zip_DeflateConfiguration(4, 4, 8, 4), + new zip_DeflateConfiguration(4, 5, 16, 8), + new zip_DeflateConfiguration(4, 6, 32, 32), + new zip_DeflateConfiguration(4, 4, 16, 16), + new zip_DeflateConfiguration(8, 16, 32, 32), + new zip_DeflateConfiguration(8, 16, 128, 128), + new zip_DeflateConfiguration(8, 32, 128, 256), + new zip_DeflateConfiguration(32, 128, 258, 1024), + new zip_DeflateConfiguration(32, 258, 258, 4096)); + + +/* routines (deflate) */ + +var zip_deflate_start = function(level) { + var i; + + if(!level) + level = zip_DEFAULT_LEVEL; + else if(level < 1) + level = 1; + else if(level > 9) + level = 9; + + zip_compr_level = level; + zip_initflag = false; + zip_eofile = false; + if(zip_outbuf != null) + return; + + zip_free_queue = zip_qhead = zip_qtail = null; + zip_outbuf = new Array(zip_OUTBUFSIZ); + zip_window = new Array(zip_window_size); + zip_d_buf = new Array(zip_DIST_BUFSIZE); + zip_l_buf = new Array(zip_INBUFSIZ + zip_INBUF_EXTRA); + zip_prev = new Array(1 << zip_BITS); + zip_dyn_ltree = new Array(zip_HEAP_SIZE); + for(i = 0; i < zip_HEAP_SIZE; i++) + zip_dyn_ltree[i] = new zip_DeflateCT(); + zip_dyn_dtree = new Array(2*zip_D_CODES+1); + for(i = 0; i < 2*zip_D_CODES+1; i++) + zip_dyn_dtree[i] = new zip_DeflateCT(); + zip_static_ltree = new Array(zip_L_CODES+2); + for(i = 0; i < zip_L_CODES+2; i++) + zip_static_ltree[i] = new zip_DeflateCT(); + zip_static_dtree = new Array(zip_D_CODES); + for(i = 0; i < zip_D_CODES; i++) + zip_static_dtree[i] = new zip_DeflateCT(); + zip_bl_tree = new Array(2*zip_BL_CODES+1); + for(i = 0; i < 2*zip_BL_CODES+1; i++) + zip_bl_tree[i] = new zip_DeflateCT(); + zip_l_desc = new zip_DeflateTreeDesc(); + zip_d_desc = new zip_DeflateTreeDesc(); + zip_bl_desc = new zip_DeflateTreeDesc(); + zip_bl_count = new Array(zip_MAX_BITS+1); + zip_heap = new Array(2*zip_L_CODES+1); + zip_depth = new Array(2*zip_L_CODES+1); + zip_length_code = new Array(zip_MAX_MATCH-zip_MIN_MATCH+1); + zip_dist_code = new Array(512); + zip_base_length = new Array(zip_LENGTH_CODES); + zip_base_dist = new Array(zip_D_CODES); + zip_flag_buf = new Array(parseInt(zip_LIT_BUFSIZE / 8)); +} + +var zip_deflate_end = function() { + zip_free_queue = zip_qhead = zip_qtail = null; + zip_outbuf = null; + zip_window = null; + zip_d_buf = null; + zip_l_buf = null; + zip_prev = null; + zip_dyn_ltree = null; + zip_dyn_dtree = null; + zip_static_ltree = null; + zip_static_dtree = null; + zip_bl_tree = null; + zip_l_desc = null; + zip_d_desc = null; + zip_bl_desc = null; + zip_bl_count = null; + zip_heap = null; + zip_depth = null; + zip_length_code = null; + zip_dist_code = null; + zip_base_length = null; + zip_base_dist = null; + zip_flag_buf = null; +} + +var zip_reuse_queue = function(p) { + p.next = zip_free_queue; + zip_free_queue = p; +} + +var zip_new_queue = function() { + var p; + + if(zip_free_queue != null) + { + p = zip_free_queue; + zip_free_queue = zip_free_queue.next; + } + else + p = new zip_DeflateBuffer(); + p.next = null; + p.len = p.off = 0; + + return p; +} + +var zip_head1 = function(i) { + return zip_prev[zip_WSIZE + i]; +} + +var zip_head2 = function(i, val) { + return zip_prev[zip_WSIZE + i] = val; +} + +/* put_byte is used for the compressed output, put_ubyte for the + * uncompressed output. However unlzw() uses window for its + * suffix table instead of its output buffer, so it does not use put_ubyte + * (to be cleaned up). + */ +var zip_put_byte = function(c) { + zip_outbuf[zip_outoff + zip_outcnt++] = c; + if(zip_outoff + zip_outcnt == zip_OUTBUFSIZ) + zip_qoutbuf(); +} + +/* Output a 16 bit value, lsb first */ +var zip_put_short = function(w) { + w &= 0xffff; + if(zip_outoff + zip_outcnt < zip_OUTBUFSIZ - 2) { + zip_outbuf[zip_outoff + zip_outcnt++] = (w & 0xff); + zip_outbuf[zip_outoff + zip_outcnt++] = (w >>> 8); + } else { + zip_put_byte(w & 0xff); + zip_put_byte(w >>> 8); + } +} + +/* ========================================================================== + * Insert string s in the dictionary and set match_head to the previous head + * of the hash chain (the most recent string with same hash key). Return + * the previous length of the hash chain. + * IN assertion: all calls to to INSERT_STRING are made with consecutive + * input characters and the first MIN_MATCH bytes of s are valid + * (except for the last MIN_MATCH-1 bytes of the input file). + */ +var zip_INSERT_STRING = function() { + zip_ins_h = ((zip_ins_h << zip_H_SHIFT) + ^ (zip_window[zip_strstart + zip_MIN_MATCH - 1] & 0xff)) + & zip_HASH_MASK; + zip_hash_head = zip_head1(zip_ins_h); + zip_prev[zip_strstart & zip_WMASK] = zip_hash_head; + zip_head2(zip_ins_h, zip_strstart); +} + +/* Send a code of the given tree. c and tree must not have side effects */ +var zip_SEND_CODE = function(c, tree) { + zip_send_bits(tree[c].fc, tree[c].dl); +} + +/* Mapping from a distance to a distance code. dist is the distance - 1 and + * must not have side effects. dist_code[256] and dist_code[257] are never + * used. + */ +var zip_D_CODE = function(dist) { + return (dist < 256 ? zip_dist_code[dist] + : zip_dist_code[256 + (dist>>7)]) & 0xff; +} + +/* ========================================================================== + * Compares to subtrees, using the tree depth as tie breaker when + * the subtrees have equal frequency. This minimizes the worst case length. + */ +var zip_SMALLER = function(tree, n, m) { + return tree[n].fc < tree[m].fc || + (tree[n].fc == tree[m].fc && zip_depth[n] <= zip_depth[m]); +} + +/* ========================================================================== + * read string data + */ +var zip_read_buff = function(buff, offset, n) { + var i; + for(i = 0; i < n && zip_deflate_pos < zip_deflate_data.length; i++) + buff[offset + i] = + zip_deflate_data.charCodeAt(zip_deflate_pos++) & 0xff; + return i; +} + +/* ========================================================================== + * Initialize the "longest match" routines for a new file + */ +var zip_lm_init = function() { + var j; + + /* Initialize the hash table. */ + for(j = 0; j < zip_HASH_SIZE; j++) +// zip_head2(j, zip_NIL); + zip_prev[zip_WSIZE + j] = 0; + /* prev will be initialized on the fly */ + + /* Set the default configuration parameters: + */ + zip_max_lazy_match = zip_configuration_table[zip_compr_level].max_lazy; + zip_good_match = zip_configuration_table[zip_compr_level].good_length; + if(!zip_FULL_SEARCH) + zip_nice_match = zip_configuration_table[zip_compr_level].nice_length; + zip_max_chain_length = zip_configuration_table[zip_compr_level].max_chain; + + zip_strstart = 0; + zip_block_start = 0; + + zip_lookahead = zip_read_buff(zip_window, 0, 2 * zip_WSIZE); + if(zip_lookahead <= 0) { + zip_eofile = true; + zip_lookahead = 0; + return; + } + zip_eofile = false; + /* Make sure that we always have enough lookahead. This is important + * if input comes from a device such as a tty. + */ + while(zip_lookahead < zip_MIN_LOOKAHEAD && !zip_eofile) + zip_fill_window(); + + /* If lookahead < MIN_MATCH, ins_h is garbage, but this is + * not important since only literal bytes will be emitted. + */ + zip_ins_h = 0; + for(j = 0; j < zip_MIN_MATCH - 1; j++) { +// UPDATE_HASH(ins_h, window[j]); + zip_ins_h = ((zip_ins_h << zip_H_SHIFT) ^ (zip_window[j] & 0xff)) & zip_HASH_MASK; + } +} + +/* ========================================================================== + * Set match_start to the longest match starting at the given string and + * return its length. Matches shorter or equal to prev_length are discarded, + * in which case the result is equal to prev_length and match_start is + * garbage. + * IN assertions: cur_match is the head of the hash chain for the current + * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1 + */ +var zip_longest_match = function(cur_match) { + var chain_length = zip_max_chain_length; // max hash chain length + var scanp = zip_strstart; // current string + var matchp; // matched string + var len; // length of current match + var best_len = zip_prev_length; // best match length so far + + /* Stop when cur_match becomes <= limit. To simplify the code, + * we prevent matches with the string of window index 0. + */ + var limit = (zip_strstart > zip_MAX_DIST ? zip_strstart - zip_MAX_DIST : zip_NIL); + + var strendp = zip_strstart + zip_MAX_MATCH; + var scan_end1 = zip_window[scanp + best_len - 1]; + var scan_end = zip_window[scanp + best_len]; + + /* Do not waste too much time if we already have a good match: */ + if(zip_prev_length >= zip_good_match) + chain_length >>= 2; + +// Assert(encoder->strstart <= window_size-MIN_LOOKAHEAD, "insufficient lookahead"); + + do { +// Assert(cur_match < encoder->strstart, "no future"); + matchp = cur_match; + + /* Skip to next match if the match length cannot increase + * or if the match length is less than 2: + */ + if(zip_window[matchp + best_len] != scan_end || + zip_window[matchp + best_len - 1] != scan_end1 || + zip_window[matchp] != zip_window[scanp] || + zip_window[++matchp] != zip_window[scanp + 1]) { + continue; + } + + /* The check at best_len-1 can be removed because it will be made + * again later. (This heuristic is not always a win.) + * It is not necessary to compare scan[2] and match[2] since they + * are always equal when the other bytes match, given that + * the hash keys are equal and that HASH_BITS >= 8. + */ + scanp += 2; + matchp++; + + /* We check for insufficient lookahead only every 8th comparison; + * the 256th check will be made at strstart+258. + */ + do { + } while(zip_window[++scanp] == zip_window[++matchp] && + zip_window[++scanp] == zip_window[++matchp] && + zip_window[++scanp] == zip_window[++matchp] && + zip_window[++scanp] == zip_window[++matchp] && + zip_window[++scanp] == zip_window[++matchp] && + zip_window[++scanp] == zip_window[++matchp] && + zip_window[++scanp] == zip_window[++matchp] && + zip_window[++scanp] == zip_window[++matchp] && + scanp < strendp); + + len = zip_MAX_MATCH - (strendp - scanp); + scanp = strendp - zip_MAX_MATCH; + + if(len > best_len) { + zip_match_start = cur_match; + best_len = len; + if(zip_FULL_SEARCH) { + if(len >= zip_MAX_MATCH) break; + } else { + if(len >= zip_nice_match) break; + } + + scan_end1 = zip_window[scanp + best_len-1]; + scan_end = zip_window[scanp + best_len]; + } + } while((cur_match = zip_prev[cur_match & zip_WMASK]) > limit + && --chain_length != 0); + + return best_len; +} + +/* ========================================================================== + * Fill the window when the lookahead becomes insufficient. + * Updates strstart and lookahead, and sets eofile if end of input file. + * IN assertion: lookahead < MIN_LOOKAHEAD && strstart + lookahead > 0 + * OUT assertions: at least one byte has been read, or eofile is set; + * file reads are performed for at least two bytes (required for the + * translate_eol option). + */ +var zip_fill_window = function() { + var n, m; + + // Amount of free space at the end of the window. + var more = zip_window_size - zip_lookahead - zip_strstart; + + /* If the window is almost full and there is insufficient lookahead, + * move the upper half to the lower one to make room in the upper half. + */ + if(more == -1) { + /* Very unlikely, but possible on 16 bit machine if strstart == 0 + * and lookahead == 1 (input done one byte at time) + */ + more--; + } else if(zip_strstart >= zip_WSIZE + zip_MAX_DIST) { + /* By the IN assertion, the window is not empty so we can't confuse + * more == 0 with more == 64K on a 16 bit machine. + */ +// Assert(window_size == (ulg)2*WSIZE, "no sliding with BIG_MEM"); + +// System.arraycopy(window, WSIZE, window, 0, WSIZE); + for(n = 0; n < zip_WSIZE; n++) + zip_window[n] = zip_window[n + zip_WSIZE]; + + zip_match_start -= zip_WSIZE; + zip_strstart -= zip_WSIZE; /* we now have strstart >= MAX_DIST: */ + zip_block_start -= zip_WSIZE; + + for(n = 0; n < zip_HASH_SIZE; n++) { + m = zip_head1(n); + zip_head2(n, m >= zip_WSIZE ? m - zip_WSIZE : zip_NIL); + } + for(n = 0; n < zip_WSIZE; n++) { + /* If n is not on any hash chain, prev[n] is garbage but + * its value will never be used. + */ + m = zip_prev[n]; + zip_prev[n] = (m >= zip_WSIZE ? m - zip_WSIZE : zip_NIL); + } + more += zip_WSIZE; + } + // At this point, more >= 2 + if(!zip_eofile) { + n = zip_read_buff(zip_window, zip_strstart + zip_lookahead, more); + if(n <= 0) + zip_eofile = true; + else + zip_lookahead += n; + } +} + +/* ========================================================================== + * Processes a new input file and return its compressed length. This + * function does not perform lazy evaluationof matches and inserts + * new strings in the dictionary only for unmatched strings or for short + * matches. It is used only for the fast compression options. + */ +var zip_deflate_fast = function() { + while(zip_lookahead != 0 && zip_qhead == null) { + var flush; // set if current block must be flushed + + /* Insert the string window[strstart .. strstart+2] in the + * dictionary, and set hash_head to the head of the hash chain: + */ + zip_INSERT_STRING(); + + /* Find the longest match, discarding those <= prev_length. + * At this point we have always match_length < MIN_MATCH + */ + if(zip_hash_head != zip_NIL && + zip_strstart - zip_hash_head <= zip_MAX_DIST) { + /* To simplify the code, we prevent matches with the string + * of window index 0 (in particular we have to avoid a match + * of the string with itself at the start of the input file). + */ + zip_match_length = zip_longest_match(zip_hash_head); + /* longest_match() sets match_start */ + if(zip_match_length > zip_lookahead) + zip_match_length = zip_lookahead; + } + if(zip_match_length >= zip_MIN_MATCH) { +// check_match(strstart, match_start, match_length); + + flush = zip_ct_tally(zip_strstart - zip_match_start, + zip_match_length - zip_MIN_MATCH); + zip_lookahead -= zip_match_length; + + /* Insert new strings in the hash table only if the match length + * is not too large. This saves time but degrades compression. + */ + if(zip_match_length <= zip_max_lazy_match) { + zip_match_length--; // string at strstart already in hash table + do { + zip_strstart++; + zip_INSERT_STRING(); + /* strstart never exceeds WSIZE-MAX_MATCH, so there are + * always MIN_MATCH bytes ahead. If lookahead < MIN_MATCH + * these bytes are garbage, but it does not matter since + * the next lookahead bytes will be emitted as literals. + */ + } while(--zip_match_length != 0); + zip_strstart++; + } else { + zip_strstart += zip_match_length; + zip_match_length = 0; + zip_ins_h = zip_window[zip_strstart] & 0xff; +// UPDATE_HASH(ins_h, window[strstart + 1]); + zip_ins_h = ((zip_ins_h< zip_lookahead) + zip_match_length = zip_lookahead; + + /* Ignore a length 3 match if it is too distant: */ + if(zip_match_length == zip_MIN_MATCH && + zip_strstart - zip_match_start > zip_TOO_FAR) { + /* If prev_match is also MIN_MATCH, match_start is garbage + * but we will ignore the current match anyway. + */ + zip_match_length--; + } + } + /* If there was a match at the previous step and the current + * match is not better, output the previous match: + */ + if(zip_prev_length >= zip_MIN_MATCH && + zip_match_length <= zip_prev_length) { + var flush; // set if current block must be flushed + +// check_match(strstart - 1, prev_match, prev_length); + flush = zip_ct_tally(zip_strstart - 1 - zip_prev_match, + zip_prev_length - zip_MIN_MATCH); + + /* Insert in hash table all strings up to the end of the match. + * strstart-1 and strstart are already inserted. + */ + zip_lookahead -= zip_prev_length - 1; + zip_prev_length -= 2; + do { + zip_strstart++; + zip_INSERT_STRING(); + /* strstart never exceeds WSIZE-MAX_MATCH, so there are + * always MIN_MATCH bytes ahead. If lookahead < MIN_MATCH + * these bytes are garbage, but it does not matter since the + * next lookahead bytes will always be emitted as literals. + */ + } while(--zip_prev_length != 0); + zip_match_available = 0; + zip_match_length = zip_MIN_MATCH - 1; + zip_strstart++; + if(flush) { + zip_flush_block(0); + zip_block_start = zip_strstart; + } + } else if(zip_match_available != 0) { + /* If there was no match at the previous position, output a + * single literal. If there was a match but the current match + * is longer, truncate the previous match to a single literal. + */ + if(zip_ct_tally(0, zip_window[zip_strstart - 1] & 0xff)) { + zip_flush_block(0); + zip_block_start = zip_strstart; + } + zip_strstart++; + zip_lookahead--; + } else { + /* There is no previous match to compare with, wait for + * the next step to decide. + */ + zip_match_available = 1; + zip_strstart++; + zip_lookahead--; + } + + /* Make sure that we always have enough lookahead, except + * at the end of the input file. We need MAX_MATCH bytes + * for the next match, plus MIN_MATCH bytes to insert the + * string following the next match. + */ + while(zip_lookahead < zip_MIN_LOOKAHEAD && !zip_eofile) + zip_fill_window(); + } +} + +var zip_init_deflate = function() { + if(zip_eofile) + return; + zip_bi_buf = 0; + zip_bi_valid = 0; + zip_ct_init(); + zip_lm_init(); + + zip_qhead = null; + zip_outcnt = 0; + zip_outoff = 0; + + if(zip_compr_level <= 3) + { + zip_prev_length = zip_MIN_MATCH - 1; + zip_match_length = 0; + } + else + { + zip_match_length = zip_MIN_MATCH - 1; + zip_match_available = 0; + } + + zip_complete = false; +} + +/* ========================================================================== + * Same as above, but achieves better compression. We use a lazy + * evaluation for matches: a match is finally adopted only if there is + * no better match at the next window position. + */ +var zip_deflate_internal = function(buff, off, buff_size) { + var n; + + if(!zip_initflag) + { + zip_init_deflate(); + zip_initflag = true; + if(zip_lookahead == 0) { // empty + zip_complete = true; + return 0; + } + } + + if((n = zip_qcopy(buff, off, buff_size)) == buff_size) + return buff_size; + + if(zip_complete) + return n; + + if(zip_compr_level <= 3) // optimized for speed + zip_deflate_fast(); + else + zip_deflate_better(); + if(zip_lookahead == 0) { + if(zip_match_available != 0) + zip_ct_tally(0, zip_window[zip_strstart - 1] & 0xff); + zip_flush_block(1); + zip_complete = true; + } + return n + zip_qcopy(buff, n + off, buff_size - n); +} + +var zip_qcopy = function(buff, off, buff_size) { + var n, i, j; + + n = 0; + while(zip_qhead != null && n < buff_size) + { + i = buff_size - n; + if(i > zip_qhead.len) + i = zip_qhead.len; +// System.arraycopy(qhead.ptr, qhead.off, buff, off + n, i); + for(j = 0; j < i; j++) + buff[off + n + j] = zip_qhead.ptr[zip_qhead.off + j]; + + zip_qhead.off += i; + zip_qhead.len -= i; + n += i; + if(zip_qhead.len == 0) { + var p; + p = zip_qhead; + zip_qhead = zip_qhead.next; + zip_reuse_queue(p); + } + } + + if(n == buff_size) + return n; + + if(zip_outoff < zip_outcnt) { + i = buff_size - n; + if(i > zip_outcnt - zip_outoff) + i = zip_outcnt - zip_outoff; + // System.arraycopy(outbuf, outoff, buff, off + n, i); + for(j = 0; j < i; j++) + buff[off + n + j] = zip_outbuf[zip_outoff + j]; + zip_outoff += i; + n += i; + if(zip_outcnt == zip_outoff) + zip_outcnt = zip_outoff = 0; + } + return n; +} + +/* ========================================================================== + * Allocate the match buffer, initialize the various tables and save the + * location of the internal file attribute (ascii/binary) and method + * (DEFLATE/STORE). + */ +var zip_ct_init = function() { + var n; // iterates over tree elements + var bits; // bit counter + var length; // length value + var code; // code value + var dist; // distance index + + if(zip_static_dtree[0].dl != 0) return; // ct_init already called + + zip_l_desc.dyn_tree = zip_dyn_ltree; + zip_l_desc.static_tree = zip_static_ltree; + zip_l_desc.extra_bits = zip_extra_lbits; + zip_l_desc.extra_base = zip_LITERALS + 1; + zip_l_desc.elems = zip_L_CODES; + zip_l_desc.max_length = zip_MAX_BITS; + zip_l_desc.max_code = 0; + + zip_d_desc.dyn_tree = zip_dyn_dtree; + zip_d_desc.static_tree = zip_static_dtree; + zip_d_desc.extra_bits = zip_extra_dbits; + zip_d_desc.extra_base = 0; + zip_d_desc.elems = zip_D_CODES; + zip_d_desc.max_length = zip_MAX_BITS; + zip_d_desc.max_code = 0; + + zip_bl_desc.dyn_tree = zip_bl_tree; + zip_bl_desc.static_tree = null; + zip_bl_desc.extra_bits = zip_extra_blbits; + zip_bl_desc.extra_base = 0; + zip_bl_desc.elems = zip_BL_CODES; + zip_bl_desc.max_length = zip_MAX_BL_BITS; + zip_bl_desc.max_code = 0; + + // Initialize the mapping length (0..255) -> length code (0..28) + length = 0; + for(code = 0; code < zip_LENGTH_CODES-1; code++) { + zip_base_length[code] = length; + for(n = 0; n < (1< dist code (0..29) */ + dist = 0; + for(code = 0 ; code < 16; code++) { + zip_base_dist[code] = dist; + for(n = 0; n < (1<>= 7; // from now on, all distances are divided by 128 + for( ; code < zip_D_CODES; code++) { + zip_base_dist[code] = dist << 7; + for(n = 0; n < (1<<(zip_extra_dbits[code]-7)); n++) + zip_dist_code[256 + dist++] = code; + } + // Assert (dist == 256, "ct_init: 256+dist != 512"); + + // Construct the codes of the static literal tree + for(bits = 0; bits <= zip_MAX_BITS; bits++) + zip_bl_count[bits] = 0; + n = 0; + while(n <= 143) { zip_static_ltree[n++].dl = 8; zip_bl_count[8]++; } + while(n <= 255) { zip_static_ltree[n++].dl = 9; zip_bl_count[9]++; } + while(n <= 279) { zip_static_ltree[n++].dl = 7; zip_bl_count[7]++; } + while(n <= 287) { zip_static_ltree[n++].dl = 8; zip_bl_count[8]++; } + /* Codes 286 and 287 do not exist, but we must include them in the + * tree construction to get a canonical Huffman tree (longest code + * all ones) + */ + zip_gen_codes(zip_static_ltree, zip_L_CODES + 1); + + /* The static distance tree is trivial: */ + for(n = 0; n < zip_D_CODES; n++) { + zip_static_dtree[n].dl = 5; + zip_static_dtree[n].fc = zip_bi_reverse(n, 5); + } + + // Initialize the first block of the first file: + zip_init_block(); +} + +/* ========================================================================== + * Initialize a new block. + */ +var zip_init_block = function() { + var n; // iterates over tree elements + + // Initialize the trees. + for(n = 0; n < zip_L_CODES; n++) zip_dyn_ltree[n].fc = 0; + for(n = 0; n < zip_D_CODES; n++) zip_dyn_dtree[n].fc = 0; + for(n = 0; n < zip_BL_CODES; n++) zip_bl_tree[n].fc = 0; + + zip_dyn_ltree[zip_END_BLOCK].fc = 1; + zip_opt_len = zip_static_len = 0; + zip_last_lit = zip_last_dist = zip_last_flags = 0; + zip_flags = 0; + zip_flag_bit = 1; +} + +/* ========================================================================== + * Restore the heap property by moving down the tree starting at node k, + * exchanging a node with the smallest of its two sons if necessary, stopping + * when the heap property is re-established (each father smaller than its + * two sons). + */ +var zip_pqdownheap = function( + tree, // the tree to restore + k) { // node to move down + var v = zip_heap[k]; + var j = k << 1; // left son of k + + while(j <= zip_heap_len) { + // Set j to the smallest of the two sons: + if(j < zip_heap_len && + zip_SMALLER(tree, zip_heap[j + 1], zip_heap[j])) + j++; + + // Exit if v is smaller than both sons + if(zip_SMALLER(tree, v, zip_heap[j])) + break; + + // Exchange v with the smallest son + zip_heap[k] = zip_heap[j]; + k = j; + + // And continue down the tree, setting j to the left son of k + j <<= 1; + } + zip_heap[k] = v; +} + +/* ========================================================================== + * Compute the optimal bit lengths for a tree and update the total bit length + * for the current block. + * IN assertion: the fields freq and dad are set, heap[heap_max] and + * above are the tree nodes sorted by increasing frequency. + * OUT assertions: the field len is set to the optimal bit length, the + * array bl_count contains the frequencies for each bit length. + * The length opt_len is updated; static_len is also updated if stree is + * not null. + */ +var zip_gen_bitlen = function(desc) { // the tree descriptor + var tree = desc.dyn_tree; + var extra = desc.extra_bits; + var base = desc.extra_base; + var max_code = desc.max_code; + var max_length = desc.max_length; + var stree = desc.static_tree; + var h; // heap index + var n, m; // iterate over the tree elements + var bits; // bit length + var xbits; // extra bits + var f; // frequency + var overflow = 0; // number of elements with bit length too large + + for(bits = 0; bits <= zip_MAX_BITS; bits++) + zip_bl_count[bits] = 0; + + /* In a first pass, compute the optimal bit lengths (which may + * overflow in the case of the bit length tree). + */ + tree[zip_heap[zip_heap_max]].dl = 0; // root of the heap + + for(h = zip_heap_max + 1; h < zip_HEAP_SIZE; h++) { + n = zip_heap[h]; + bits = tree[tree[n].dl].dl + 1; + if(bits > max_length) { + bits = max_length; + overflow++; + } + tree[n].dl = bits; + // We overwrite tree[n].dl which is no longer needed + + if(n > max_code) + continue; // not a leaf node + + zip_bl_count[bits]++; + xbits = 0; + if(n >= base) + xbits = extra[n - base]; + f = tree[n].fc; + zip_opt_len += f * (bits + xbits); + if(stree != null) + zip_static_len += f * (stree[n].dl + xbits); + } + if(overflow == 0) + return; + + // This happens for example on obj2 and pic of the Calgary corpus + + // Find the first bit length which could increase: + do { + bits = max_length - 1; + while(zip_bl_count[bits] == 0) + bits--; + zip_bl_count[bits]--; // move one leaf down the tree + zip_bl_count[bits + 1] += 2; // move one overflow item as its brother + zip_bl_count[max_length]--; + /* The brother of the overflow item also moves one step up, + * but this does not affect bl_count[max_length] + */ + overflow -= 2; + } while(overflow > 0); + + /* Now recompute all bit lengths, scanning in increasing frequency. + * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all + * lengths instead of fixing only the wrong ones. This idea is taken + * from 'ar' written by Haruhiko Okumura.) + */ + for(bits = max_length; bits != 0; bits--) { + n = zip_bl_count[bits]; + while(n != 0) { + m = zip_heap[--h]; + if(m > max_code) + continue; + if(tree[m].dl != bits) { + zip_opt_len += (bits - tree[m].dl) * tree[m].fc; + tree[m].fc = bits; + } + n--; + } + } +} + + /* ========================================================================== + * Generate the codes for a given tree and bit counts (which need not be + * optimal). + * IN assertion: the array bl_count contains the bit length statistics for + * the given tree and the field len is set for all tree elements. + * OUT assertion: the field code is set for all tree elements of non + * zero code length. + */ +var zip_gen_codes = function(tree, // the tree to decorate + max_code) { // largest code with non zero frequency + var next_code = new Array(zip_MAX_BITS+1); // next code value for each bit length + var code = 0; // running code value + var bits; // bit index + var n; // code index + + /* The distribution counts are first used to generate the code values + * without bit reversal. + */ + for(bits = 1; bits <= zip_MAX_BITS; bits++) { + code = ((code + zip_bl_count[bits-1]) << 1); + next_code[bits] = code; + } + + /* Check that the bit counts in bl_count are consistent. The last code + * must be all ones. + */ +// Assert (code + encoder->bl_count[MAX_BITS]-1 == (1<> 1; n >= 1; n--) + zip_pqdownheap(tree, n); + + /* Construct the Huffman tree by repeatedly combining the least two + * frequent nodes. + */ + do { + n = zip_heap[zip_SMALLEST]; + zip_heap[zip_SMALLEST] = zip_heap[zip_heap_len--]; + zip_pqdownheap(tree, zip_SMALLEST); + + m = zip_heap[zip_SMALLEST]; // m = node of next least frequency + + // keep the nodes sorted by frequency + zip_heap[--zip_heap_max] = n; + zip_heap[--zip_heap_max] = m; + + // Create a new node father of n and m + tree[node].fc = tree[n].fc + tree[m].fc; +// depth[node] = (char)(MAX(depth[n], depth[m]) + 1); + if(zip_depth[n] > zip_depth[m] + 1) + zip_depth[node] = zip_depth[n]; + else + zip_depth[node] = zip_depth[m] + 1; + tree[n].dl = tree[m].dl = node; + + // and insert the new node in the heap + zip_heap[zip_SMALLEST] = node++; + zip_pqdownheap(tree, zip_SMALLEST); + + } while(zip_heap_len >= 2); + + zip_heap[--zip_heap_max] = zip_heap[zip_SMALLEST]; + + /* At this point, the fields freq and dad are set. We can now + * generate the bit lengths. + */ + zip_gen_bitlen(desc); + + // The field len is now set, we can generate the bit codes + zip_gen_codes(tree, max_code); +} + +/* ========================================================================== + * Scan a literal or distance tree to determine the frequencies of the codes + * in the bit length tree. Updates opt_len to take into account the repeat + * counts. (The contribution of the bit length codes will be added later + * during the construction of bl_tree.) + */ +var zip_scan_tree = function(tree,// the tree to be scanned + max_code) { // and its largest code of non zero frequency + var n; // iterates over all tree elements + var prevlen = -1; // last emitted length + var curlen; // length of current code + var nextlen = tree[0].dl; // length of next code + var count = 0; // repeat count of the current code + var max_count = 7; // max repeat count + var min_count = 4; // min repeat count + + if(nextlen == 0) { + max_count = 138; + min_count = 3; + } + tree[max_code + 1].dl = 0xffff; // guard + + for(n = 0; n <= max_code; n++) { + curlen = nextlen; + nextlen = tree[n + 1].dl; + if(++count < max_count && curlen == nextlen) + continue; + else if(count < min_count) + zip_bl_tree[curlen].fc += count; + else if(curlen != 0) { + if(curlen != prevlen) + zip_bl_tree[curlen].fc++; + zip_bl_tree[zip_REP_3_6].fc++; + } else if(count <= 10) + zip_bl_tree[zip_REPZ_3_10].fc++; + else + zip_bl_tree[zip_REPZ_11_138].fc++; + count = 0; prevlen = curlen; + if(nextlen == 0) { + max_count = 138; + min_count = 3; + } else if(curlen == nextlen) { + max_count = 6; + min_count = 3; + } else { + max_count = 7; + min_count = 4; + } + } +} + + /* ========================================================================== + * Send a literal or distance tree in compressed form, using the codes in + * bl_tree. + */ +var zip_send_tree = function(tree, // the tree to be scanned + max_code) { // and its largest code of non zero frequency + var n; // iterates over all tree elements + var prevlen = -1; // last emitted length + var curlen; // length of current code + var nextlen = tree[0].dl; // length of next code + var count = 0; // repeat count of the current code + var max_count = 7; // max repeat count + var min_count = 4; // min repeat count + + /* tree[max_code+1].dl = -1; */ /* guard already set */ + if(nextlen == 0) { + max_count = 138; + min_count = 3; + } + + for(n = 0; n <= max_code; n++) { + curlen = nextlen; + nextlen = tree[n+1].dl; + if(++count < max_count && curlen == nextlen) { + continue; + } else if(count < min_count) { + do { zip_SEND_CODE(curlen, zip_bl_tree); } while(--count != 0); + } else if(curlen != 0) { + if(curlen != prevlen) { + zip_SEND_CODE(curlen, zip_bl_tree); + count--; + } + // Assert(count >= 3 && count <= 6, " 3_6?"); + zip_SEND_CODE(zip_REP_3_6, zip_bl_tree); + zip_send_bits(count - 3, 2); + } else if(count <= 10) { + zip_SEND_CODE(zip_REPZ_3_10, zip_bl_tree); + zip_send_bits(count-3, 3); + } else { + zip_SEND_CODE(zip_REPZ_11_138, zip_bl_tree); + zip_send_bits(count-11, 7); + } + count = 0; + prevlen = curlen; + if(nextlen == 0) { + max_count = 138; + min_count = 3; + } else if(curlen == nextlen) { + max_count = 6; + min_count = 3; + } else { + max_count = 7; + min_count = 4; + } + } +} + +/* ========================================================================== + * Construct the Huffman tree for the bit lengths and return the index in + * bl_order of the last bit length code to send. + */ +var zip_build_bl_tree = function() { + var max_blindex; // index of last bit length code of non zero freq + + // Determine the bit length frequencies for literal and distance trees + zip_scan_tree(zip_dyn_ltree, zip_l_desc.max_code); + zip_scan_tree(zip_dyn_dtree, zip_d_desc.max_code); + + // Build the bit length tree: + zip_build_tree(zip_bl_desc); + /* opt_len now includes the length of the tree representations, except + * the lengths of the bit lengths codes and the 5+5+4 bits for the counts. + */ + + /* Determine the number of bit length codes to send. The pkzip format + * requires that at least 4 bit length codes be sent. (appnote.txt says + * 3 but the actual value used is 4.) + */ + for(max_blindex = zip_BL_CODES-1; max_blindex >= 3; max_blindex--) { + if(zip_bl_tree[zip_bl_order[max_blindex]].dl != 0) break; + } + /* Update opt_len to include the bit length tree and counts */ + zip_opt_len += 3*(max_blindex+1) + 5+5+4; +// Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld", +// encoder->opt_len, encoder->static_len)); + + return max_blindex; +} + +/* ========================================================================== + * Send the header for a block using dynamic Huffman trees: the counts, the + * lengths of the bit length codes, the literal tree and the distance tree. + * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4. + */ +var zip_send_all_trees = function(lcodes, dcodes, blcodes) { // number of codes for each tree + var rank; // index in bl_order + +// Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes"); +// Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES, +// "too many codes"); +// Tracev((stderr, "\nbl counts: ")); + zip_send_bits(lcodes-257, 5); // not +255 as stated in appnote.txt + zip_send_bits(dcodes-1, 5); + zip_send_bits(blcodes-4, 4); // not -3 as stated in appnote.txt + for(rank = 0; rank < blcodes; rank++) { +// Tracev((stderr, "\nbl code %2d ", bl_order[rank])); + zip_send_bits(zip_bl_tree[zip_bl_order[rank]].dl, 3); + } + + // send the literal tree + zip_send_tree(zip_dyn_ltree,lcodes-1); + + // send the distance tree + zip_send_tree(zip_dyn_dtree,dcodes-1); +} + +/* ========================================================================== + * Determine the best encoding for the current block: dynamic trees, static + * trees or store, and output the encoded block to the zip file. + */ +var zip_flush_block = function(eof) { // true if this is the last block for a file + var opt_lenb, static_lenb; // opt_len and static_len in bytes + var max_blindex; // index of last bit length code of non zero freq + var stored_len; // length of input block + + stored_len = zip_strstart - zip_block_start; + zip_flag_buf[zip_last_flags] = zip_flags; // Save the flags for the last 8 items + + // Construct the literal and distance trees + zip_build_tree(zip_l_desc); +// Tracev((stderr, "\nlit data: dyn %ld, stat %ld", +// encoder->opt_len, encoder->static_len)); + + zip_build_tree(zip_d_desc); +// Tracev((stderr, "\ndist data: dyn %ld, stat %ld", +// encoder->opt_len, encoder->static_len)); + /* At this point, opt_len and static_len are the total bit lengths of + * the compressed block data, excluding the tree representations. + */ + + /* Build the bit length tree for the above two trees, and get the index + * in bl_order of the last bit length code to send. + */ + max_blindex = zip_build_bl_tree(); + + // Determine the best encoding. Compute first the block length in bytes + opt_lenb = (zip_opt_len +3+7)>>3; + static_lenb = (zip_static_len+3+7)>>3; + +// Trace((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u dist %u ", +// opt_lenb, encoder->opt_len, +// static_lenb, encoder->static_len, stored_len, +// encoder->last_lit, encoder->last_dist)); + + if(static_lenb <= opt_lenb) + opt_lenb = static_lenb; + if(stored_len + 4 <= opt_lenb // 4: two words for the lengths + && zip_block_start >= 0) { + var i; + + /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE. + * Otherwise we can't have processed more than WSIZE input bytes since + * the last block flush, because compression would have been + * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to + * transform a block into a stored block. + */ + zip_send_bits((zip_STORED_BLOCK<<1)+eof, 3); /* send block type */ + zip_bi_windup(); /* align on byte boundary */ + zip_put_short(stored_len); + zip_put_short(~stored_len); + + // copy block +/* + p = &window[block_start]; + for(i = 0; i < stored_len; i++) + put_byte(p[i]); +*/ + for(i = 0; i < stored_len; i++) + zip_put_byte(zip_window[zip_block_start + i]); + + } else if(static_lenb == opt_lenb) { + zip_send_bits((zip_STATIC_TREES<<1)+eof, 3); + zip_compress_block(zip_static_ltree, zip_static_dtree); + } else { + zip_send_bits((zip_DYN_TREES<<1)+eof, 3); + zip_send_all_trees(zip_l_desc.max_code+1, + zip_d_desc.max_code+1, + max_blindex+1); + zip_compress_block(zip_dyn_ltree, zip_dyn_dtree); + } + + zip_init_block(); + + if(eof != 0) + zip_bi_windup(); +} + +/* ========================================================================== + * Save the match info and tally the frequency counts. Return true if + * the current block must be flushed. + */ +var zip_ct_tally = function( + dist, // distance of matched string + lc) { // match length-MIN_MATCH or unmatched char (if dist==0) + zip_l_buf[zip_last_lit++] = lc; + if(dist == 0) { + // lc is the unmatched char + zip_dyn_ltree[lc].fc++; + } else { + // Here, lc is the match length - MIN_MATCH + dist--; // dist = match distance - 1 +// Assert((ush)dist < (ush)MAX_DIST && +// (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) && +// (ush)D_CODE(dist) < (ush)D_CODES, "ct_tally: bad match"); + + zip_dyn_ltree[zip_length_code[lc]+zip_LITERALS+1].fc++; + zip_dyn_dtree[zip_D_CODE(dist)].fc++; + + zip_d_buf[zip_last_dist++] = dist; + zip_flags |= zip_flag_bit; + } + zip_flag_bit <<= 1; + + // Output the flags if they fill a byte + if((zip_last_lit & 7) == 0) { + zip_flag_buf[zip_last_flags++] = zip_flags; + zip_flags = 0; + zip_flag_bit = 1; + } + // Try to guess if it is profitable to stop the current block here + if(zip_compr_level > 2 && (zip_last_lit & 0xfff) == 0) { + // Compute an upper bound for the compressed length + var out_length = zip_last_lit * 8; + var in_length = zip_strstart - zip_block_start; + var dcode; + + for(dcode = 0; dcode < zip_D_CODES; dcode++) { + out_length += zip_dyn_dtree[dcode].fc * (5 + zip_extra_dbits[dcode]); + } + out_length >>= 3; +// Trace((stderr,"\nlast_lit %u, last_dist %u, in %ld, out ~%ld(%ld%%) ", +// encoder->last_lit, encoder->last_dist, in_length, out_length, +// 100L - out_length*100L/in_length)); + if(zip_last_dist < parseInt(zip_last_lit/2) && + out_length < parseInt(in_length/2)) + return true; + } + return (zip_last_lit == zip_LIT_BUFSIZE-1 || + zip_last_dist == zip_DIST_BUFSIZE); + /* We avoid equality with LIT_BUFSIZE because of wraparound at 64K + * on 16 bit machines and because stored blocks are restricted to + * 64K-1 bytes. + */ +} + + /* ========================================================================== + * Send the block data compressed using the given Huffman trees + */ +var zip_compress_block = function( + ltree, // literal tree + dtree) { // distance tree + var dist; // distance of matched string + var lc; // match length or unmatched char (if dist == 0) + var lx = 0; // running index in l_buf + var dx = 0; // running index in d_buf + var fx = 0; // running index in flag_buf + var flag = 0; // current flags + var code; // the code to send + var extra; // number of extra bits to send + + if(zip_last_lit != 0) do { + if((lx & 7) == 0) + flag = zip_flag_buf[fx++]; + lc = zip_l_buf[lx++] & 0xff; + if((flag & 1) == 0) { + zip_SEND_CODE(lc, ltree); /* send a literal byte */ +// Tracecv(isgraph(lc), (stderr," '%c' ", lc)); + } else { + // Here, lc is the match length - MIN_MATCH + code = zip_length_code[lc]; + zip_SEND_CODE(code+zip_LITERALS+1, ltree); // send the length code + extra = zip_extra_lbits[code]; + if(extra != 0) { + lc -= zip_base_length[code]; + zip_send_bits(lc, extra); // send the extra length bits + } + dist = zip_d_buf[dx++]; + // Here, dist is the match distance - 1 + code = zip_D_CODE(dist); +// Assert (code < D_CODES, "bad d_code"); + + zip_SEND_CODE(code, dtree); // send the distance code + extra = zip_extra_dbits[code]; + if(extra != 0) { + dist -= zip_base_dist[code]; + zip_send_bits(dist, extra); // send the extra distance bits + } + } // literal or match pair ? + flag >>= 1; + } while(lx < zip_last_lit); + + zip_SEND_CODE(zip_END_BLOCK, ltree); +} + +/* ========================================================================== + * Send a value on a given number of bits. + * IN assertion: length <= 16 and value fits in length bits. + */ +var zip_Buf_size = 16; // bit size of bi_buf +var zip_send_bits = function( + value, // value to send + length) { // number of bits + /* If not enough room in bi_buf, use (valid) bits from bi_buf and + * (16 - bi_valid) bits from value, leaving (width - (16-bi_valid)) + * unused bits in value. + */ + if(zip_bi_valid > zip_Buf_size - length) { + zip_bi_buf |= (value << zip_bi_valid); + zip_put_short(zip_bi_buf); + zip_bi_buf = (value >> (zip_Buf_size - zip_bi_valid)); + zip_bi_valid += length - zip_Buf_size; + } else { + zip_bi_buf |= value << zip_bi_valid; + zip_bi_valid += length; + } +} + +/* ========================================================================== + * Reverse the first len bits of a code, using straightforward code (a faster + * method would use a table) + * IN assertion: 1 <= len <= 15 + */ +var zip_bi_reverse = function( + code, // the value to invert + len) { // its bit length + var res = 0; + do { + res |= code & 1; + code >>= 1; + res <<= 1; + } while(--len > 0); + return res >> 1; +} + +/* ========================================================================== + * Write out any remaining bits in an incomplete byte. + */ +var zip_bi_windup = function() { + if(zip_bi_valid > 8) { + zip_put_short(zip_bi_buf); + } else if(zip_bi_valid > 0) { + zip_put_byte(zip_bi_buf); + } + zip_bi_buf = 0; + zip_bi_valid = 0; +} + +var zip_qoutbuf = function() { + if(zip_outcnt != 0) { + var q, i; + q = zip_new_queue(); + if(zip_qhead == null) + zip_qhead = zip_qtail = q; + else + zip_qtail = zip_qtail.next = q; + q.len = zip_outcnt - zip_outoff; +// System.arraycopy(zip_outbuf, zip_outoff, q.ptr, 0, q.len); + for(i = 0; i < q.len; i++) + q.ptr[i] = zip_outbuf[zip_outoff + i]; + zip_outcnt = zip_outoff = 0; + } +} + +var zip_deflate = function(str, level) { + var i, j; + + zip_deflate_data = str; + zip_deflate_pos = 0; + if(typeof level == "undefined") + level = zip_DEFAULT_LEVEL; + zip_deflate_start(level); + + var buff = new Array(1024); + var aout = []; + while((i = zip_deflate_internal(buff, 0, buff.length)) > 0) { + var cbuf = new Array(i); + for(j = 0; j < i; j++){ + cbuf[j] = String.fromCharCode(buff[j]); + } + aout[aout.length] = cbuf.join(""); + } + zip_deflate_data = null; // G.C. + return aout.join(""); +} + +// +// end of the script of Masanao Izumo. +// + +// we add the compression method for JSZip +if(!JSZip.compressions["DEFLATE"]) { + JSZip.compressions["DEFLATE"] = { + magic : "\x08\x00", + compress : zip_deflate + } +} else { + JSZip.compressions["DEFLATE"].compress = zip_deflate; +} + +})(); diff --git a/sfdx-project/force-app/main/default/staticresources/jszip/jszip-inflate.js b/sfdx-project/force-app/main/default/staticresources/jszip/jszip-inflate.js new file mode 100644 index 0000000..9647820 --- /dev/null +++ b/sfdx-project/force-app/main/default/staticresources/jszip/jszip-inflate.js @@ -0,0 +1,778 @@ +/* + * Port of a script by Masanao Izumo. + * + * Only changes : wrap all the variables in a function and add the + * main function to JSZip (DEFLATE compression method). + * Everything else was written by M. Izumo. + * + * Original code can be found here: http://www.onicos.com/staff/iz/amuse/javascript/expert/inflate.txt + */ + +if(!JSZip) +{ + throw "JSZip not defined"; +} + +/* + * Original: + * http://www.onicos.com/staff/iz/amuse/javascript/expert/inflate.txt + */ + +(function(){ + // the original implementation leaks a global variable. + // Defining the variable here doesn't break anything. + var zip_fixed_bd; + +/* Copyright (C) 1999 Masanao Izumo + * Version: 1.0.0.1 + * LastModified: Dec 25 1999 + */ + +/* Interface: + * data = zip_inflate(src); + */ + +/* constant parameters */ +var zip_WSIZE = 32768; // Sliding Window size +var zip_STORED_BLOCK = 0; +var zip_STATIC_TREES = 1; +var zip_DYN_TREES = 2; + +/* for inflate */ +var zip_lbits = 9; // bits in base literal/length lookup table +var zip_dbits = 6; // bits in base distance lookup table +var zip_INBUFSIZ = 32768; // Input buffer size +var zip_INBUF_EXTRA = 64; // Extra buffer + +/* variables (inflate) */ +var zip_slide; +var zip_wp; // current position in slide +var zip_fixed_tl = null; // inflate static +var zip_fixed_td; // inflate static +var zip_fixed_bl, fixed_bd; // inflate static +var zip_bit_buf; // bit buffer +var zip_bit_len; // bits in bit buffer +var zip_method; +var zip_eof; +var zip_copy_leng; +var zip_copy_dist; +var zip_tl, zip_td; // literal/length and distance decoder tables +var zip_bl, zip_bd; // number of bits decoded by tl and td + +var zip_inflate_data; +var zip_inflate_pos; + + +/* constant tables (inflate) */ +var zip_MASK_BITS = new Array( + 0x0000, + 0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff, + 0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff); +// Tables for deflate from PKZIP's appnote.txt. +var zip_cplens = new Array( // Copy lengths for literal codes 257..285 + 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, + 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0); +/* note: see note #13 above about the 258 in this list. */ +var zip_cplext = new Array( // Extra bits for literal codes 257..285 + 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, + 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 99, 99); // 99==invalid +var zip_cpdist = new Array( // Copy offsets for distance codes 0..29 + 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, + 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, + 8193, 12289, 16385, 24577); +var zip_cpdext = new Array( // Extra bits for distance codes + 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, + 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, + 12, 12, 13, 13); +var zip_border = new Array( // Order of the bit length code lengths + 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15); +/* objects (inflate) */ + +function zip_HuftList() { + this.next = null; + this.list = null; +} + +function zip_HuftNode() { + this.e = 0; // number of extra bits or operation + this.b = 0; // number of bits in this code or subcode + + // union + this.n = 0; // literal, length base, or distance base + this.t = null; // (zip_HuftNode) pointer to next level of table +} + +function zip_HuftBuild(b, // code lengths in bits (all assumed <= BMAX) + n, // number of codes (assumed <= N_MAX) + s, // number of simple-valued codes (0..s-1) + d, // list of base values for non-simple codes + e, // list of extra bits for non-simple codes + mm // maximum lookup bits + ) { + this.BMAX = 16; // maximum bit length of any code + this.N_MAX = 288; // maximum number of codes in any set + this.status = 0; // 0: success, 1: incomplete table, 2: bad input + this.root = null; // (zip_HuftList) starting table + this.m = 0; // maximum lookup bits, returns actual + +/* Given a list of code lengths and a maximum table size, make a set of + tables to decode that set of codes. Return zero on success, one if + the given code set is incomplete (the tables are still built in this + case), two if the input is invalid (all zero length codes or an + oversubscribed set of lengths), and three if not enough memory. + The code with value 256 is special, and the tables are constructed + so that no bits beyond that code are fetched when that code is + decoded. */ + { + var a; // counter for codes of length k + var c = new Array(this.BMAX+1); // bit length count table + var el; // length of EOB code (value 256) + var f; // i repeats in table every f entries + var g; // maximum code length + var h; // table level + var i; // counter, current code + var j; // counter + var k; // number of bits in current code + var lx = new Array(this.BMAX+1); // stack of bits per table + var p; // pointer into c[], b[], or v[] + var pidx; // index of p + var q; // (zip_HuftNode) points to current table + var r = new zip_HuftNode(); // table entry for structure assignment + var u = new Array(this.BMAX); // zip_HuftNode[BMAX][] table stack + var v = new Array(this.N_MAX); // values in order of bit length + var w; + var x = new Array(this.BMAX+1);// bit offsets, then code stack + var xp; // pointer into x or c + var y; // number of dummy codes added + var z; // number of entries in current table + var o; + var tail; // (zip_HuftList) + + tail = this.root = null; + for(i = 0; i < c.length; i++) + c[i] = 0; + for(i = 0; i < lx.length; i++) + lx[i] = 0; + for(i = 0; i < u.length; i++) + u[i] = null; + for(i = 0; i < v.length; i++) + v[i] = 0; + for(i = 0; i < x.length; i++) + x[i] = 0; + + // Generate counts for each bit length + el = n > 256 ? b[256] : this.BMAX; // set length of EOB code, if any + p = b; pidx = 0; + i = n; + do { + c[p[pidx]]++; // assume all entries <= BMAX + pidx++; + } while(--i > 0); + if(c[0] == n) { // null input--all zero length codes + this.root = null; + this.m = 0; + this.status = 0; + return; + } + + // Find minimum and maximum length, bound *m by those + for(j = 1; j <= this.BMAX; j++) + if(c[j] != 0) + break; + k = j; // minimum code length + if(mm < j) + mm = j; + for(i = this.BMAX; i != 0; i--) + if(c[i] != 0) + break; + g = i; // maximum code length + if(mm > i) + mm = i; + + // Adjust last length count to fill out codes, if needed + for(y = 1 << j; j < i; j++, y <<= 1) + if((y -= c[j]) < 0) { + this.status = 2; // bad input: more codes than bits + this.m = mm; + return; + } + if((y -= c[i]) < 0) { + this.status = 2; + this.m = mm; + return; + } + c[i] += y; + + // Generate starting offsets into the value table for each length + x[1] = j = 0; + p = c; + pidx = 1; + xp = 2; + while(--i > 0) // note that i == g from above + x[xp++] = (j += p[pidx++]); + + // Make a table of values in order of bit lengths + p = b; pidx = 0; + i = 0; + do { + if((j = p[pidx++]) != 0) + v[x[j]++] = i; + } while(++i < n); + n = x[g]; // set n to length of v + + // Generate the Huffman codes and for each, make the table entries + x[0] = i = 0; // first Huffman code is zero + p = v; pidx = 0; // grab values in bit order + h = -1; // no tables yet--level -1 + w = lx[0] = 0; // no bits decoded yet + q = null; // ditto + z = 0; // ditto + + // go through the bit lengths (k already is bits in shortest code) + for(; k <= g; k++) { + a = c[k]; + while(a-- > 0) { + // here i is the Huffman code of length k bits for value p[pidx] + // make tables up to required level + while(k > w + lx[1 + h]) { + w += lx[1 + h]; // add bits already decoded + h++; + + // compute minimum size table less than or equal to *m bits + z = (z = g - w) > mm ? mm : z; // upper limit + if((f = 1 << (j = k - w)) > a + 1) { // try a k-w bit table + // too few codes for k-w bit table + f -= a + 1; // deduct codes from patterns left + xp = k; + while(++j < z) { // try smaller tables up to z bits + if((f <<= 1) <= c[++xp]) + break; // enough codes to use up j bits + f -= c[xp]; // else deduct codes from patterns + } + } + if(w + j > el && w < el) + j = el - w; // make EOB code end at table + z = 1 << j; // table entries for j-bit table + lx[1 + h] = j; // set table size in stack + + // allocate and link in new table + q = new Array(z); + for(o = 0; o < z; o++) { + q[o] = new zip_HuftNode(); + } + + if(tail == null) + tail = this.root = new zip_HuftList(); + else + tail = tail.next = new zip_HuftList(); + tail.next = null; + tail.list = q; + u[h] = q; // table starts after link + + /* connect to last table, if there is one */ + if(h > 0) { + x[h] = i; // save pattern for backing up + r.b = lx[h]; // bits to dump before this table + r.e = 16 + j; // bits in this table + r.t = q; // pointer to this table + j = (i & ((1 << w) - 1)) >> (w - lx[h]); + u[h-1][j].e = r.e; + u[h-1][j].b = r.b; + u[h-1][j].n = r.n; + u[h-1][j].t = r.t; + } + } + + // set up table entry in r + r.b = k - w; + if(pidx >= n) + r.e = 99; // out of values--invalid code + else if(p[pidx] < s) { + r.e = (p[pidx] < 256 ? 16 : 15); // 256 is end-of-block code + r.n = p[pidx++]; // simple code is just the value + } else { + r.e = e[p[pidx] - s]; // non-simple--look up in lists + r.n = d[p[pidx++] - s]; + } + + // fill code-like entries with r // + f = 1 << (k - w); + for(j = i >> w; j < z; j += f) { + q[j].e = r.e; + q[j].b = r.b; + q[j].n = r.n; + q[j].t = r.t; + } + + // backwards increment the k-bit code i + for(j = 1 << (k - 1); (i & j) != 0; j >>= 1) + i ^= j; + i ^= j; + + // backup over finished tables + while((i & ((1 << w) - 1)) != x[h]) { + w -= lx[h]; // don't need to update q + h--; + } + } + } + + /* return actual size of base table */ + this.m = lx[1]; + + /* Return true (1) if we were given an incomplete table */ + this.status = ((y != 0 && g != 1) ? 1 : 0); + } /* end of constructor */ +} + + +/* routines (inflate) */ + +function zip_GET_BYTE() { + if(zip_inflate_data.length == zip_inflate_pos) + return -1; + return zip_inflate_data.charCodeAt(zip_inflate_pos++) & 0xff; +} + +function zip_NEEDBITS(n) { + while(zip_bit_len < n) { + zip_bit_buf |= zip_GET_BYTE() << zip_bit_len; + zip_bit_len += 8; + } +} + +function zip_GETBITS(n) { + return zip_bit_buf & zip_MASK_BITS[n]; +} + +function zip_DUMPBITS(n) { + zip_bit_buf >>= n; + zip_bit_len -= n; +} + +function zip_inflate_codes(buff, off, size) { + /* inflate (decompress) the codes in a deflated (compressed) block. + Return an error code or zero if it all goes ok. */ + var e; // table entry flag/number of extra bits + var t; // (zip_HuftNode) pointer to table entry + var n; + + if(size == 0) + return 0; + + // inflate the coded data + n = 0; + for(;;) { // do until end of block + zip_NEEDBITS(zip_bl); + t = zip_tl.list[zip_GETBITS(zip_bl)]; + e = t.e; + while(e > 16) { + if(e == 99) + return -1; + zip_DUMPBITS(t.b); + e -= 16; + zip_NEEDBITS(e); + t = t.t[zip_GETBITS(e)]; + e = t.e; + } + zip_DUMPBITS(t.b); + + if(e == 16) { // then it's a literal + zip_wp &= zip_WSIZE - 1; + buff[off + n++] = zip_slide[zip_wp++] = t.n; + if(n == size) + return size; + continue; + } + + // exit if end of block + if(e == 15) + break; + + // it's an EOB or a length + + // get length of block to copy + zip_NEEDBITS(e); + zip_copy_leng = t.n + zip_GETBITS(e); + zip_DUMPBITS(e); + + // decode distance of block to copy + zip_NEEDBITS(zip_bd); + t = zip_td.list[zip_GETBITS(zip_bd)]; + e = t.e; + + while(e > 16) { + if(e == 99) + return -1; + zip_DUMPBITS(t.b); + e -= 16; + zip_NEEDBITS(e); + t = t.t[zip_GETBITS(e)]; + e = t.e; + } + zip_DUMPBITS(t.b); + zip_NEEDBITS(e); + zip_copy_dist = zip_wp - t.n - zip_GETBITS(e); + zip_DUMPBITS(e); + + // do the copy + while(zip_copy_leng > 0 && n < size) { + zip_copy_leng--; + zip_copy_dist &= zip_WSIZE - 1; + zip_wp &= zip_WSIZE - 1; + buff[off + n++] = zip_slide[zip_wp++] + = zip_slide[zip_copy_dist++]; + } + + if(n == size) + return size; + } + + zip_method = -1; // done + return n; +} + +function zip_inflate_stored(buff, off, size) { + /* "decompress" an inflated type 0 (stored) block. */ + var n; + + // go to byte boundary + n = zip_bit_len & 7; + zip_DUMPBITS(n); + + // get the length and its complement + zip_NEEDBITS(16); + n = zip_GETBITS(16); + zip_DUMPBITS(16); + zip_NEEDBITS(16); + if(n != ((~zip_bit_buf) & 0xffff)) + return -1; // error in compressed data + zip_DUMPBITS(16); + + // read and output the compressed data + zip_copy_leng = n; + + n = 0; + while(zip_copy_leng > 0 && n < size) { + zip_copy_leng--; + zip_wp &= zip_WSIZE - 1; + zip_NEEDBITS(8); + buff[off + n++] = zip_slide[zip_wp++] = + zip_GETBITS(8); + zip_DUMPBITS(8); + } + + if(zip_copy_leng == 0) + zip_method = -1; // done + return n; +} + +function zip_inflate_fixed(buff, off, size) { + /* decompress an inflated type 1 (fixed Huffman codes) block. We should + either replace this with a custom decoder, or at least precompute the + Huffman tables. */ + + // if first time, set up tables for fixed blocks + if(zip_fixed_tl == null) { + var i; // temporary variable + var l = new Array(288); // length list for huft_build + var h; // zip_HuftBuild + + // literal table + for(i = 0; i < 144; i++) + l[i] = 8; + for(; i < 256; i++) + l[i] = 9; + for(; i < 280; i++) + l[i] = 7; + for(; i < 288; i++) // make a complete, but wrong code set + l[i] = 8; + zip_fixed_bl = 7; + + h = new zip_HuftBuild(l, 288, 257, zip_cplens, zip_cplext, + zip_fixed_bl); + if(h.status != 0) { + alert("HufBuild error: "+h.status); + return -1; + } + zip_fixed_tl = h.root; + zip_fixed_bl = h.m; + + // distance table + for(i = 0; i < 30; i++) // make an incomplete code set + l[i] = 5; + zip_fixed_bd = 5; + + h = new zip_HuftBuild(l, 30, 0, zip_cpdist, zip_cpdext, zip_fixed_bd); + if(h.status > 1) { + zip_fixed_tl = null; + alert("HufBuild error: "+h.status); + return -1; + } + zip_fixed_td = h.root; + zip_fixed_bd = h.m; + } + + zip_tl = zip_fixed_tl; + zip_td = zip_fixed_td; + zip_bl = zip_fixed_bl; + zip_bd = zip_fixed_bd; + return zip_inflate_codes(buff, off, size); +} + +function zip_inflate_dynamic(buff, off, size) { + // decompress an inflated type 2 (dynamic Huffman codes) block. + var i; // temporary variables + var j; + var l; // last length + var n; // number of lengths to get + var t; // (zip_HuftNode) literal/length code table + var nb; // number of bit length codes + var nl; // number of literal/length codes + var nd; // number of distance codes + var ll = new Array(286+30); // literal/length and distance code lengths + var h; // (zip_HuftBuild) + + for(i = 0; i < ll.length; i++) + ll[i] = 0; + + // read in table lengths + zip_NEEDBITS(5); + nl = 257 + zip_GETBITS(5); // number of literal/length codes + zip_DUMPBITS(5); + zip_NEEDBITS(5); + nd = 1 + zip_GETBITS(5); // number of distance codes + zip_DUMPBITS(5); + zip_NEEDBITS(4); + nb = 4 + zip_GETBITS(4); // number of bit length codes + zip_DUMPBITS(4); + if(nl > 286 || nd > 30) + return -1; // bad lengths + + // read in bit-length-code lengths + for(j = 0; j < nb; j++) + { + zip_NEEDBITS(3); + ll[zip_border[j]] = zip_GETBITS(3); + zip_DUMPBITS(3); + } + for(; j < 19; j++) + ll[zip_border[j]] = 0; + + // build decoding table for trees--single level, 7 bit lookup + zip_bl = 7; + h = new zip_HuftBuild(ll, 19, 19, null, null, zip_bl); + if(h.status != 0) + return -1; // incomplete code set + + zip_tl = h.root; + zip_bl = h.m; + + // read in literal and distance code lengths + n = nl + nd; + i = l = 0; + while(i < n) { + zip_NEEDBITS(zip_bl); + t = zip_tl.list[zip_GETBITS(zip_bl)]; + j = t.b; + zip_DUMPBITS(j); + j = t.n; + if(j < 16) // length of code in bits (0..15) + ll[i++] = l = j; // save last length in l + else if(j == 16) { // repeat last length 3 to 6 times + zip_NEEDBITS(2); + j = 3 + zip_GETBITS(2); + zip_DUMPBITS(2); + if(i + j > n) + return -1; + while(j-- > 0) + ll[i++] = l; + } else if(j == 17) { // 3 to 10 zero length codes + zip_NEEDBITS(3); + j = 3 + zip_GETBITS(3); + zip_DUMPBITS(3); + if(i + j > n) + return -1; + while(j-- > 0) + ll[i++] = 0; + l = 0; + } else { // j == 18: 11 to 138 zero length codes + zip_NEEDBITS(7); + j = 11 + zip_GETBITS(7); + zip_DUMPBITS(7); + if(i + j > n) + return -1; + while(j-- > 0) + ll[i++] = 0; + l = 0; + } + } + + // build the decoding tables for literal/length and distance codes + zip_bl = zip_lbits; + h = new zip_HuftBuild(ll, nl, 257, zip_cplens, zip_cplext, zip_bl); + if(zip_bl == 0) // no literals or lengths + h.status = 1; + if(h.status != 0) { + if(h.status == 1) + ;// **incomplete literal tree** + return -1; // incomplete code set + } + zip_tl = h.root; + zip_bl = h.m; + + for(i = 0; i < nd; i++) + ll[i] = ll[i + nl]; + zip_bd = zip_dbits; + h = new zip_HuftBuild(ll, nd, 0, zip_cpdist, zip_cpdext, zip_bd); + zip_td = h.root; + zip_bd = h.m; + + if(zip_bd == 0 && nl > 257) { // lengths but no distances + // **incomplete distance tree** + return -1; + } + + if(h.status == 1) { + ;// **incomplete distance tree** + } + if(h.status != 0) + return -1; + + // decompress until an end-of-block code + return zip_inflate_codes(buff, off, size); +} + +function zip_inflate_start() { + var i; + + if(zip_slide == null) + zip_slide = new Array(2 * zip_WSIZE); + zip_wp = 0; + zip_bit_buf = 0; + zip_bit_len = 0; + zip_method = -1; + zip_eof = false; + zip_copy_leng = zip_copy_dist = 0; + zip_tl = null; +} + +function zip_inflate_internal(buff, off, size) { + // decompress an inflated entry + var n, i; + + n = 0; + while(n < size) { + if(zip_eof && zip_method == -1) + return n; + + if(zip_copy_leng > 0) { + if(zip_method != zip_STORED_BLOCK) { + // STATIC_TREES or DYN_TREES + while(zip_copy_leng > 0 && n < size) { + zip_copy_leng--; + zip_copy_dist &= zip_WSIZE - 1; + zip_wp &= zip_WSIZE - 1; + buff[off + n++] = zip_slide[zip_wp++] = + zip_slide[zip_copy_dist++]; + } + } else { + while(zip_copy_leng > 0 && n < size) { + zip_copy_leng--; + zip_wp &= zip_WSIZE - 1; + zip_NEEDBITS(8); + buff[off + n++] = zip_slide[zip_wp++] = zip_GETBITS(8); + zip_DUMPBITS(8); + } + if(zip_copy_leng == 0) + zip_method = -1; // done + } + if(n == size) + return n; + } + + if(zip_method == -1) { + if(zip_eof) + break; + + // read in last block bit + zip_NEEDBITS(1); + if(zip_GETBITS(1) != 0) + zip_eof = true; + zip_DUMPBITS(1); + + // read in block type + zip_NEEDBITS(2); + zip_method = zip_GETBITS(2); + zip_DUMPBITS(2); + zip_tl = null; + zip_copy_leng = 0; + } + + switch(zip_method) { + case 0: // zip_STORED_BLOCK + i = zip_inflate_stored(buff, off + n, size - n); + break; + + case 1: // zip_STATIC_TREES + if(zip_tl != null) + i = zip_inflate_codes(buff, off + n, size - n); + else + i = zip_inflate_fixed(buff, off + n, size - n); + break; + + case 2: // zip_DYN_TREES + if(zip_tl != null) + i = zip_inflate_codes(buff, off + n, size - n); + else + i = zip_inflate_dynamic(buff, off + n, size - n); + break; + + default: // error + i = -1; + break; + } + + if(i == -1) { + if(zip_eof) + return 0; + return -1; + } + n += i; + } + return n; +} + +function zip_inflate(str) { + var out, buff; + var i, j; + + zip_inflate_start(); + zip_inflate_data = str; + zip_inflate_pos = 0; + + buff = new Array(1024); + out = ""; + while((i = zip_inflate_internal(buff, 0, buff.length)) > 0) { + for(j = 0; j < i; j++) + out += String.fromCharCode(buff[j]); + } + zip_inflate_data = null; // G.C. + return out; +} + +// +// end of the script of Masanao Izumo. +// + +// we add the compression method for JSZip +if(!JSZip.compressions["DEFLATE"]) { + JSZip.compressions["DEFLATE"] = { + magic : "\x08\x00", + uncompress : zip_inflate + } +} else { + JSZip.compressions["DEFLATE"].uncompress = zip_inflate; +} + +})(); diff --git a/sfdx-project/force-app/main/default/staticresources/jszip/jszip-load.js b/sfdx-project/force-app/main/default/staticresources/jszip/jszip-load.js new file mode 100644 index 0000000..06333cd --- /dev/null +++ b/sfdx-project/force-app/main/default/staticresources/jszip/jszip-load.js @@ -0,0 +1,594 @@ +/** + +JSZip - A Javascript class for generating and reading zip files + + +(c) 2011 David Duponchel +Dual licenced under the MIT license or GPLv3. See LICENSE.markdown. + +**/ +/*global JSZip,JSZipBase64 */ +(function () { + + /** + * Prettify a string read as binary. + * @param {string} str the string to prettify. + * @return {string} a pretty string. + */ + var pretty = function (str) { + var res = '', code, i; + for (i = 0; i < str.length; i++) + { + code = str.charCodeAt(i); + res += '\\x' + (code < 10 ? "0" : "") + code.toString(16); + } + return res; + }; + + /** + * Find a compression registered in JSZip. + * @param {string} compressionMethod the method magic to find. + * @return {Object|null} the JSZip compression object, null if none found. + */ + var findCompression = function (compressionMethod) { + for (var method in JSZip.compressions) + { + if (JSZip.compressions[method].magic === compressionMethod) + { + return JSZip.compressions[method]; + } + } + return null; + }; + + // class StreamReader {{{ + /** + * Read bytes from a stream. + * @constructor + * @param {string} stream the stream to read. + */ + function StreamReader(stream) { + this.stream = stream; + this.index = 0; + } + StreamReader.prototype = { + /** + * Check that the offset will not go too far. + * @param {string} offset the additional offset to check. + * @throws {Error} an Error if the offset is out of bounds. + */ + checkOffset : function (offset) + { + this.checkIndex(this.index + offset); + }, + /** + * Check that the specifed index will not be too far. + * @param {string} newIndex the index to check. + * @throws {Error} an Error if the index is out of bounds. + */ + checkIndex : function (newIndex) + { + if (this.stream.length < newIndex || newIndex < 0) + { + throw new Error("End of stream reached (stream length = " + + this.stream.length + ", asked index = " + + (newIndex) + "). Corrupted zip ?"); + } + }, + /** + * Change the index. + * @param {number} newIndex The new index. + * @throws {Error} if the new index is out of the stream. + */ + setIndex : function (newIndex) + { + this.checkIndex(newIndex); + this.index = newIndex; + }, + /** + * Check if the end of the file has been reached. + * @return {boolean} true if it is the case, false otherwise. + */ + eof : function () + { + return this.index >= this.stream.length; + }, + /** + * Get the byte at the specified index. + * @param {number} i the index to use. + * @return {number} a byte. + */ + byteAt : function(i) + { + return this.stream.charCodeAt(i) & 0xff; + }, + /** + * Get the next byte of this stream. + * @return {string} the next byte. + */ + readByte : function () + { + this.checkOffset(1); + return this.byteAt(1 + this.index++); + }, + /** + * Get the next number with a given byte size. + * @param {number} size the number of bytes to read. + * @return {number} the corresponding number. + */ + readInt : function (size) + { + var result = 0, i; + this.checkOffset(size); + for(i = size - 1; i >= 0; i--) + { + result = (result << 8) + this.byteAt(this.index + i); + } + this.index += size; + return result; + }, + /** + * Get the next string with a given byte size. + * @param {number} size the number of bytes to read. + * @return {string} the corresponding string. + */ + readString : function (size) + { + var result = "", i, code; + this.checkOffset(size); + for(i = 0; i < size; i++) + { + code = this.byteAt(this.index + i); + result += String.fromCharCode(code); + } + this.index += size; + return result; + }, + /** + * Get the next date. + * @return {Date} the date. + */ + readDate : function () + { + var dostime = this.readInt(4); + return new Date( + ((dostime >> 25) & 0x7f) + 1980, // year + ((dostime >> 21) & 0x0f) - 1, // month + (dostime >> 16) & 0x1f, // day + (dostime >> 11) & 0x1f, // hour + (dostime >> 5) & 0x3f, // minute + (dostime & 0x1f) << 1); // second + } + }; + // }}} end of StreamReader + + // class ZipEntry {{{ + /** + * An entry in the zip file. + * @constructor + * @param {Object} options Options of the current file. + * @param {Object} loadOptions Options for loading the stream. + */ + function ZipEntry(options, loadOptions) { + this.options = options; + this.loadOptions = loadOptions; + } + ZipEntry.prototype = { + /** + * say if the file is encrypted. + * @return {boolean} true if the file is encrypted, false otherwise. + */ + isEncrypted : function () + { + // bit 1 is set + return (this.bitFlag & 0x0001) === 0x0001; + }, + /** + * say if the file has a data decriptor. + * @return {boolean} true if the file has a data descriptor, false otherwise. + */ + hasDataDescriptor : function () + { + // bit 3 is set + return (this.bitFlag & 0x0008) === 0x0008; + }, + /** + * say if the file has utf-8 filename/comment. + * @return {boolean} true if the filename/comment is in utf-8, false otherwise. + */ + useUTF8 : function () + { + // bit 11 is set + return (this.bitFlag & 0x0800) === 0x0800; + }, + /** + * say if the file is a zip64 file. + * @return {boolean} true if the file is zip64, false otherwise. + */ + isZIP64 : function () + { + return this.options.zip64; + }, + /** + * Read the local part header of a zip file and add the info in this object. + * @param {StreamReader} reader the reader to use. + */ + readLocalPartHeader : function(reader) + { + // the signature has already been consumed + this.versionNeeded = reader.readInt(2); + this.bitFlag = reader.readInt(2); + this.compressionMethod = reader.readString(2); + this.date = reader.readDate(); + this.crc32 = reader.readInt(4); + this.compressedSize = reader.readInt(4); + this.uncompressedSize = reader.readInt(4); + this.fileNameLength = reader.readInt(2); + this.extraFieldsLength = reader.readInt(2); + + if (this.isEncrypted()) + { + throw new Error("Encrypted zip are not supported"); + } + }, + /** + * Read the local part of a zip file and add the info in this object. + * @param {StreamReader} reader the reader to use. + */ + readLocalPart : function(reader) + { + var compression; + + this.readLocalPartHeader(reader); + + this.fileName = reader.readString(this.fileNameLength); + this.readExtraFields(reader); + + if (!this.hasDataDescriptor()) + { + // easy : we know the file length + this.compressedFileData = reader.readString(this.compressedSize); + } + else + { + // hard way : find the data descriptor manually + this.compressedFileData = this.findDataUntilDataDescriptor(reader); + this.crc32 = reader.readInt(4); + this.compressedSize = reader.readInt(this.isZIP64() ? 8 : 4); + this.uncompressedSize = reader.readInt(this.isZIP64() ? 8 : 4); + + if (this.compressedFileData.length !== this.compressedSize) + { + throw new Error("Bug : data descriptor incorrectly read (size mismatch)"); + } + } + this.uncompressedFileData = null; + + compression = findCompression(this.compressionMethod); + if (compression === null) // no compression found + { + throw new Error("Corrupted zip : compression " + pretty(this.compressionMethod) + + " unknown (inner file : " + this.fileName + ")"); + } + this.uncompressedFileData = compression.uncompress(this.compressedFileData); + + if (this.loadOptions.checkCRC32 && JSZip.prototype.crc32(this.uncompressedFileData) !== this.crc32) + { + throw new Error("Corrupted zip : CRC32 mismatch"); + } + + if (this.useUTF8()) + { + this.fileName = JSZip.prototype.utf8decode(this.fileName); + } + }, + + /** + * Read data until a data descriptor signature is found. + * @param {StreamReader} reader the reader to use. + */ + findDataUntilDataDescriptor : function(reader) + { + var data = "", + buffer = reader.readString(4), + aByte; + + while(buffer !== JSZip.signature.DATA_DESCRIPTOR) + { + aByte = reader.readString(1); + data += buffer.slice(0, 1); + buffer = (buffer + aByte).slice(-4); + } + return data; + }, + /** + * Read the central part of a zip file and add the info in this object. + * @param {StreamReader} reader the reader to use. + */ + readCentralPart : function(reader) + { + this.versionMadeBy = reader.readString(2); + + this.readLocalPartHeader(reader); + + this.fileCommentLength = reader.readInt(2); + this.diskNumberStart = reader.readInt(2); + this.internalFileAttributes = reader.readInt(2); + this.externalFileAttributes = reader.readInt(4); + this.localHeaderOffset = reader.readInt(4); + + this.fileName = reader.readString(this.fileNameLength); + this.readExtraFields(reader); + this.fileComment = reader.readString(this.fileCommentLength); + if (this.useUTF8()) + { + this.fileName = JSZip.prototype.utf8decode(this.fileName); + this.fileComment = JSZip.prototype.utf8decode(this.fileComment); + } + + // warning, this is true only for zip with madeBy == DOS (plateform dependent feature) + this.dir = this.externalFileAttributes & 0x00000010 ? true : false; + }, + /** + * Parse the ZIP64 extra field and merge the info in the current ZipEntry. + * @param {StreamReader} reader the reader to use. + */ + parseZIP64ExtraField : function(reader) + { + // should be something, preparing the extra reader + var extraReader = new StreamReader(this.extraFields[0x0001].value); + if(this.uncompressedSize === -1) + { + this.uncompressedSize = extraReader.readInt(8); + } + if(this.compressedSize === -1) + { + this.compressedSize = extraReader.readInt(8); + } + if(this.localHeaderOffset === -1) + { + this.localHeaderOffset = extraReader.readInt(8); + } + if(this.diskNumberStart === -1) + { + this.diskNumberStart = extraReader.readInt(4); + } + }, + /** + * Read the central part of a zip file and add the info in this object. + * @param {StreamReader} reader the reader to use. + */ + readExtraFields : function(reader) + { + var start = reader.index, + extraFieldId, + extraFieldLength, + extraFieldValue; + + this.extraFields = this.extraFields || {}; + + while (reader.index < start + this.extraFieldsLength) + { + extraFieldId = reader.readInt(2); + extraFieldLength = reader.readInt(2); + extraFieldValue = reader.readString(extraFieldLength); + + this.extraFields[extraFieldId] = { + id: extraFieldId, + length: extraFieldLength, + value: extraFieldValue + }; + } + + if(this.isZIP64() && this.extraFields[0x0001]) + { + this.parseZIP64ExtraField(reader); + } + } + }; + // }}} end of ZipEntry + + // class ZipEntries {{{ + /** + * All the entries in the zip file. + * @constructor + * @param {string} data the binary stream to load. + * @param {Object} loadOptions Options for loading the stream. + */ + function ZipEntries(data, loadOptions) { + this.files = []; + this.loadOptions = loadOptions; + if (data) { + this.load(data); + } + } + ZipEntries.prototype = { + /** + * Check that the reader is on the speficied signature. + * @param {string} expectedSignature the expected signature. + * @throws {Error} if it is an other signature. + */ + checkSignature : function(expectedSignature) + { + var signature = this.reader.readString(4); + if (signature !== expectedSignature) + { + throw new Error("Corrupted zip or bug : unexpected signature " + + "(" + pretty(signature) + ", expected " + pretty(expectedSignature) + ")"); + } + }, + /** + * Read the end of the central directory. + */ + readBlockEndOfCentral : function () + { + this.diskNumber = this.reader.readInt(2); + this.diskWithCentralDirStart = this.reader.readInt(2); + this.centralDirRecordsOnThisDisk = this.reader.readInt(2); + this.centralDirRecords = this.reader.readInt(2); + this.centralDirSize = this.reader.readInt(4); + this.centralDirOffset = this.reader.readInt(4); + + this.zipCommentLength = this.reader.readInt(2); + this.zipComment = this.reader.readString(this.zipCommentLength); + }, + /** + * Read the end of the Zip 64 central directory. + * Not merged with the method readEndOfCentral : + * The end of central can coexist with its Zip64 brother, + * I don't want to read the wrong number of bytes ! + */ + readBlockZip64EndOfCentral : function () + { + this.zip64EndOfCentralSize = this.reader.readInt(8); + this.versionMadeBy = this.reader.readString(2); + this.versionNeeded = this.reader.readInt(2); + this.diskNumber = this.reader.readInt(4); + this.diskWithCentralDirStart = this.reader.readInt(4); + this.centralDirRecordsOnThisDisk = this.reader.readInt(8); + this.centralDirRecords = this.reader.readInt(8); + this.centralDirSize = this.reader.readInt(8); + this.centralDirOffset = this.reader.readInt(8); + + this.zip64ExtensibleData = {}; + var extraDataSize = this.zip64EndOfCentralSize - 44, + index = 0, + extraFieldId, + extraFieldLength, + extraFieldValue; + while(index < extraDataSize) + { + extraFieldId = this.reader.readInt(2); + extraFieldLength = this.reader.readInt(4); + extraFieldValue = this.reader.readString(extraFieldLength); + this.zip64ExtensibleData[extraFieldId] = { + id: extraFieldId, + length: extraFieldLength, + value: extraFieldValue + }; + } + }, + /** + * Read the end of the Zip 64 central directory locator. + */ + readBlockZip64EndOfCentralLocator : function () + { + this.diskWithZip64CentralDirStart = this.reader.readInt(4); + this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8); + this.disksCount = this.reader.readInt(4); + if (this.disksCount > 1) + { + throw new Error("Multi-volumes zip are not supported"); + } + }, + /** + * Read the local files, based on the offset read in the central part. + */ + readLocalFiles : function() + { + var i, file; + for(i = 0; i < this.files.length; i++) + { + file = this.files[i]; + this.reader.setIndex(file.localHeaderOffset); + this.checkSignature(JSZip.signature.LOCAL_FILE_HEADER); + file.readLocalPart(this.reader); + } + }, + /** + * Read the central directory. + */ + readCentralDir : function() + { + var file; + + this.reader.setIndex(this.centralDirOffset); + while(this.reader.readString(4) === JSZip.signature.CENTRAL_FILE_HEADER) + { + file = new ZipEntry({ + zip64: this.zip64 + }, this.loadOptions); + file.readCentralPart(this.reader); + this.files.push(file); + } + }, + /** + * Read the end of central directory. + */ + readEndOfCentral : function() + { + // zip 64 ? + var offset = this.reader.stream.lastIndexOf(JSZip.signature.ZIP64_CENTRAL_DIRECTORY_LOCATOR); + if (offset === -1) // nope + { + this.zip64 = false; + offset = this.reader.stream.lastIndexOf(JSZip.signature.CENTRAL_DIRECTORY_END); + if (offset === -1) + { + throw new Error("Corrupted zip : can't find end of central directory"); + } + + this.reader.setIndex(offset); + this.checkSignature(JSZip.signature.CENTRAL_DIRECTORY_END); + this.readBlockEndOfCentral(); + } + else // zip 64 ! + { + this.zip64 = true; + this.reader.setIndex(offset); + this.checkSignature(JSZip.signature.ZIP64_CENTRAL_DIRECTORY_LOCATOR); + this.readBlockZip64EndOfCentralLocator(); + + this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir); + this.checkSignature(JSZip.signature.ZIP64_CENTRAL_DIRECTORY_END); + this.readBlockZip64EndOfCentral(); + } + }, + /** + * Read a zip file and create ZipEntries. + * @param {string} data the binary string representing a zip file. + */ + load : function(data) + { + this.reader = new StreamReader(data); + + this.readEndOfCentral(); + this.readCentralDir(); + this.readLocalFiles(); + } + }; + // }}} end of ZipEntries + + /** + * Implementation of the load method of JSZip. + * It uses the above classes to decode a zip file, and load every files. + * @param {string} data the data to load. + * @param {Object} options Options for loading the stream. + * options.base64 : is the stream in base64 ? default : false + */ + JSZip.prototype.load = function(data, options) { + var files, zipEntries, i, input; + options = options || {}; + if(options.base64) + { + data = JSZipBase64.decode(data); + } + + zipEntries = new ZipEntries(data, options); + files = zipEntries.files; + for (i in files) + { + input = files[i]; + this.file(input.fileName, input.uncompressedFileData, { + binary:true, + date:input.date, + dir:input.dir + }); + } + + return this; + }; + +}()); +// enforcing Stuk's coding style +// vim: set shiftwidth=3 softtabstop=3 foldmethod=marker: diff --git a/sfdx-project/force-app/main/default/staticresources/jszip/jszip.js b/sfdx-project/force-app/main/default/staticresources/jszip/jszip.js new file mode 100644 index 0000000..803f397 --- /dev/null +++ b/sfdx-project/force-app/main/default/staticresources/jszip/jszip.js @@ -0,0 +1,735 @@ +/** + +JSZip - A Javascript class for generating and reading zip files + + +(c) 2009-2012 Stuart Knightley +Dual licenced under the MIT license or GPLv3. See LICENSE.markdown. + +Usage: + zip = new JSZip(); + zip.file("hello.txt", "Hello, World!").add("tempfile", "nothing"); + zip.folder("images").file("smile.gif", base64Data, {base64: true}); + zip.file("Xmas.txt", "Ho ho ho !", {date : new Date("December 25, 2007 00:00:01")}); + zip.remove("tempfile"); + + base64zip = zip.generate(); + +**/ + +/** + * Representation a of zip file in js + * @constructor + * @param {String=} data the data to load, if any (optional). + * @param {Object=} options the options for creating this objects (optional). + */ +var JSZip = function(data, options) { + // object containing the files : + // { + // "folder/" : {...}, + // "folder/data.txt" : {...} + // } + this.files = {}; + + // Where we are in the hierarchy + this.root = ""; + + if(data) { + this.load(data, options); + } +}; + +JSZip.signature = { + LOCAL_FILE_HEADER : "\x50\x4b\x03\x04", + CENTRAL_FILE_HEADER : "\x50\x4b\x01\x02", + CENTRAL_DIRECTORY_END : "\x50\x4b\x05\x06", + ZIP64_CENTRAL_DIRECTORY_LOCATOR : "\x50\x4b\x06\x07", + ZIP64_CENTRAL_DIRECTORY_END : "\x50\x4b\x06\x06", + DATA_DESCRIPTOR : "\x50\x4b\x07\x08" +}; + +// Default properties for a new file +JSZip.defaults = { + base64: false, + binary: false, + dir: false, + date: null +}; + + +JSZip.prototype = (function () +{ + /** + * A simple object representing a file in the zip file. + * @constructor + * @param {string} name the name of the file + * @param {string} data the data + * @param {Object} options the options of the file + */ + var ZipObject = function (name, data, options) { + this.name = name; + this.data = data; + this.options = options; + }; + + ZipObject.prototype = { + /** + * Return the content as UTF8 string. + * @return {string} the UTF8 string. + */ + asText : function () + { + return this.options.binary ? JSZip.prototype.utf8decode(this.data) : this.data; + }, + /** + * Returns the binary content. + * @return {string} the content as binary. + */ + asBinary : function () + { + return this.options.binary ? this.data : JSZip.prototype.utf8encode(this.data); + } + }; + + /** + * Transform an integer into a string in hexadecimal. + * @private + * @param {number} dec the number to convert. + * @param {number} bytes the number of bytes to generate. + * @returns {string} the result. + */ + var decToHex = function(dec, bytes) { + var hex = "", i; + for(i = 0; i < bytes; i++) + { + hex += String.fromCharCode(dec&0xff); + dec=dec>>>8; + } + return hex; + }; + + /** + * Merge the objects passed as parameters into a new one. + * @private + * @param {...Object} var_args All objects to merge. + * @return {Object} a new object with the data of the others. + */ + var extend = function () { + var result = {}, i, attr; + for (i = 0; i < arguments.length; i++) // arguments is not enumerable in some browsers + { + for (attr in arguments[i]) + { + if(typeof result[attr] === "undefined") + { + result[attr] = arguments[i][attr]; + } + } + } + return result; + }; + + /** + * Transforms the (incomplete) options from the user into the complete + * set of options to create a file. + * @private + * @param {Object} o the options from the user. + * @return {Object} the complete set of options. + */ + var prepareFileAttrs = function (o) { + o = o || {}; + if (o.base64 === true && o.binary == null) { + o.binary = true; + } + o = extend(o, JSZip.defaults); + o.date = o.date || new Date(); + + return o; + }; + + /** + * Add a file in the current folder. + * @private + * @param {string} name the name of the file + * @param {string} data the data of the file + * @param {Object} o the options of the file + * @return {Object} the new file. + */ + var fileAdd = function (name, data, o) { + // be sure sub folders exist + var parent = parentFolder(name); + if (parent) { + folderAdd.call(this, parent); + } + + o = prepareFileAttrs(o); + + return this.files[name] = {name: name, data: data, options:o}; + }; + + + /** + * Find the parent folder of the path. + * @private + * @param {string} path the path to use + * @return {string} the parent folder, or "" + */ + var parentFolder = function (path) { + if (path.slice(-1) == '/') + { + path = path.substring(0, path.length - 1); + } + var lastSlash = path.lastIndexOf('/'); + return (lastSlash > 0) ? path.substring(0, lastSlash) : ""; + }; + + /** + * Add a (sub) folder in the current folder. + * @private + * @param {string} name the folder's name + * @return {Object} the new folder. + */ + var folderAdd = function (name) { + // Check the name ends with a / + if (name.slice(-1) != "/") { + name += "/"; // IE doesn't like substr(-1) + } + + // Does this folder already exist? + if (!this.files[name]) + { + // be sure sub folders exist + var parent = parentFolder(name); + if (parent) { + folderAdd.call(this, parent); + } + + fileAdd.call(this, name, '', {dir:true}); + } + return this.files[name]; + }; + + /** + * Generate the data found in the local header of a zip file. + * Do not create it now, as some parts are re-used later. + * @private + * @param {Object} file the file to use. + * @param {string} utfEncodedFileName the file name, utf8 encoded. + * @param {string} compressionType the compression to use. + * @return {Object} an object containing header and compressedData. + */ + var prepareLocalHeaderData = function(file, utfEncodedFileName, compressionType) { + var useUTF8 = utfEncodedFileName !== file.name, + data = file.data, + o = file.options, + dosTime, + dosDate; + + // date + // @see http://www.delorie.com/djgpp/doc/rbinter/it/52/13.html + // @see http://www.delorie.com/djgpp/doc/rbinter/it/65/16.html + // @see http://www.delorie.com/djgpp/doc/rbinter/it/66/16.html + + dosTime = o.date.getHours(); + dosTime = dosTime << 6; + dosTime = dosTime | o.date.getMinutes(); + dosTime = dosTime << 5; + dosTime = dosTime | o.date.getSeconds() / 2; + + dosDate = o.date.getFullYear() - 1980; + dosDate = dosDate << 4; + dosDate = dosDate | (o.date.getMonth() + 1); + dosDate = dosDate << 5; + dosDate = dosDate | o.date.getDate(); + + if (o.base64 === true) { + data = JSZipBase64.decode(data); + } + // decode UTF-8 strings if we are dealing with text data + if(o.binary === false) { + data = this.utf8encode(data); + } + + + var compression = JSZip.compressions[compressionType]; + var compressedData = compression.compress(data); + + var header = ""; + + // version needed to extract + header += "\x0A\x00"; + // general purpose bit flag + // set bit 11 if utf8 + header += useUTF8 ? "\x00\x08" : "\x00\x00"; + // compression method + header += compression.magic; + // last mod file time + header += decToHex(dosTime, 2); + // last mod file date + header += decToHex(dosDate, 2); + // crc-32 + header += decToHex(this.crc32(data), 4); + // compressed size + header += decToHex(compressedData.length, 4); + // uncompressed size + header += decToHex(data.length, 4); + // file name length + header += decToHex(utfEncodedFileName.length, 2); + // extra field length + header += "\x00\x00"; + + return { + header:header, + compressedData:compressedData + }; + }; + + + // return the actual prototype of JSZip + return { + /** + * Read an existing zip and merge the data in the current JSZip object. + * The implementation is in jszip-load.js, don't forget to include it. + * @param {string} stream The stream to load + * @param {Object} options Options for loading the stream. + * options.base64 : is the stream in base64 ? default : false + * @return {JSZip} the current JSZip object + */ + load : function (stream, options) + { + throw new Error("Load method is not defined. Is the file jszip-load.js included ?"); + }, + + /** + * Filter nested files/folders with the specified function. + * @param {Function} search the predicate to use : + * function (relativePath, file) {...} + * It takes 2 arguments : the relative path and the file. + * @return {Array} An array of matching elements. + */ + filter : function (search) + { + var result = [], filename, relativePath, file, fileClone; + for (filename in this.files) + { + file = this.files[filename]; + // return a new object, don't let the user mess with our internal objects :) + fileClone = new ZipObject(file.name, file.data, extend(file.options)); + relativePath = filename.slice(this.root.length, filename.length); + if (filename.slice(0, this.root.length) === this.root && // the file is in the current root + search(relativePath, fileClone)) // and the file matches the function + { + result.push(fileClone); + } + } + return result; + }, + + /** + * Add a file to the zip file, or search a file. + * @param {string|RegExp} name The name of the file to add (if data is defined), + * the name of the file to find (if no data) or a regex to match files. + * @param {string} data The file data, either raw or base64 encoded + * @param {Object} o File options + * @return {JSZip|Object|Array} this JSZip object (when adding a file), + * a file (when searching by string) or an array of files (when searching by regex). + */ + file : function(name, data, o) + { + if (arguments.length === 1) + { + if (name instanceof RegExp) + { + var regexp = name; + return this.filter(function(relativePath, file) { + return !file.options.dir && regexp.test(relativePath); + }); + } + else // text + { + return this.filter(function (relativePath, file) { + return !file.options.dir && relativePath === name; + })[0]||null; + } + } + else // more than one argument : we have data ! + { + name = this.root+name; + fileAdd.call(this, name, data, o); + } + return this; + }, + + /** + * Add a directory to the zip file, or search. + * @param {String|RegExp} arg The name of the directory to add, or a regex to search folders. + * @return {JSZip} an object with the new directory as the root, or an array containing matching folders. + */ + folder : function(arg) + { + if (!arg) + { + throw new Error("folder : wrong argument"); + } + + if (arg instanceof RegExp) + { + return this.filter(function(relativePath, file) { + return file.options.dir && arg.test(relativePath); + }); + } + + // else, name is a new folder + var name = this.root + arg; + var newFolder = folderAdd.call(this, name); + + // Allow chaining by returning a new object with this folder as the root + var ret = this.clone(); + ret.root = newFolder.name; + return ret; + }, + + /** + * Delete a file, or a directory and all sub-files, from the zip + * @param {string} name the name of the file to delete + * @return {JSZip} this JSZip object + */ + remove : function(name) + { + name = this.root + name; + var file = this.files[name]; + if (!file) + { + // Look for any folders + if (name.slice(-1) != "/") { + name += "/"; + } + file = this.files[name]; + } + + if (file) + { + if (!file.options.dir) + { + // file + delete this.files[name]; + } + else + { + // folder + var kids = this.filter(function (relativePath, file) { + return file.name.slice(0, name.length) === name; + }); + for (var i = 0; i < kids.length; i++) + { + delete this.files[kids[i].name]; + } + } + } + + return this; + }, + + /** + * Generate the complete zip file + * @param {Object} options the options to generate the zip file : + * - base64, true to generate base64. + * - compression, "STORE" by default. + * @return {string} the zip file + */ + generate : function(options) + { + options = extend(options || {}, { + base64 : true, + compression : "STORE" + }); + var compression = options.compression.toUpperCase(); + + // The central directory, and files data + var directory = [], files = [], fileOffset = 0; + + if (!JSZip.compressions[compression]) { + throw compression + " is not a valid compression method !"; + } + + for (var name in this.files) + { + if( !this.files.hasOwnProperty(name) ) { continue; } + + var file = this.files[name]; + + var utfEncodedFileName = this.utf8encode(file.name); + + var fileRecord = "", + dirRecord = "", + data = prepareLocalHeaderData.call(this, file, utfEncodedFileName, compression); + fileRecord = JSZip.signature.LOCAL_FILE_HEADER + data.header + utfEncodedFileName + data.compressedData; + + dirRecord = JSZip.signature.CENTRAL_FILE_HEADER + + // version made by (00: DOS) + "\x14\x00" + + // file header (common to file and central directory) + data.header + + // file comment length + "\x00\x00" + + // disk number start + "\x00\x00" + + // internal file attributes TODO + "\x00\x00" + + // external file attributes + (this.files[name].dir===true?"\x10\x00\x00\x00":"\x00\x00\x00\x00")+ + // relative offset of local header + decToHex(fileOffset, 4) + + // file name + utfEncodedFileName; + + fileOffset += fileRecord.length; + + files.push(fileRecord); + directory.push(dirRecord); + } + + var fileData = files.join(""); + var dirData = directory.join(""); + + var dirEnd = ""; + + // end of central dir signature + dirEnd = JSZip.signature.CENTRAL_DIRECTORY_END + + // number of this disk + "\x00\x00" + + // number of the disk with the start of the central directory + "\x00\x00" + + // total number of entries in the central directory on this disk + decToHex(files.length, 2) + + // total number of entries in the central directory + decToHex(files.length, 2) + + // size of the central directory 4 bytes + decToHex(dirData.length, 4) + + // offset of start of central directory with respect to the starting disk number + decToHex(fileData.length, 4) + + // .ZIP file comment length + "\x00\x00"; + + var zip = fileData + dirData + dirEnd; + return (options.base64) ? JSZipBase64.encode(zip) : zip; + }, + + /** + * + * Javascript crc32 + * http://www.webtoolkit.info/ + * + */ + crc32 : function(str, crc) + { + + if (str === "" || typeof str === "undefined") { + return 0; + } + + var table = "00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D"; + + if (typeof(crc) == "undefined") { crc = 0; } + var x = 0; + var y = 0; + + crc = crc ^ (-1); + for( var i = 0, iTop = str.length; i < iTop; i++ ) { + y = ( crc ^ str.charCodeAt( i ) ) & 0xFF; + x = "0x" + table.substr( y * 9, 8 ); + crc = ( crc >>> 8 ) ^ x; + } + + return crc ^ (-1); + + }, + + // Inspired by http://my.opera.com/GreyWyvern/blog/show.dml/1725165 + clone : function() + { + var newObj = new JSZip(); + for (var i in this) + { + if (typeof this[i] !== "function") + { + newObj[i] = this[i]; + } + } + return newObj; + }, + + + /** + * http://www.webtoolkit.info/javascript-utf8.html + */ + utf8encode : function (string) { + string = string.replace(/\r\n/g,"\n"); + var utftext = ""; + + for (var n = 0; n < string.length; n++) { + + var c = string.charCodeAt(n); + + if (c < 128) { + utftext += String.fromCharCode(c); + } + else if((c > 127) && (c < 2048)) { + utftext += String.fromCharCode((c >> 6) | 192); + utftext += String.fromCharCode((c & 63) | 128); + } + else { + utftext += String.fromCharCode((c >> 12) | 224); + utftext += String.fromCharCode(((c >> 6) & 63) | 128); + utftext += String.fromCharCode((c & 63) | 128); + } + + } + + return utftext; + }, + + /** + * http://www.webtoolkit.info/javascript-utf8.html + */ + utf8decode : function (utftext) { + var string = ""; + var i = 0; + var c = 0, c1 = 0, c2 = 0, c3 = 0; + + while ( i < utftext.length ) { + + c = utftext.charCodeAt(i); + + if (c < 128) { + string += String.fromCharCode(c); + i++; + } + else if((c > 191) && (c < 224)) { + c2 = utftext.charCodeAt(i+1); + string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); + i += 2; + } + else { + c2 = utftext.charCodeAt(i+1); + c3 = utftext.charCodeAt(i+2); + string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); + i += 3; + } + + } + + return string; + } + }; +}()); + +/* + * Compression methods + * This object is filled in as follow : + * name : { + * magic // the 2 bytes indentifying the compression method + * compress // function, take the uncompressed content and return it compressed. + * uncompress // function, take the compressed content and return it uncompressed. + * } + * + * STORE is the default compression method, so it's included in this file. + * Other methods should go to separated files : the user wants modularity. + */ +JSZip.compressions = { + "STORE" : { + magic : "\x00\x00", + compress : function (content) + { + return content; // no compression + }, + uncompress : function (content) + { + return content; // no compression + } + } +}; + +/** + * + * Base64 encode / decode + * http://www.webtoolkit.info/ + * + * Hacked so that it doesn't utf8 en/decode everything + **/ +var JSZipBase64 = (function() { + // private property + var _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + + return { + // public method for encoding + encode : function(input, utf8) { + var output = ""; + var chr1, chr2, chr3, enc1, enc2, enc3, enc4; + var i = 0; + + while (i < input.length) { + + chr1 = input.charCodeAt(i++); + chr2 = input.charCodeAt(i++); + chr3 = input.charCodeAt(i++); + + enc1 = chr1 >> 2; + enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); + enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); + enc4 = chr3 & 63; + + if (isNaN(chr2)) { + enc3 = enc4 = 64; + } else if (isNaN(chr3)) { + enc4 = 64; + } + + output = output + + _keyStr.charAt(enc1) + _keyStr.charAt(enc2) + + _keyStr.charAt(enc3) + _keyStr.charAt(enc4); + + } + + return output; + }, + + // public method for decoding + decode : function(input, utf8) { + var output = ""; + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0; + + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); + + while (i < input.length) { + + enc1 = _keyStr.indexOf(input.charAt(i++)); + enc2 = _keyStr.indexOf(input.charAt(i++)); + enc3 = _keyStr.indexOf(input.charAt(i++)); + enc4 = _keyStr.indexOf(input.charAt(i++)); + + chr1 = (enc1 << 2) | (enc2 >> 4); + chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); + chr3 = ((enc3 & 3) << 6) | enc4; + + output = output + String.fromCharCode(chr1); + + if (enc3 != 64) { + output = output + String.fromCharCode(chr2); + } + if (enc4 != 64) { + output = output + String.fromCharCode(chr3); + } + + } + + return output; + + } + }; +}()); + +// enforcing Stuk's coding style +// vim: set shiftwidth=3 softtabstop=3: diff --git a/sfdx-project/force-app/main/default/tabs/MetadataBrowser.tab-meta.xml b/sfdx-project/force-app/main/default/tabs/MetadataBrowser.tab-meta.xml new file mode 100644 index 0000000..af750d9 --- /dev/null +++ b/sfdx-project/force-app/main/default/tabs/MetadataBrowser.tab-meta.xml @@ -0,0 +1,6 @@ + + + + Custom67: Gears + metadatabrowser + diff --git a/sfdx-project/force-app/main/default/tabs/MetadataDeployDemo.tab-meta.xml b/sfdx-project/force-app/main/default/tabs/MetadataDeployDemo.tab-meta.xml new file mode 100644 index 0000000..72c35e5 --- /dev/null +++ b/sfdx-project/force-app/main/default/tabs/MetadataDeployDemo.tab-meta.xml @@ -0,0 +1,6 @@ + + + + Custom67: Gears + metadatadeploy + diff --git a/sfdx-project/force-app/main/default/tabs/MetadataRetrieveDemo.tab-meta.xml b/sfdx-project/force-app/main/default/tabs/MetadataRetrieveDemo.tab-meta.xml new file mode 100644 index 0000000..33a6464 --- /dev/null +++ b/sfdx-project/force-app/main/default/tabs/MetadataRetrieveDemo.tab-meta.xml @@ -0,0 +1,6 @@ + + + + Custom67: Gears + metadataretrieve + diff --git a/sfdx-project/force-app/main/default/tabs/Metadata_Browser_LWC.tab-meta.xml b/sfdx-project/force-app/main/default/tabs/Metadata_Browser_LWC.tab-meta.xml new file mode 100644 index 0000000..4915599 --- /dev/null +++ b/sfdx-project/force-app/main/default/tabs/Metadata_Browser_LWC.tab-meta.xml @@ -0,0 +1,6 @@ + + + + metadataBrowser + Custom9: Lightning + diff --git a/sfdx-project/jest.config.js b/sfdx-project/jest.config.js new file mode 100644 index 0000000..f5a9fed --- /dev/null +++ b/sfdx-project/jest.config.js @@ -0,0 +1,6 @@ +const { jestConfig } = require('@salesforce/sfdx-lwc-jest/config'); + +module.exports = { + ...jestConfig, + modulePathIgnorePatterns: ['/.localdevserver'] +}; diff --git a/sfdx-project/manifest/tempDev.xml b/sfdx-project/manifest/tempDev.xml new file mode 100644 index 0000000..7fb1c68 --- /dev/null +++ b/sfdx-project/manifest/tempDev.xml @@ -0,0 +1,20 @@ + + + + Metadata_API + CustomApplication + + + Metadata_Browser_LWC + CustomTab + + + 58.0 + \ No newline at end of file diff --git a/sfdx-project/package.json b/sfdx-project/package.json new file mode 100644 index 0000000..c42692b --- /dev/null +++ b/sfdx-project/package.json @@ -0,0 +1,41 @@ +{ + "name": "apex-mdapi", + "private": true, + "version": "1.0.0", + "description": "Certinia Apex Wrapper Salesforce Metadata API", + "scripts": { + "lint": "eslint **/{aura,lwc}/**", + "test": "npm run test:unit", + "test:unit": "sfdx-lwc-jest", + "test:unit:watch": "sfdx-lwc-jest --watch", + "test:unit:debug": "sfdx-lwc-jest --debug", + "test:unit:coverage": "sfdx-lwc-jest --coverage", + "prettier": "prettier --write \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"", + "prettier:verify": "prettier --list-different \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"", + "postinstall": "husky install", + "precommit": "lint-staged" + }, + "devDependencies": { + "@lwc/eslint-plugin-lwc": "^1.1.2", + "@prettier/plugin-xml": "^2.0.1", + "@salesforce/eslint-config-lwc": "^3.2.3", + "@salesforce/eslint-plugin-aura": "^2.0.0", + "@salesforce/eslint-plugin-lightning": "^1.0.0", + "@salesforce/sfdx-lwc-jest": "^1.1.0", + "eslint": "^8.11.0", + "eslint-plugin-import": "^2.25.4", + "eslint-plugin-jest": "^26.1.2", + "husky": "^7.0.4", + "lint-staged": "^12.3.7", + "prettier": "^2.6.0", + "prettier-plugin-apex": "^1.10.0" + }, + "lint-staged": { + "**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}": [ + "prettier --write" + ], + "**/{aura,lwc}/**": [ + "eslint" + ] + } +} diff --git a/sfdx-project/pepdevhub.sfdxurl b/sfdx-project/pepdevhub.sfdxurl new file mode 100644 index 0000000..6175eb4 --- /dev/null +++ b/sfdx-project/pepdevhub.sfdxurl @@ -0,0 +1 @@ +force://PlatformCLI::5Aep861j70kdjF1ZXOLl9fO4vy6SLQxZFJ8vLoAZzEw3imWxJuS5hLCxobG.0ucIx_saTegcRgztegZPboehqQ1@d1u000000rjyquaa-dev-ed.my.salesforce.com diff --git a/sfdx-project/sfdx-project.json b/sfdx-project/sfdx-project.json new file mode 100644 index 0000000..2a3e98f --- /dev/null +++ b/sfdx-project/sfdx-project.json @@ -0,0 +1,12 @@ +{ + "packageDirectories": [ + { + "path": "force-app", + "default": true + } + ], + "name": "apex-mdapi", + "namespace": "", + "sfdcLoginUrl": "https://login.salesforce.com", + "sourceApiVersion": "59.0" +} From 3b983139ac7b2bd0aae2a8e65fb0bc3a15cd69be Mon Sep 17 00:00:00 2001 From: Nate Pepper Date: Sat, 28 Oct 2023 19:09:35 -0700 Subject: [PATCH 2/5] Adding permission set updates --- .../Apex_Metadata_API.permissionset-meta.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sfdx-project/force-app/main/default/permissionsets/Apex_Metadata_API.permissionset-meta.xml b/sfdx-project/force-app/main/default/permissionsets/Apex_Metadata_API.permissionset-meta.xml index 6dce44f..f4a5adb 100644 --- a/sfdx-project/force-app/main/default/permissionsets/Apex_Metadata_API.permissionset-meta.xml +++ b/sfdx-project/force-app/main/default/permissionsets/Apex_Metadata_API.permissionset-meta.xml @@ -1,5 +1,9 @@ + + Metadata_API + true + MetadataDataController true @@ -62,4 +66,8 @@ MetadataRetrieveDemo Visible + + Metadata_Browser_LWC + Visible + From 51da0a2eccc4e9ce98ab21cfa131a939614f9296 Mon Sep 17 00:00:00 2001 From: Nate Pepper Date: Sat, 28 Oct 2023 19:09:48 -0700 Subject: [PATCH 3/5] Adding scratch setup script --- sfdx-project/scripts/shell/scratch-setup.sh | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 sfdx-project/scripts/shell/scratch-setup.sh diff --git a/sfdx-project/scripts/shell/scratch-setup.sh b/sfdx-project/scripts/shell/scratch-setup.sh new file mode 100644 index 0000000..08fa41e --- /dev/null +++ b/sfdx-project/scripts/shell/scratch-setup.sh @@ -0,0 +1,4 @@ +sf org create scratch -d -f config/project-scratch-def.json -a apex-mdapi +sf project deploy start -o apex-mdapi -d force-app +sf org assign permset --name Apex_Metadata_API --target-org apex-mdapi +sf org open -p /lightning/n/Metadata_Browser_LWC \ No newline at end of file From 3bfec583b43c7bce0ac0cf64afbd22b6adbe922a Mon Sep 17 00:00:00 2001 From: Nate Pepper Date: Sat, 28 Oct 2023 23:29:10 -0700 Subject: [PATCH 4/5] Byyeeeee utility bar! --- .../main/default/applications/Metadata_API.app-meta.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/sfdx-project/force-app/main/default/applications/Metadata_API.app-meta.xml b/sfdx-project/force-app/main/default/applications/Metadata_API.app-meta.xml index 1c793ea..5b464f6 100644 --- a/sfdx-project/force-app/main/default/applications/Metadata_API.app-meta.xml +++ b/sfdx-project/force-app/main/default/applications/Metadata_API.app-meta.xml @@ -17,5 +17,4 @@ MetadataRetrieveDemo Metadata_Browser_LWC Lightning - Metadata_API_UtilityBar From 33c9afc60edef386cd45f5d6cee78e70e2813de4 Mon Sep 17 00:00:00 2001 From: Nate Pepper Date: Sun, 29 Oct 2023 13:37:17 -0700 Subject: [PATCH 5/5] Working, but does not expand on first click --- .../lwc/metadataBrowser/metadataBrowser.js | 48 ++++++++++++++----- 1 file changed, 36 insertions(+), 12 deletions(-) diff --git a/sfdx-project/force-app/main/default/lwc/metadataBrowser/metadataBrowser.js b/sfdx-project/force-app/main/default/lwc/metadataBrowser/metadataBrowser.js index 13647d5..2a76b93 100644 --- a/sfdx-project/force-app/main/default/lwc/metadataBrowser/metadataBrowser.js +++ b/sfdx-project/force-app/main/default/lwc/metadataBrowser/metadataBrowser.js @@ -55,7 +55,12 @@ export default class MetadataBrowser extends LightningElement { } handleToggle(event) { - console.log(JSON.stringify(event.detail, null, 4)); + console.log(`event.detail: ${JSON.stringify(event.detail, null, 4)}`); + const mdType = event.detail.name; + const treeGrid = this.template.querySelector('lightning-tree-grid'); + const currentExpandedRows = treeGrid.getCurrentExpandedRows(); + console.log(`currentExpandedRows: ${JSON.stringify(currentExpandedRows, null, 4)}`); + // event.detail: // { // "name": "ApexClass", @@ -69,31 +74,50 @@ export default class MetadataBrowser extends LightningElement { // } if(!event.detail.row.hasCalledApi) { console.log(`I haven't called the Metadata API yet for this metadataType, I'm doin' it!!`); - const mdType = event.detail.name; console.log(`mdType: ${mdType}`); retrieveListMetadata({ metadataTypeName: mdType }) .then(result => { const listMetaResult = JSON.parse(result); console.log(`List Metadata Result: ${JSON.stringify(listMetaResult, null, 4)}`); // Find gridData node, set hasCalledApi to true, and populate it with children - const idxCurrentNode = this.gridData.findIndex(node => node.name === mdType); + const idxCurrentNode = this.gridData.findIndex(node => { + // console.log(`node: ${JSON.stringify(node, null, 4)}`); + return node.metadataType === mdType; + }); + console.log(`idxCurrentNode: ${idxCurrentNode}`); const updatedNode = { ...this.gridData[idxCurrentNode] }; updatedNode.hasCalledApi = true; - console.log(`updatedNode: ${JSON.stringify(updatedNode, null, 4)}`); - const childrenArray = listMetaResult.map(result => result.fullName); + const childrenArray = listMetaResult.map(result => { + return { + metadataType: result.fullName, + hasCalledApi: true, + inFolder: false + }; + }); + console.log(`childrenArray: ${JSON.stringify(childrenArray, null, 4)}`); updatedNode._children = childrenArray; - this.gridData[idxCurrentNode] = updatedNode; + const updatedGridData = [...this.gridData]; + console.log(`updatedNode: ${JSON.stringify(updatedNode, null, 4)}`); + updatedGridData[idxCurrentNode] = updatedNode; + console.log(`updatedGridData[idxCurrentNode]: ${JSON.stringify(updatedGridData[idxCurrentNode], null, 4)}`); + this.gridData = [...updatedGridData]; + + const setCurrentExpandedRows = new Set(currentExpandedRows); + if(setCurrentExpandedRows.has(mdType)) { + // If toggled node was already in expanded rows, remove + setCurrentExpandedRows.delete(mdType); + } else { + // If toggled node was not already in expanded rows, add + setCurrentExpandedRows.add(mdType); + } + this.expandedRows = Array.from(setCurrentExpandedRows); }) .catch(error => { console.error(`List Metadata Error: ${JSON.stringify(error, null, 4)}`); }); } - if(!event.detail.isExpanded) { - const idxCurrentNode = this.gridData.findIndex(node => node.name === event.detail.name); - const updatedNode = { ...this.gridData[idxCurrentNode] }; - updatedNode.isExpanded = true; - this.gridData[idxCurrentNode] = updatedNode; - } + + } handleRowSelection(event) {